From dc46ab2b4905147cd7f97b1c1021896140e3cb8d Mon Sep 17 00:00:00 2001 From: David Brazda Date: Fri, 17 May 2024 14:04:48 +0200 Subject: [PATCH] vectorized aggregator, minor changes --- research/basic.ipynb | 41438 +--------------- research/indcross_parametrized.ipynb | 1526 + research/loading_trades_aggregation.ipynb | 316 + research/rsi_alpaca.ipynb | 26673 ++++++++++ research/strat1/strat1_v1_MULTI.ipynb | 1639 + research/strat1/strat1_v1_SINGLE.ipynb | 1526 + research/test1sbars.ipynb | 421 + research/test1sbars_roc.ipynb | 1639 + research/vectorized_loader.ipynb | 620 - v2realbot/enums/enums.py | 5 + v2realbot/loader/agg_vect.ipynb | 1411 + v2realbot/loader/aggregator_vectorized.py | 563 +- v2realbot/static/index.html | 2 +- ...tweight-charts.standalone.production413.js | 7 + v2realbot/static/js/utils/utils.js | 3 +- v2realbot/tools/loadbatch.py | 14 +- v2realbot/utils/config_handler.py | 9 +- 17 files changed, 36066 insertions(+), 41746 deletions(-) create mode 100644 research/indcross_parametrized.ipynb create mode 100644 research/loading_trades_aggregation.ipynb create mode 100644 research/rsi_alpaca.ipynb create mode 100644 research/strat1/strat1_v1_MULTI.ipynb create mode 100644 research/strat1/strat1_v1_SINGLE.ipynb create mode 100644 research/test1sbars.ipynb create mode 100644 research/test1sbars_roc.ipynb delete mode 100644 research/vectorized_loader.ipynb create mode 100644 v2realbot/loader/agg_vect.ipynb create mode 100644 v2realbot/static/js/libs/lightweightcharts/lightweight-charts.standalone.production413.js diff --git a/research/basic.ipynb b/research/basic.ipynb index d0006de..bc03b18 100644 --- a/research/basic.ipynb +++ b/research/basic.ipynb @@ -2,133 +2,12 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 45, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
Activating profile profile1\n",
-       "
\n" - ], - "text/plain": [ - "Activating profile profile1\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Profile profile1 loaded successfully.\n",
-       "
\n" - ], - "text/plain": [ - "Profile profile1 loaded successfully.\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Current values:\n",
-       "{\n",
-       "    'AGG_EXCLUDED_TRADES': ['C', 'O', '4', 'B', '7', 'V', 'P', 'W', 'U', 'Z', 'F'],\n",
-       "    'BT_DELAYS': {\n",
-       "        'trigger_to_strat': 0.02,\n",
-       "        'strat_to_sub': 0.023,\n",
-       "        'sub_to_fill': 0.008,\n",
-       "        'fill_to_not': 0.023,\n",
-       "        'limit_order_offset': 0\n",
-       "    },\n",
-       "    'BT_FILL_CONDITION_BUY_LIMIT': <FillCondition.SLOW: 'slow'>,\n",
-       "    'BT_FILL_CONDITION_SELL_LIMIT': <FillCondition.SLOW: 'slow'>,\n",
-       "    'BT_FILL_CONS_TRADES_REQUIRED': 2,\n",
-       "    'BT_FILL_LOG_SURROUNDING_TRADES': 10,\n",
-       "    'BT_FILL_PRICE_MARKET_ORDER_PREMIUM': 0.005,\n",
-       "    'COUNT_API_REQUESTS': False,\n",
-       "    'GROUP_TRADES_WITH_TIMESTAMP_LESS_THAN': 0.003,\n",
-       "    'ILOG_SAVE_LEVEL_FROM': 1,\n",
-       "    'LIVE_DATA_FEED': 'sip',\n",
-       "    'NORMALIZED_TICK_BASE_PRICE': 30.0,\n",
-       "    'OFFLINE_MODE': False,\n",
-       "    'PROD_SERVER_HOSTNAMES': ['tradingeastcoast', 'David-MacBook-Pro.local'],\n",
-       "    'QUIET_MODE': True,\n",
-       "    'TEST_SERVER_HOSTNAMES': ['tradingtest']\n",
-       "}\n",
-       "
\n" - ], - "text/plain": [ - "Current values:\n", - "\u001b[1m{\u001b[0m\n", - " \u001b[32m'AGG_EXCLUDED_TRADES'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'C'\u001b[0m, \u001b[32m'O'\u001b[0m, \u001b[32m'4'\u001b[0m, \u001b[32m'B'\u001b[0m, \u001b[32m'7'\u001b[0m, \u001b[32m'V'\u001b[0m, \u001b[32m'P'\u001b[0m, \u001b[32m'W'\u001b[0m, \u001b[32m'U'\u001b[0m, \u001b[32m'Z'\u001b[0m, \u001b[32m'F'\u001b[0m\u001b[1m]\u001b[0m,\n", - " \u001b[32m'BT_DELAYS'\u001b[0m: \u001b[1m{\u001b[0m\n", - " \u001b[32m'trigger_to_strat'\u001b[0m: \u001b[1;36m0.02\u001b[0m,\n", - " \u001b[32m'strat_to_sub'\u001b[0m: \u001b[1;36m0.023\u001b[0m,\n", - " \u001b[32m'sub_to_fill'\u001b[0m: \u001b[1;36m0.008\u001b[0m,\n", - " \u001b[32m'fill_to_not'\u001b[0m: \u001b[1;36m0.023\u001b[0m,\n", - " \u001b[32m'limit_order_offset'\u001b[0m: \u001b[1;36m0\u001b[0m\n", - " \u001b[1m}\u001b[0m,\n", - " \u001b[32m'BT_FILL_CONDITION_BUY_LIMIT'\u001b[0m: \u001b[1m<\u001b[0m\u001b[1;95mFillCondition.SLOW:\u001b[0m\u001b[39m \u001b[0m\u001b[32m'slow'\u001b[0m\u001b[39m>,\u001b[0m\n", - "\u001b[39m \u001b[0m\u001b[32m'BT_FILL_CONDITION_SELL_LIMIT'\u001b[0m\u001b[39m: \u001b[0m,\n", - " \u001b[32m'BT_FILL_CONS_TRADES_REQUIRED'\u001b[0m: \u001b[1;36m2\u001b[0m,\n", - " \u001b[32m'BT_FILL_LOG_SURROUNDING_TRADES'\u001b[0m: \u001b[1;36m10\u001b[0m,\n", - " \u001b[32m'BT_FILL_PRICE_MARKET_ORDER_PREMIUM'\u001b[0m: \u001b[1;36m0.005\u001b[0m,\n", - " \u001b[32m'COUNT_API_REQUESTS'\u001b[0m: \u001b[3;91mFalse\u001b[0m,\n", - " \u001b[32m'GROUP_TRADES_WITH_TIMESTAMP_LESS_THAN'\u001b[0m: \u001b[1;36m0.003\u001b[0m,\n", - " \u001b[32m'ILOG_SAVE_LEVEL_FROM'\u001b[0m: \u001b[1;36m1\u001b[0m,\n", - " \u001b[32m'LIVE_DATA_FEED'\u001b[0m: \u001b[32m'sip'\u001b[0m,\n", - " \u001b[32m'NORMALIZED_TICK_BASE_PRICE'\u001b[0m: \u001b[1;36m30.0\u001b[0m,\n", - " \u001b[32m'OFFLINE_MODE'\u001b[0m: \u001b[3;91mFalse\u001b[0m,\n", - " \u001b[32m'PROD_SERVER_HOSTNAMES'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'tradingeastcoast'\u001b[0m, \u001b[32m'David-MacBook-Pro.local'\u001b[0m\u001b[1m]\u001b[0m,\n", - " \u001b[32m'QUIET_MODE'\u001b[0m: \u001b[3;92mTrue\u001b[0m,\n", - " \u001b[32m'TEST_SERVER_HOSTNAMES'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'tradingtest'\u001b[0m\u001b[1m]\u001b[0m\n", - "\u001b[1m}\u001b[0m\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
config_handler.active_profile='profile1'\n",
-       "
\n" - ], - "text/plain": [ - "config_handler.\u001b[33mactive_profile\u001b[0m=\u001b[32m'profile1'\u001b[0m\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
config handler initialized\n",
-       "
\n" - ], - "text/plain": [ - "config handler initialized\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Realtime Websocket connection will use FEED: sip and credential of ACCOUNT1\n" - ] - } - ], + "outputs": [], "source": [ "from v2realbot.tools.loadbatch import load_batch\n", - "from v2realbot.utils.utils import zoneNY\n", + "from v2realbot.utils.utils import zoneNY, DATA_DIR\n", "import pandas as pd\n", "import numpy as np\n", "import vectorbtpro as vbt\n", @@ -143,69 +22,36 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 46, + "metadata": {}, + "outputs": [], + "source": [ + "batch_id = \"e44a5075\"\n", + "# res, df = load_batch(batch_id=batch_id,\n", + "# space_resolution_evenly=False,\n", + "# indicators_columns=[\"Rsi14\"],\n", + "# main_session_only=True)\n", + "# if res < 0:\n", + "# print(\"Error\" + str(res) + str(df))\n", + "# df = df[\"bars\"]\n", + "# df.info()\n", + "# df.head()\n", + "# #df.ptable()\n", + "# df.to_pickle(DATA_DIR+\"/\"+f'{batch_id}.pickle')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## FILTERING" + ] + }, + { + "cell_type": "code", + "execution_count": 47, "metadata": {}, "outputs": [ - { - "data": { - "text/html": [ - "
Resolution : 23\n",
-       "
\n" - ], - "text/plain": [ - "Resolution : \u001b[1;36m23\u001b[0m\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
NOTE: DUPLICATES 100/3034 in bars. REMOVING.\n",
-       "
\n" - ], - "text/plain": [ - "NOTE: DUPLICATES \u001b[1;36m100\u001b[0m/\u001b[1;36m3034\u001b[0m in bars. REMOVING.\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Now there are 0/2934\n",
-       "
\n" - ], - "text/plain": [ - "Now there are \u001b[1;36m0\u001b[0m/\u001b[1;36m2934\u001b[0m\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "DatetimeIndex: 2934 entries, 2024-03-11 09:30:00-04:00 to 2024-03-13 15:59:51-04:00\n", - "Data columns (total 8 columns):\n", - " # Column Non-Null Count Dtype \n", - "--- ------ -------------- ----- \n", - " 0 Open 2934 non-null float64 \n", - " 1 High 2934 non-null float64 \n", - " 2 Low 2934 non-null float64 \n", - " 3 Close 2934 non-null float64 \n", - " 4 Volume 2934 non-null int64 \n", - " 5 Vwap 2934 non-null float64 \n", - " 6 updated 2934 non-null datetime64[ns, US/Eastern]\n", - " 7 Rsi14 2934 non-null float64 \n", - "dtypes: datetime64[ns, US/Eastern](1), float64(6), int64(1)\n", - "memory usage: 270.8 KB\n" - ] - }, { "data": { "text/html": [ @@ -421,35386 +267,179 @@ "[2934 rows x 8 columns]" ] }, - "execution_count": 2, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "res, df = load_batch(batch_id=\"e44a5075\",\n", - " space_resolution_evenly=False,\n", - " indicators_columns=[\"Rsi14\"],\n", - " main_session_only=True)\n", - "if res < 0:\n", - " print(\"Error\" + str(res) + str(df))\n", - "df = df[\"bars\"]\n", - "df.info()\n", - "df.head()\n", - "#df.ptable()\n", + "df = pd.read_pickle(DATA_DIR+\"/\"+f'{batch_id}.pickle')\n", "df" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## FILTERING" - ] - }, { "cell_type": "code", - "execution_count": 209, + "execution_count": 48, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "DatetimeIndex: 1961 entries, 2024-03-12 09:30:00-04:00 to 2024-03-13 15:59:51-04:00\n", - "Data columns (total 8 columns):\n", - " # Column Non-Null Count Dtype \n", - "--- ------ -------------- ----- \n", - " 0 Open 1961 non-null float64 \n", - " 1 High 1961 non-null float64 \n", - " 2 Low 1961 non-null float64 \n", - " 3 Close 1961 non-null float64 \n", - " 4 Volume 1961 non-null int64 \n", - " 5 Vwap 1961 non-null float64 \n", - " 6 updated 1961 non-null datetime64[ns, US/Eastern]\n", - " 7 Rsi14 1961 non-null float64 \n", - "dtypes: datetime64[ns, US/Eastern](1), float64(6), int64(1)\n", - "memory usage: 137.9 KB\n", - "\n", - "DatetimeIndex: 1961 entries, 2024-03-12 09:30:00-04:00 to 2024-03-13 15:59:51-04:00\n", - "Data columns (total 8 columns):\n", - " # Column Non-Null Count Dtype \n", - "--- ------ -------------- ----- \n", - " 0 Open 1961 non-null float64 \n", - " 1 High 1961 non-null float64 \n", - " 2 Low 1961 non-null float64 \n", - " 3 Close 1961 non-null float64 \n", - " 4 Volume 1961 non-null int64 \n", - " 5 Vwap 1961 non-null float64 \n", - " 6 updated 1961 non-null datetime64[ns, US/Eastern]\n", - " 7 Rsi14 1961 non-null float64 \n", - "dtypes: datetime64[ns, US/Eastern](1), float64(6), int64(1)\n", - "memory usage: 137.9 KB\n", - "\n", - "DatetimeIndex: 100 entries, 2024-03-12 10:09:00-04:00 to 2024-03-12 10:47:24-04:00\n", - "Data columns (total 8 columns):\n", - " # Column Non-Null Count Dtype \n", - "--- ------ -------------- ----- \n", - " 0 Open 100 non-null float64 \n", - " 1 High 100 non-null float64 \n", - " 2 Low 100 non-null float64 \n", - " 3 Close 100 non-null float64 \n", - " 4 Volume 100 non-null int64 \n", - " 5 Vwap 100 non-null float64 \n", - " 6 updated 100 non-null datetime64[ns, US/Eastern]\n", - " 7 Rsi14 100 non-null float64 \n", - "dtypes: datetime64[ns, US/Eastern](1), float64(6), int64(1)\n", - "memory usage: 7.0 KB\n", - "\n", - "DatetimeIndex: 100 entries, 2024-03-12 10:09:00-04:00 to 2024-03-12 10:47:24-04:00\n", - "Data columns (total 2 columns):\n", - " # Column Non-Null Count Dtype \n", - "--- ------ -------------- ----- \n", - " 0 Open 100 non-null float64\n", - " 1 High 100 non-null float64\n", - "dtypes: float64(2)\n", - "memory usage: 2.3 KB\n" - ] - }, - { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "name": "Rsi14", - "showlegend": true, - "type": "scatter", - "uid": "efdece63-8464-407b-87a7-6ee41d71a834", - "x": [ - "2024-03-12T09:30:00-04:00", - "2024-03-12T09:30:23-04:00", - "2024-03-12T09:30:47-04:00", - "2024-03-12T09:31:11-04:00", - "2024-03-12T09:31:34-04:00", - "2024-03-12T09:32:00-04:00", - "2024-03-12T09:32:23-04:00", - "2024-03-12T09:32:46-04:00", - "2024-03-12T09:33:09-04:00", - "2024-03-12T09:33:34-04:00", - "2024-03-12T09:33:58-04:00", - "2024-03-12T09:34:21-04:00", - "2024-03-12T09:34:45-04:00", - "2024-03-12T09:35:08-04:00", - "2024-03-12T09:35:31-04:00", - "2024-03-12T09:35:54-04:00", - "2024-03-12T09:36:18-04:00", - "2024-03-12T09:36:42-04:00", - "2024-03-12T09:37:06-04:00", - "2024-03-12T09:37:29-04:00", - "2024-03-12T09:37:52-04:00", - "2024-03-12T09:38:15-04:00", - "2024-03-12T09:38:38-04:00", - "2024-03-12T09:39:01-04:00", - "2024-03-12T09:39:24-04:00", - "2024-03-12T09:39:47-04:00", - "2024-03-12T09:40:10-04:00", - "2024-03-12T09:40:33-04:00", - "2024-03-12T09:40:56-04:00", - "2024-03-12T09:41:21-04:00", - "2024-03-12T09:41:45-04:00", - "2024-03-12T09:42:08-04:00", - "2024-03-12T09:42:31-04:00", - "2024-03-12T09:42:54-04:00", - "2024-03-12T09:43:18-04:00", - "2024-03-12T09:43:41-04:00", - "2024-03-12T09:44:04-04:00", - "2024-03-12T09:44:27-04:00", - "2024-03-12T09:44:52-04:00", - "2024-03-12T09:45:15-04:00", - "2024-03-12T09:45:38-04:00", - "2024-03-12T09:46:01-04:00", - "2024-03-12T09:46:24-04:00", - "2024-03-12T09:46:47-04:00", - "2024-03-12T09:47:10-04:00", - "2024-03-12T09:47:34-04:00", - "2024-03-12T09:47:58-04:00", - "2024-03-12T09:48:22-04:00", - "2024-03-12T09:48:45-04:00", - "2024-03-12T09:49:08-04:00", - "2024-03-12T09:49:32-04:00", - "2024-03-12T09:49:56-04:00", - "2024-03-12T09:50:19-04:00", - "2024-03-12T09:50:42-04:00", - "2024-03-12T09:51:05-04:00", - "2024-03-12T09:51:28-04:00", - "2024-03-12T09:51:53-04:00", - "2024-03-12T09:52:16-04:00", - "2024-03-12T09:52:40-04:00", - "2024-03-12T09:53:03-04:00", - "2024-03-12T09:53:26-04:00", - "2024-03-12T09:53:50-04:00", - "2024-03-12T09:54:13-04:00", - "2024-03-12T09:54:36-04:00", - "2024-03-12T09:54:59-04:00", - "2024-03-12T09:55:22-04:00", - "2024-03-12T09:55:46-04:00", - "2024-03-12T09:56:09-04:00", - "2024-03-12T09:56:33-04:00", - "2024-03-12T09:56:56-04:00", - "2024-03-12T09:57:19-04:00", - "2024-03-12T09:57:42-04:00", - "2024-03-12T09:58:06-04:00", - "2024-03-12T09:58:29-04:00", - "2024-03-12T09:58:52-04:00", - "2024-03-12T09:59:15-04:00", - "2024-03-12T09:59:39-04:00", - "2024-03-12T10:00:04-04:00", - "2024-03-12T10:00:27-04:00", - "2024-03-12T10:00:51-04:00", - "2024-03-12T10:01:14-04:00", - "2024-03-12T10:01:37-04:00", - "2024-03-12T10:02:00-04:00", - "2024-03-12T10:02:24-04:00", - "2024-03-12T10:02:47-04:00", - "2024-03-12T10:03:10-04:00", - "2024-03-12T10:03:33-04:00", - "2024-03-12T10:03:57-04:00", - "2024-03-12T10:04:20-04:00", - "2024-03-12T10:04:45-04:00", - "2024-03-12T10:05:09-04:00", - "2024-03-12T10:05:33-04:00", - "2024-03-12T10:05:56-04:00", - "2024-03-12T10:06:19-04:00", - "2024-03-12T10:06:42-04:00", - "2024-03-12T10:07:05-04:00", - "2024-03-12T10:07:28-04:00", - "2024-03-12T10:07:51-04:00", - "2024-03-12T10:08:14-04:00", - "2024-03-12T10:08:37-04:00", - "2024-03-12T10:09:00-04:00", - "2024-03-12T10:09:23-04:00", - "2024-03-12T10:09:48-04:00", - "2024-03-12T10:10:11-04:00", - "2024-03-12T10:10:34-04:00", - "2024-03-12T10:10:59-04:00", - "2024-03-12T10:11:22-04:00", - "2024-03-12T10:11:45-04:00", - "2024-03-12T10:12:08-04:00", - "2024-03-12T10:12:31-04:00", - "2024-03-12T10:12:54-04:00", - "2024-03-12T10:13:17-04:00", - "2024-03-12T10:13:40-04:00", - "2024-03-12T10:14:03-04:00", - "2024-03-12T10:14:27-04:00", - "2024-03-12T10:14:50-04:00", - "2024-03-12T10:15:13-04:00", - "2024-03-12T10:15:36-04:00", - "2024-03-12T10:15:59-04:00", - "2024-03-12T10:16:22-04:00", - "2024-03-12T10:16:45-04:00", - "2024-03-12T10:17:08-04:00", - "2024-03-12T10:17:31-04:00", - "2024-03-12T10:17:54-04:00", - "2024-03-12T10:18:17-04:00", - "2024-03-12T10:18:43-04:00", - "2024-03-12T10:19:06-04:00", - "2024-03-12T10:19:29-04:00", - "2024-03-12T10:19:54-04:00", - "2024-03-12T10:20:17-04:00", - "2024-03-12T10:20:40-04:00", - "2024-03-12T10:21:03-04:00", - "2024-03-12T10:21:26-04:00", - "2024-03-12T10:21:49-04:00", - "2024-03-12T10:22:12-04:00", - "2024-03-12T10:22:35-04:00", - "2024-03-12T10:22:58-04:00", - "2024-03-12T10:23:21-04:00", - "2024-03-12T10:23:44-04:00", - "2024-03-12T10:24:07-04:00", - "2024-03-12T10:24:30-04:00", - "2024-03-12T10:24:53-04:00", - "2024-03-12T10:25:17-04:00", - "2024-03-12T10:25:40-04:00", - "2024-03-12T10:26:04-04:00", - "2024-03-12T10:26:27-04:00", - "2024-03-12T10:26:50-04:00", - "2024-03-12T10:27:13-04:00", - "2024-03-12T10:27:36-04:00", - "2024-03-12T10:27:59-04:00", - "2024-03-12T10:28:22-04:00", - "2024-03-12T10:28:45-04:00", - "2024-03-12T10:29:09-04:00", - "2024-03-12T10:29:32-04:00", - "2024-03-12T10:29:55-04:00", - "2024-03-12T10:30:18-04:00", - "2024-03-12T10:30:41-04:00", - "2024-03-12T10:31:04-04:00", - "2024-03-12T10:31:27-04:00", - "2024-03-12T10:31:51-04:00", - "2024-03-12T10:32:14-04:00", - "2024-03-12T10:32:37-04:00", - "2024-03-12T10:33:01-04:00", - "2024-03-12T10:33:24-04:00", - "2024-03-12T10:33:47-04:00", - "2024-03-12T10:34:10-04:00", - "2024-03-12T10:34:33-04:00", - "2024-03-12T10:34:56-04:00", - "2024-03-12T10:35:19-04:00", - "2024-03-12T10:35:44-04:00", - "2024-03-12T10:36:07-04:00", - "2024-03-12T10:36:30-04:00", - "2024-03-12T10:36:53-04:00", - "2024-03-12T10:37:16-04:00", - "2024-03-12T10:37:39-04:00", - "2024-03-12T10:38:02-04:00", - "2024-03-12T10:38:25-04:00", - "2024-03-12T10:38:48-04:00", - "2024-03-12T10:39:11-04:00", - "2024-03-12T10:39:35-04:00", - "2024-03-12T10:39:58-04:00", - "2024-03-12T10:40:21-04:00", - "2024-03-12T10:40:44-04:00", - "2024-03-12T10:41:08-04:00", - "2024-03-12T10:41:32-04:00", - "2024-03-12T10:41:55-04:00", - "2024-03-12T10:42:18-04:00", - "2024-03-12T10:42:41-04:00", - "2024-03-12T10:43:05-04:00", - "2024-03-12T10:43:28-04:00", - "2024-03-12T10:43:53-04:00", - "2024-03-12T10:44:18-04:00", - "2024-03-12T10:44:41-04:00", - "2024-03-12T10:45:04-04:00", - "2024-03-12T10:45:27-04:00", - "2024-03-12T10:45:50-04:00", - "2024-03-12T10:46:13-04:00", - "2024-03-12T10:46:37-04:00", - "2024-03-12T10:47:01-04:00", - "2024-03-12T10:47:24-04:00", - "2024-03-12T10:47:49-04:00", - "2024-03-12T10:48:12-04:00", - "2024-03-12T10:48:35-04:00", - "2024-03-12T10:49:00-04:00", - "2024-03-12T10:49:27-04:00", - "2024-03-12T10:49:52-04:00", - "2024-03-12T10:50:18-04:00", - "2024-03-12T10:50:41-04:00", - "2024-03-12T10:51:06-04:00", - "2024-03-12T10:51:30-04:00", - "2024-03-12T10:51:53-04:00", - "2024-03-12T10:52:21-04:00", - "2024-03-12T10:52:44-04:00", - "2024-03-12T10:53:10-04:00", - "2024-03-12T10:53:36-04:00", - "2024-03-12T10:54:00-04:00", - "2024-03-12T10:54:24-04:00", - "2024-03-12T10:54:48-04:00", - "2024-03-12T10:55:12-04:00", - "2024-03-12T10:55:35-04:00", - "2024-03-12T10:55:58-04:00", - "2024-03-12T10:56:21-04:00", - "2024-03-12T10:56:46-04:00", - "2024-03-12T10:57:09-04:00", - "2024-03-12T10:57:33-04:00", - "2024-03-12T10:57:56-04:00", - "2024-03-12T10:58:19-04:00", - "2024-03-12T10:58:43-04:00", - "2024-03-12T10:59:06-04:00", - "2024-03-12T10:59:31-04:00", - "2024-03-12T10:59:54-04:00", - "2024-03-12T11:00:17-04:00", - "2024-03-12T11:00:40-04:00", - "2024-03-12T11:01:04-04:00", - "2024-03-12T11:01:28-04:00", - "2024-03-12T11:01:51-04:00", - "2024-03-12T11:02:14-04:00", - "2024-03-12T11:02:39-04:00", - "2024-03-12T11:03:03-04:00", - "2024-03-12T11:03:27-04:00", - "2024-03-12T11:03:50-04:00", - "2024-03-12T11:04:13-04:00", - "2024-03-12T11:04:37-04:00", - "2024-03-12T11:05:01-04:00", - "2024-03-12T11:05:24-04:00", - "2024-03-12T11:05:48-04:00", - "2024-03-12T11:06:11-04:00", - "2024-03-12T11:06:37-04:00", - "2024-03-12T11:07:00-04:00", - "2024-03-12T11:07:23-04:00", - "2024-03-12T11:07:46-04:00", - "2024-03-12T11:08:09-04:00", - "2024-03-12T11:08:32-04:00", - "2024-03-12T11:08:57-04:00", - "2024-03-12T11:09:21-04:00", - "2024-03-12T11:09:44-04:00", - "2024-03-12T11:10:09-04:00", - "2024-03-12T11:10:32-04:00", - "2024-03-12T11:10:55-04:00", - "2024-03-12T11:11:19-04:00", - "2024-03-12T11:11:50-04:00", - "2024-03-12T11:12:13-04:00", - "2024-03-12T11:12:36-04:00", - "2024-03-12T11:12:59-04:00", - "2024-03-12T11:13:24-04:00", - "2024-03-12T11:13:48-04:00", - "2024-03-12T11:14:11-04:00", - "2024-03-12T11:14:34-04:00", - "2024-03-12T11:14:57-04:00", - "2024-03-12T11:15:20-04:00", - "2024-03-12T11:15:43-04:00", - "2024-03-12T11:16:07-04:00", - "2024-03-12T11:16:31-04:00", - "2024-03-12T11:16:56-04:00", - "2024-03-12T11:17:21-04:00", - "2024-03-12T11:17:45-04:00", - "2024-03-12T11:18:08-04:00", - "2024-03-12T11:18:31-04:00", - "2024-03-12T11:18:56-04:00", - "2024-03-12T11:19:23-04:00", - "2024-03-12T11:19:46-04:00", - "2024-03-12T11:20:18-04:00", - "2024-03-12T11:20:41-04:00", - "2024-03-12T11:21:05-04:00", - "2024-03-12T11:21:29-04:00", - "2024-03-12T11:21:53-04:00", - "2024-03-12T11:22:19-04:00", - "2024-03-12T11:22:43-04:00", - "2024-03-12T11:23:06-04:00", - "2024-03-12T11:23:33-04:00", - "2024-03-12T11:23:56-04:00", - "2024-03-12T11:24:20-04:00", - "2024-03-12T11:24:45-04:00", - "2024-03-12T11:25:08-04:00", - "2024-03-12T11:25:32-04:00", - "2024-03-12T11:25:55-04:00", - "2024-03-12T11:26:18-04:00", - "2024-03-12T11:26:41-04:00", - "2024-03-12T11:27:11-04:00", - "2024-03-12T11:27:35-04:00", - "2024-03-12T11:27:58-04:00", - "2024-03-12T11:28:24-04:00", - "2024-03-12T11:28:49-04:00", - "2024-03-12T11:29:12-04:00", - "2024-03-12T11:29:37-04:00", - "2024-03-12T11:30:01-04:00", - "2024-03-12T11:30:24-04:00", - "2024-03-12T11:30:47-04:00", - "2024-03-12T11:31:10-04:00", - "2024-03-12T11:31:33-04:00", - "2024-03-12T11:32:00-04:00", - "2024-03-12T11:32:23-04:00", - "2024-03-12T11:32:46-04:00", - "2024-03-12T11:33:11-04:00", - "2024-03-12T11:33:35-04:00", - "2024-03-12T11:34:07-04:00", - "2024-03-12T11:34:41-04:00", - "2024-03-12T11:35:05-04:00", - "2024-03-12T11:35:29-04:00", - "2024-03-12T11:35:52-04:00", - "2024-03-12T11:36:17-04:00", - "2024-03-12T11:36:40-04:00", - "2024-03-12T11:37:03-04:00", - "2024-03-12T11:37:29-04:00", - "2024-03-12T11:37:53-04:00", - "2024-03-12T11:38:20-04:00", - "2024-03-12T11:38:45-04:00", - "2024-03-12T11:39:08-04:00", - "2024-03-12T11:39:32-04:00", - "2024-03-12T11:39:56-04:00", - "2024-03-12T11:40:20-04:00", - "2024-03-12T11:40:43-04:00", - "2024-03-12T11:41:07-04:00", - "2024-03-12T11:41:31-04:00", - "2024-03-12T11:41:55-04:00", - "2024-03-12T11:42:21-04:00", - "2024-03-12T11:42:46-04:00", - "2024-03-12T11:43:09-04:00", - "2024-03-12T11:43:36-04:00", - "2024-03-12T11:43:59-04:00", - "2024-03-12T11:44:27-04:00", - "2024-03-12T11:44:50-04:00", - "2024-03-12T11:45:14-04:00", - "2024-03-12T11:45:40-04:00", - "2024-03-12T11:46:03-04:00", - "2024-03-12T11:46:26-04:00", - "2024-03-12T11:46:49-04:00", - "2024-03-12T11:47:12-04:00", - "2024-03-12T11:47:36-04:00", - "2024-03-12T11:47:59-04:00", - "2024-03-12T11:48:22-04:00", - "2024-03-12T11:48:45-04:00", - "2024-03-12T11:49:09-04:00", - "2024-03-12T11:49:34-04:00", - "2024-03-12T11:49:57-04:00", - "2024-03-12T11:50:25-04:00", - "2024-03-12T11:50:48-04:00", - "2024-03-12T11:51:11-04:00", - "2024-03-12T11:51:40-04:00", - "2024-03-12T11:52:04-04:00", - "2024-03-12T11:52:29-04:00", - "2024-03-12T11:52:54-04:00", - "2024-03-12T11:53:17-04:00", - "2024-03-12T11:53:40-04:00", - "2024-03-12T11:54:10-04:00", - "2024-03-12T11:54:33-04:00", - "2024-03-12T11:54:57-04:00", - "2024-03-12T11:55:35-04:00", - "2024-03-12T11:55:58-04:00", - "2024-03-12T11:56:21-04:00", - "2024-03-12T11:56:45-04:00", - "2024-03-12T11:57:10-04:00", - "2024-03-12T11:57:33-04:00", - "2024-03-12T11:58:00-04:00", - "2024-03-12T11:58:23-04:00", - "2024-03-12T11:58:46-04:00", - "2024-03-12T11:59:09-04:00", - "2024-03-12T11:59:34-04:00", - "2024-03-12T11:59:58-04:00", - "2024-03-12T12:00:25-04:00", - "2024-03-12T12:00:48-04:00", - "2024-03-12T12:01:11-04:00", - "2024-03-12T12:01:38-04:00", - "2024-03-12T12:02:01-04:00", - "2024-03-12T12:02:24-04:00", - "2024-03-12T12:02:50-04:00", - "2024-03-12T12:03:16-04:00", - "2024-03-12T12:03:41-04:00", - "2024-03-12T12:04:05-04:00", - "2024-03-12T12:04:29-04:00", - "2024-03-12T12:04:53-04:00", - "2024-03-12T12:05:24-04:00", - "2024-03-12T12:05:52-04:00", - "2024-03-12T12:06:16-04:00", - "2024-03-12T12:06:39-04:00", - "2024-03-12T12:07:02-04:00", - "2024-03-12T12:07:33-04:00", - "2024-03-12T12:08:00-04:00", - "2024-03-12T12:08:23-04:00", - "2024-03-12T12:08:51-04:00", - "2024-03-12T12:09:14-04:00", - "2024-03-12T12:09:37-04:00", - "2024-03-12T12:10:00-04:00", - "2024-03-12T12:10:26-04:00", - "2024-03-12T12:10:55-04:00", - "2024-03-12T12:11:20-04:00", - "2024-03-12T12:11:43-04:00", - "2024-03-12T12:12:06-04:00", - "2024-03-12T12:12:29-04:00", - "2024-03-12T12:12:54-04:00", - "2024-03-12T12:13:19-04:00", - "2024-03-12T12:13:42-04:00", - "2024-03-12T12:14:15-04:00", - "2024-03-12T12:14:38-04:00", - "2024-03-12T12:15:01-04:00", - "2024-03-12T12:15:25-04:00", - "2024-03-12T12:15:49-04:00", - "2024-03-12T12:16:13-04:00", - "2024-03-12T12:16:38-04:00", - "2024-03-12T12:17:01-04:00", - "2024-03-12T12:17:27-04:00", - "2024-03-12T12:17:52-04:00", - "2024-03-12T12:18:15-04:00", - "2024-03-12T12:18:43-04:00", - "2024-03-12T12:19:07-04:00", - "2024-03-12T12:19:30-04:00", - "2024-03-12T12:19:54-04:00", - "2024-03-12T12:20:17-04:00", - "2024-03-12T12:20:40-04:00", - "2024-03-12T12:21:06-04:00", - "2024-03-12T12:21:31-04:00", - "2024-03-12T12:22:07-04:00", - "2024-03-12T12:22:36-04:00", - "2024-03-12T12:22:59-04:00", - "2024-03-12T12:23:22-04:00", - "2024-03-12T12:23:46-04:00", - "2024-03-12T12:24:09-04:00", - "2024-03-12T12:24:33-04:00", - "2024-03-12T12:24:58-04:00", - "2024-03-12T12:25:21-04:00", - "2024-03-12T12:25:46-04:00", - "2024-03-12T12:26:12-04:00", - "2024-03-12T12:26:36-04:00", - "2024-03-12T12:27:07-04:00", - "2024-03-12T12:27:31-04:00", - "2024-03-12T12:27:56-04:00", - "2024-03-12T12:28:20-04:00", - "2024-03-12T12:28:45-04:00", - "2024-03-12T12:29:08-04:00", - "2024-03-12T12:29:34-04:00", - "2024-03-12T12:30:02-04:00", - "2024-03-12T12:30:27-04:00", - "2024-03-12T12:30:52-04:00", - "2024-03-12T12:31:16-04:00", - "2024-03-12T12:31:39-04:00", - "2024-03-12T12:32:04-04:00", - "2024-03-12T12:32:30-04:00", - "2024-03-12T12:32:54-04:00", - "2024-03-12T12:33:17-04:00", - "2024-03-12T12:33:43-04:00", - "2024-03-12T12:34:07-04:00", - "2024-03-12T12:34:31-04:00", - "2024-03-12T12:34:54-04:00", - "2024-03-12T12:35:17-04:00", - "2024-03-12T12:35:43-04:00", - "2024-03-12T12:36:06-04:00", - "2024-03-12T12:36:31-04:00", - "2024-03-12T12:36:54-04:00", - "2024-03-12T12:37:17-04:00", - "2024-03-12T12:37:41-04:00", - "2024-03-12T12:38:04-04:00", - "2024-03-12T12:38:28-04:00", - "2024-03-12T12:38:52-04:00", - "2024-03-12T12:39:16-04:00", - "2024-03-12T12:39:42-04:00", - "2024-03-12T12:40:06-04:00", - "2024-03-12T12:40:30-04:00", - "2024-03-12T12:40:53-04:00", - "2024-03-12T12:41:16-04:00", - "2024-03-12T12:41:41-04:00", - "2024-03-12T12:42:04-04:00", - "2024-03-12T12:42:27-04:00", - "2024-03-12T12:42:50-04:00", - "2024-03-12T12:43:13-04:00", - "2024-03-12T12:43:39-04:00", - "2024-03-12T12:44:02-04:00", - "2024-03-12T12:44:29-04:00", - "2024-03-12T12:44:54-04:00", - "2024-03-12T12:45:17-04:00", - "2024-03-12T12:45:41-04:00", - "2024-03-12T12:46:04-04:00", - "2024-03-12T12:46:28-04:00", - "2024-03-12T12:46:51-04:00", - "2024-03-12T12:47:15-04:00", - "2024-03-12T12:47:39-04:00", - "2024-03-12T12:48:03-04:00", - "2024-03-12T12:48:29-04:00", - "2024-03-12T12:48:56-04:00", - "2024-03-12T12:49:21-04:00", - "2024-03-12T12:49:44-04:00", - "2024-03-12T12:50:08-04:00", - "2024-03-12T12:50:32-04:00", - "2024-03-12T12:51:06-04:00", - "2024-03-12T12:51:31-04:00", - "2024-03-12T12:51:54-04:00", - "2024-03-12T12:52:17-04:00", - "2024-03-12T12:52:40-04:00", - "2024-03-12T12:53:03-04:00", - "2024-03-12T12:53:28-04:00", - "2024-03-12T12:53:52-04:00", - "2024-03-12T12:54:15-04:00", - "2024-03-12T12:54:38-04:00", - "2024-03-12T12:55:01-04:00", - "2024-03-12T12:55:25-04:00", - "2024-03-12T12:55:49-04:00", - "2024-03-12T12:56:12-04:00", - "2024-03-12T12:56:35-04:00", - "2024-03-12T12:57:00-04:00", - "2024-03-12T12:57:23-04:00", - "2024-03-12T12:57:49-04:00", - "2024-03-12T12:58:14-04:00", - "2024-03-12T12:58:46-04:00", - "2024-03-12T12:59:10-04:00", - "2024-03-12T12:59:36-04:00", - "2024-03-12T13:00:00-04:00", - "2024-03-12T13:00:24-04:00", - "2024-03-12T13:00:51-04:00", - "2024-03-12T13:01:17-04:00", - "2024-03-12T13:01:40-04:00", - "2024-03-12T13:02:03-04:00", - "2024-03-12T13:02:26-04:00", - "2024-03-12T13:02:49-04:00", - "2024-03-12T13:03:12-04:00", - "2024-03-12T13:03:38-04:00", - "2024-03-12T13:04:03-04:00", - "2024-03-12T13:04:26-04:00", - "2024-03-12T13:04:49-04:00", - "2024-03-12T13:05:13-04:00", - "2024-03-12T13:05:37-04:00", - "2024-03-12T13:06:00-04:00", - "2024-03-12T13:06:23-04:00", - "2024-03-12T13:06:48-04:00", - "2024-03-12T13:07:12-04:00", - "2024-03-12T13:07:40-04:00", - "2024-03-12T13:08:03-04:00", - "2024-03-12T13:08:29-04:00", - "2024-03-12T13:08:52-04:00", - "2024-03-12T13:09:16-04:00", - "2024-03-12T13:09:39-04:00", - "2024-03-12T13:10:04-04:00", - "2024-03-12T13:10:33-04:00", - "2024-03-12T13:11:02-04:00", - "2024-03-12T13:11:25-04:00", - "2024-03-12T13:11:48-04:00", - "2024-03-12T13:12:13-04:00", - "2024-03-12T13:12:38-04:00", - "2024-03-12T13:13:15-04:00", - "2024-03-12T13:13:38-04:00", - "2024-03-12T13:14:02-04:00", - "2024-03-12T13:14:28-04:00", - "2024-03-12T13:14:51-04:00", - "2024-03-12T13:15:14-04:00", - "2024-03-12T13:15:37-04:00", - "2024-03-12T13:16:02-04:00", - "2024-03-12T13:16:25-04:00", - "2024-03-12T13:16:56-04:00", - "2024-03-12T13:17:23-04:00", - "2024-03-12T13:17:48-04:00", - "2024-03-12T13:18:12-04:00", - "2024-03-12T13:18:35-04:00", - "2024-03-12T13:18:58-04:00", - "2024-03-12T13:19:21-04:00", - "2024-03-12T13:19:45-04:00", - "2024-03-12T13:20:12-04:00", - "2024-03-12T13:20:37-04:00", - "2024-03-12T13:21:02-04:00", - "2024-03-12T13:21:28-04:00", - "2024-03-12T13:21:51-04:00", - "2024-03-12T13:22:14-04:00", - "2024-03-12T13:22:37-04:00", - "2024-03-12T13:23:03-04:00", - "2024-03-12T13:23:28-04:00", - "2024-03-12T13:23:51-04:00", - "2024-03-12T13:24:14-04:00", - "2024-03-12T13:24:37-04:00", - "2024-03-12T13:25:00-04:00", - "2024-03-12T13:25:26-04:00", - "2024-03-12T13:25:49-04:00", - "2024-03-12T13:26:18-04:00", - "2024-03-12T13:26:51-04:00", - "2024-03-12T13:27:15-04:00", - "2024-03-12T13:27:40-04:00", - "2024-03-12T13:28:03-04:00", - "2024-03-12T13:28:26-04:00", - "2024-03-12T13:28:54-04:00", - "2024-03-12T13:29:17-04:00", - "2024-03-12T13:29:42-04:00", - "2024-03-12T13:30:05-04:00", - "2024-03-12T13:30:29-04:00", - "2024-03-12T13:30:52-04:00", - "2024-03-12T13:31:16-04:00", - "2024-03-12T13:31:39-04:00", - "2024-03-12T13:32:02-04:00", - "2024-03-12T13:32:40-04:00", - "2024-03-12T13:33:03-04:00", - "2024-03-12T13:33:28-04:00", - "2024-03-12T13:33:53-04:00", - "2024-03-12T13:34:17-04:00", - "2024-03-12T13:34:40-04:00", - "2024-03-12T13:35:09-04:00", - "2024-03-12T13:35:36-04:00", - "2024-03-12T13:36:00-04:00", - "2024-03-12T13:36:23-04:00", - "2024-03-12T13:36:46-04:00", - "2024-03-12T13:37:09-04:00", - "2024-03-12T13:37:32-04:00", - "2024-03-12T13:37:55-04:00", - "2024-03-12T13:38:20-04:00", - "2024-03-12T13:38:50-04:00", - "2024-03-12T13:39:13-04:00", - "2024-03-12T13:39:38-04:00", - "2024-03-12T13:40:05-04:00", - "2024-03-12T13:40:28-04:00", - "2024-03-12T13:40:53-04:00", - "2024-03-12T13:41:17-04:00", - "2024-03-12T13:41:42-04:00", - "2024-03-12T13:42:05-04:00", - "2024-03-12T13:42:34-04:00", - "2024-03-12T13:42:58-04:00", - "2024-03-12T13:43:23-04:00", - "2024-03-12T13:43:50-04:00", - "2024-03-12T13:44:13-04:00", - "2024-03-12T13:44:40-04:00", - "2024-03-12T13:45:04-04:00", - "2024-03-12T13:45:28-04:00", - "2024-03-12T13:45:55-04:00", - "2024-03-12T13:46:18-04:00", - "2024-03-12T13:46:41-04:00", - "2024-03-12T13:47:04-04:00", - "2024-03-12T13:47:27-04:00", - "2024-03-12T13:47:51-04:00", - "2024-03-12T13:48:14-04:00", - "2024-03-12T13:48:39-04:00", - "2024-03-12T13:49:03-04:00", - "2024-03-12T13:49:26-04:00", - "2024-03-12T13:49:50-04:00", - "2024-03-12T13:50:13-04:00", - "2024-03-12T13:50:38-04:00", - "2024-03-12T13:51:05-04:00", - "2024-03-12T13:51:31-04:00", - "2024-03-12T13:51:57-04:00", - "2024-03-12T13:52:22-04:00", - "2024-03-12T13:52:52-04:00", - "2024-03-12T13:53:15-04:00", - "2024-03-12T13:53:38-04:00", - "2024-03-12T13:54:08-04:00", - "2024-03-12T13:54:31-04:00", - "2024-03-12T13:54:54-04:00", - "2024-03-12T13:55:18-04:00", - "2024-03-12T13:55:41-04:00", - "2024-03-12T13:56:04-04:00", - "2024-03-12T13:56:28-04:00", - "2024-03-12T13:56:52-04:00", - "2024-03-12T13:57:17-04:00", - "2024-03-12T13:57:41-04:00", - "2024-03-12T13:58:05-04:00", - "2024-03-12T13:58:29-04:00", - "2024-03-12T13:58:53-04:00", - "2024-03-12T13:59:16-04:00", - "2024-03-12T13:59:44-04:00", - "2024-03-12T14:00:08-04:00", - "2024-03-12T14:00:36-04:00", - "2024-03-12T14:01:01-04:00", - "2024-03-12T14:01:25-04:00", - "2024-03-12T14:01:49-04:00", - "2024-03-12T14:02:30-04:00", - "2024-03-12T14:02:53-04:00", - "2024-03-12T14:03:17-04:00", - "2024-03-12T14:03:40-04:00", - "2024-03-12T14:04:05-04:00", - "2024-03-12T14:04:30-04:00", - "2024-03-12T14:04:53-04:00", - "2024-03-12T14:05:20-04:00", - "2024-03-12T14:05:44-04:00", - "2024-03-12T14:06:07-04:00", - "2024-03-12T14:06:30-04:00", - "2024-03-12T14:06:54-04:00", - "2024-03-12T14:07:19-04:00", - "2024-03-12T14:07:43-04:00", - "2024-03-12T14:08:08-04:00", - "2024-03-12T14:08:31-04:00", - "2024-03-12T14:08:57-04:00", - "2024-03-12T14:09:21-04:00", - "2024-03-12T14:09:45-04:00", - "2024-03-12T14:10:08-04:00", - "2024-03-12T14:10:34-04:00", - "2024-03-12T14:10:57-04:00", - "2024-03-12T14:11:22-04:00", - "2024-03-12T14:11:48-04:00", - "2024-03-12T14:12:13-04:00", - "2024-03-12T14:12:36-04:00", - "2024-03-12T14:12:59-04:00", - "2024-03-12T14:13:31-04:00", - "2024-03-12T14:13:54-04:00", - "2024-03-12T14:14:17-04:00", - "2024-03-12T14:14:41-04:00", - "2024-03-12T14:15:04-04:00", - "2024-03-12T14:15:29-04:00", - "2024-03-12T14:15:52-04:00", - "2024-03-12T14:16:18-04:00", - "2024-03-12T14:16:45-04:00", - "2024-03-12T14:17:10-04:00", - "2024-03-12T14:17:35-04:00", - "2024-03-12T14:17:58-04:00", - "2024-03-12T14:18:21-04:00", - "2024-03-12T14:18:52-04:00", - "2024-03-12T14:19:15-04:00", - "2024-03-12T14:19:41-04:00", - "2024-03-12T14:20:05-04:00", - "2024-03-12T14:20:29-04:00", - "2024-03-12T14:20:52-04:00", - "2024-03-12T14:21:15-04:00", - "2024-03-12T14:21:40-04:00", - "2024-03-12T14:22:04-04:00", - "2024-03-12T14:22:32-04:00", - "2024-03-12T14:23:02-04:00", - "2024-03-12T14:23:25-04:00", - "2024-03-12T14:23:50-04:00", - "2024-03-12T14:24:16-04:00", - "2024-03-12T14:24:39-04:00", - "2024-03-12T14:25:02-04:00", - "2024-03-12T14:25:25-04:00", - "2024-03-12T14:25:48-04:00", - "2024-03-12T14:26:11-04:00", - "2024-03-12T14:26:34-04:00", - "2024-03-12T14:26:58-04:00", - "2024-03-12T14:27:21-04:00", - "2024-03-12T14:27:44-04:00", - "2024-03-12T14:28:07-04:00", - "2024-03-12T14:28:30-04:00", - "2024-03-12T14:28:54-04:00", - "2024-03-12T14:29:21-04:00", - "2024-03-12T14:29:50-04:00", - "2024-03-12T14:30:14-04:00", - "2024-03-12T14:30:37-04:00", - "2024-03-12T14:31:00-04:00", - "2024-03-12T14:31:24-04:00", - "2024-03-12T14:31:47-04:00", - "2024-03-12T14:32:16-04:00", - "2024-03-12T14:32:39-04:00", - "2024-03-12T14:33:14-04:00", - "2024-03-12T14:33:38-04:00", - "2024-03-12T14:34:01-04:00", - "2024-03-12T14:34:27-04:00", - "2024-03-12T14:34:52-04:00", - "2024-03-12T14:35:19-04:00", - "2024-03-12T14:35:43-04:00", - "2024-03-12T14:36:17-04:00", - "2024-03-12T14:36:41-04:00", - "2024-03-12T14:37:05-04:00", - "2024-03-12T14:37:29-04:00", - "2024-03-12T14:37:52-04:00", - "2024-03-12T14:38:15-04:00", - "2024-03-12T14:38:38-04:00", - "2024-03-12T14:39:02-04:00", - "2024-03-12T14:39:29-04:00", - "2024-03-12T14:39:52-04:00", - "2024-03-12T14:40:15-04:00", - "2024-03-12T14:40:38-04:00", - "2024-03-12T14:41:02-04:00", - "2024-03-12T14:41:28-04:00", - "2024-03-12T14:41:51-04:00", - "2024-03-12T14:42:16-04:00", - "2024-03-12T14:42:40-04:00", - "2024-03-12T14:43:03-04:00", - "2024-03-12T14:43:26-04:00", - "2024-03-12T14:43:49-04:00", - "2024-03-12T14:44:12-04:00", - "2024-03-12T14:44:35-04:00", - "2024-03-12T14:45:02-04:00", - "2024-03-12T14:45:25-04:00", - "2024-03-12T14:45:48-04:00", - "2024-03-12T14:46:15-04:00", - "2024-03-12T14:46:38-04:00", - "2024-03-12T14:47:03-04:00", - "2024-03-12T14:47:26-04:00", - "2024-03-12T14:47:49-04:00", - "2024-03-12T14:48:14-04:00", - "2024-03-12T14:48:45-04:00", - "2024-03-12T14:49:09-04:00", - "2024-03-12T14:49:32-04:00", - "2024-03-12T14:49:55-04:00", - "2024-03-12T14:50:26-04:00", - "2024-03-12T14:50:49-04:00", - "2024-03-12T14:51:12-04:00", - "2024-03-12T14:51:35-04:00", - "2024-03-12T14:51:59-04:00", - "2024-03-12T14:52:22-04:00", - "2024-03-12T14:52:45-04:00", - "2024-03-12T14:53:24-04:00", - "2024-03-12T14:53:49-04:00", - "2024-03-12T14:54:12-04:00", - "2024-03-12T14:54:35-04:00", - "2024-03-12T14:54:58-04:00", - "2024-03-12T14:55:22-04:00", - "2024-03-12T14:55:45-04:00", - "2024-03-12T14:56:09-04:00", - "2024-03-12T14:56:32-04:00", - "2024-03-12T14:56:59-04:00", - "2024-03-12T14:57:24-04:00", - "2024-03-12T14:57:53-04:00", - "2024-03-12T14:58:16-04:00", - "2024-03-12T14:58:40-04:00", - "2024-03-12T14:59:05-04:00", - "2024-03-12T14:59:28-04:00", - "2024-03-12T14:59:54-04:00", - "2024-03-12T15:00:20-04:00", - "2024-03-12T15:00:44-04:00", - "2024-03-12T15:01:10-04:00", - "2024-03-12T15:01:33-04:00", - "2024-03-12T15:01:58-04:00", - "2024-03-12T15:02:21-04:00", - "2024-03-12T15:02:47-04:00", - "2024-03-12T15:03:10-04:00", - "2024-03-12T15:03:36-04:00", - "2024-03-12T15:03:59-04:00", - "2024-03-12T15:04:22-04:00", - "2024-03-12T15:04:47-04:00", - "2024-03-12T15:05:11-04:00", - "2024-03-12T15:05:35-04:00", - "2024-03-12T15:05:58-04:00", - "2024-03-12T15:06:22-04:00", - "2024-03-12T15:06:45-04:00", - "2024-03-12T15:07:08-04:00", - "2024-03-12T15:07:33-04:00", - "2024-03-12T15:07:56-04:00", - "2024-03-12T15:08:22-04:00", - "2024-03-12T15:08:45-04:00", - "2024-03-12T15:09:09-04:00", - "2024-03-12T15:09:33-04:00", - "2024-03-12T15:09:57-04:00", - "2024-03-12T15:10:21-04:00", - "2024-03-12T15:10:44-04:00", - "2024-03-12T15:11:07-04:00", - "2024-03-12T15:11:31-04:00", - "2024-03-12T15:11:54-04:00", - "2024-03-12T15:12:17-04:00", - "2024-03-12T15:12:44-04:00", - "2024-03-12T15:13:07-04:00", - "2024-03-12T15:13:30-04:00", - "2024-03-12T15:13:54-04:00", - "2024-03-12T15:14:17-04:00", - "2024-03-12T15:14:40-04:00", - "2024-03-12T15:15:03-04:00", - "2024-03-12T15:15:26-04:00", - "2024-03-12T15:15:49-04:00", - "2024-03-12T15:16:13-04:00", - "2024-03-12T15:16:36-04:00", - "2024-03-12T15:17:00-04:00", - "2024-03-12T15:17:29-04:00", - "2024-03-12T15:17:52-04:00", - "2024-03-12T15:18:15-04:00", - "2024-03-12T15:18:39-04:00", - "2024-03-12T15:19:02-04:00", - "2024-03-12T15:19:29-04:00", - "2024-03-12T15:19:54-04:00", - "2024-03-12T15:20:17-04:00", - "2024-03-12T15:20:45-04:00", - "2024-03-12T15:21:11-04:00", - "2024-03-12T15:21:34-04:00", - "2024-03-12T15:21:57-04:00", - "2024-03-12T15:22:20-04:00", - "2024-03-12T15:22:43-04:00", - "2024-03-12T15:23:09-04:00", - "2024-03-12T15:23:32-04:00", - "2024-03-12T15:24:00-04:00", - "2024-03-12T15:24:25-04:00", - "2024-03-12T15:24:48-04:00", - "2024-03-12T15:25:11-04:00", - "2024-03-12T15:25:34-04:00", - "2024-03-12T15:25:58-04:00", - "2024-03-12T15:26:26-04:00", - "2024-03-12T15:26:52-04:00", - "2024-03-12T15:27:15-04:00", - "2024-03-12T15:27:39-04:00", - "2024-03-12T15:28:02-04:00", - "2024-03-12T15:28:31-04:00", - "2024-03-12T15:28:54-04:00", - "2024-03-12T15:29:17-04:00", - "2024-03-12T15:29:42-04:00", - "2024-03-12T15:30:06-04:00", - "2024-03-12T15:30:29-04:00", - "2024-03-12T15:30:53-04:00", - "2024-03-12T15:31:16-04:00", - "2024-03-12T15:31:39-04:00", - "2024-03-12T15:32:02-04:00", - "2024-03-12T15:32:25-04:00", - "2024-03-12T15:32:48-04:00", - "2024-03-12T15:33:14-04:00", - "2024-03-12T15:33:39-04:00", - "2024-03-12T15:34:02-04:00", - "2024-03-12T15:34:25-04:00", - "2024-03-12T15:34:48-04:00", - "2024-03-12T15:35:11-04:00", - "2024-03-12T15:35:34-04:00", - "2024-03-12T15:35:57-04:00", - "2024-03-12T15:36:20-04:00", - "2024-03-12T15:36:43-04:00", - "2024-03-12T15:37:06-04:00", - "2024-03-12T15:37:29-04:00", - "2024-03-12T15:37:52-04:00", - "2024-03-12T15:38:15-04:00", - "2024-03-12T15:38:38-04:00", - "2024-03-12T15:39:01-04:00", - "2024-03-12T15:39:25-04:00", - "2024-03-12T15:39:49-04:00", - "2024-03-12T15:40:13-04:00", - "2024-03-12T15:40:38-04:00", - "2024-03-12T15:41:04-04:00", - "2024-03-12T15:41:27-04:00", - "2024-03-12T15:41:50-04:00", - "2024-03-12T15:42:13-04:00", - "2024-03-12T15:42:37-04:00", - "2024-03-12T15:43:00-04:00", - "2024-03-12T15:43:23-04:00", - "2024-03-12T15:43:48-04:00", - "2024-03-12T15:44:11-04:00", - "2024-03-12T15:44:38-04:00", - "2024-03-12T15:45:01-04:00", - "2024-03-12T15:45:25-04:00", - "2024-03-12T15:45:49-04:00", - "2024-03-12T15:46:12-04:00", - "2024-03-12T15:46:36-04:00", - "2024-03-12T15:46:59-04:00", - "2024-03-12T15:47:22-04:00", - "2024-03-12T15:47:45-04:00", - "2024-03-12T15:48:08-04:00", - "2024-03-12T15:48:31-04:00", - "2024-03-12T15:48:55-04:00", - "2024-03-12T15:49:18-04:00", - "2024-03-12T15:49:44-04:00", - "2024-03-12T15:50:07-04:00", - "2024-03-12T15:50:31-04:00", - "2024-03-12T15:50:55-04:00", - "2024-03-12T15:51:18-04:00", - "2024-03-12T15:51:41-04:00", - "2024-03-12T15:52:04-04:00", - "2024-03-12T15:52:27-04:00", - "2024-03-12T15:52:50-04:00", - "2024-03-12T15:53:13-04:00", - "2024-03-12T15:53:36-04:00", - "2024-03-12T15:53:59-04:00", - "2024-03-12T15:54:22-04:00", - "2024-03-12T15:54:45-04:00", - "2024-03-12T15:55:08-04:00", - "2024-03-12T15:55:31-04:00", - "2024-03-12T15:55:54-04:00", - "2024-03-12T15:56:17-04:00", - "2024-03-12T15:56:40-04:00", - "2024-03-12T15:57:03-04:00", - "2024-03-12T15:57:26-04:00", - "2024-03-12T15:57:49-04:00", - "2024-03-12T15:58:12-04:00", - "2024-03-12T15:58:35-04:00", - "2024-03-12T15:58:58-04:00", - "2024-03-12T15:59:21-04:00", - "2024-03-12T15:59:44-04:00", - "2024-03-13T09:30:00-04:00", - "2024-03-13T09:30:24-04:00", - "2024-03-13T09:30:47-04:00", - "2024-03-13T09:31:12-04:00", - "2024-03-13T09:31:35-04:00", - "2024-03-13T09:31:58-04:00", - "2024-03-13T09:32:22-04:00", - "2024-03-13T09:32:45-04:00", - "2024-03-13T09:33:08-04:00", - "2024-03-13T09:33:31-04:00", - "2024-03-13T09:33:54-04:00", - "2024-03-13T09:34:17-04:00", - "2024-03-13T09:34:40-04:00", - "2024-03-13T09:35:03-04:00", - "2024-03-13T09:35:28-04:00", - "2024-03-13T09:35:51-04:00", - "2024-03-13T09:36:14-04:00", - "2024-03-13T09:36:37-04:00", - "2024-03-13T09:37:00-04:00", - "2024-03-13T09:37:24-04:00", - "2024-03-13T09:37:47-04:00", - "2024-03-13T09:38:12-04:00", - "2024-03-13T09:38:36-04:00", - "2024-03-13T09:38:59-04:00", - "2024-03-13T09:39:22-04:00", - "2024-03-13T09:39:45-04:00", - "2024-03-13T09:40:08-04:00", - "2024-03-13T09:40:31-04:00", - "2024-03-13T09:40:55-04:00", - "2024-03-13T09:41:18-04:00", - "2024-03-13T09:41:45-04:00", - "2024-03-13T09:42:08-04:00", - "2024-03-13T09:42:31-04:00", - "2024-03-13T09:42:54-04:00", - "2024-03-13T09:43:17-04:00", - "2024-03-13T09:43:40-04:00", - "2024-03-13T09:44:03-04:00", - "2024-03-13T09:44:26-04:00", - "2024-03-13T09:44:49-04:00", - "2024-03-13T09:45:12-04:00", - "2024-03-13T09:45:35-04:00", - "2024-03-13T09:45:58-04:00", - "2024-03-13T09:46:21-04:00", - "2024-03-13T09:46:44-04:00", - "2024-03-13T09:47:07-04:00", - "2024-03-13T09:47:30-04:00", - "2024-03-13T09:47:54-04:00", - "2024-03-13T09:48:19-04:00", - "2024-03-13T09:48:42-04:00", - "2024-03-13T09:49:05-04:00", - "2024-03-13T09:49:28-04:00", - "2024-03-13T09:49:51-04:00", - "2024-03-13T09:50:14-04:00", - "2024-03-13T09:50:37-04:00", - "2024-03-13T09:51:00-04:00", - "2024-03-13T09:51:23-04:00", - "2024-03-13T09:51:46-04:00", - "2024-03-13T09:52:09-04:00", - "2024-03-13T09:52:32-04:00", - "2024-03-13T09:52:56-04:00", - "2024-03-13T09:53:19-04:00", - "2024-03-13T09:53:42-04:00", - "2024-03-13T09:54:05-04:00", - "2024-03-13T09:54:28-04:00", - "2024-03-13T09:54:51-04:00", - "2024-03-13T09:55:14-04:00", - "2024-03-13T09:55:37-04:00", - "2024-03-13T09:56:00-04:00", - "2024-03-13T09:56:23-04:00", - "2024-03-13T09:56:46-04:00", - "2024-03-13T09:57:09-04:00", - "2024-03-13T09:57:33-04:00", - "2024-03-13T09:57:57-04:00", - "2024-03-13T09:58:21-04:00", - "2024-03-13T09:58:44-04:00", - "2024-03-13T09:59:07-04:00", - "2024-03-13T09:59:30-04:00", - "2024-03-13T09:59:54-04:00", - "2024-03-13T10:00:17-04:00", - "2024-03-13T10:00:40-04:00", - "2024-03-13T10:01:04-04:00", - "2024-03-13T10:01:27-04:00", - "2024-03-13T10:01:50-04:00", - "2024-03-13T10:02:13-04:00", - "2024-03-13T10:02:36-04:00", - "2024-03-13T10:02:59-04:00", - "2024-03-13T10:03:22-04:00", - "2024-03-13T10:03:45-04:00", - "2024-03-13T10:04:08-04:00", - "2024-03-13T10:04:31-04:00", - "2024-03-13T10:04:54-04:00", - "2024-03-13T10:05:17-04:00", - "2024-03-13T10:05:40-04:00", - "2024-03-13T10:06:03-04:00", - "2024-03-13T10:06:26-04:00", - "2024-03-13T10:06:49-04:00", - "2024-03-13T10:07:12-04:00", - "2024-03-13T10:07:35-04:00", - "2024-03-13T10:07:58-04:00", - "2024-03-13T10:08:21-04:00", - "2024-03-13T10:08:44-04:00", - "2024-03-13T10:09:07-04:00", - "2024-03-13T10:09:31-04:00", - "2024-03-13T10:09:54-04:00", - "2024-03-13T10:10:19-04:00", - "2024-03-13T10:10:44-04:00", - "2024-03-13T10:11:07-04:00", - "2024-03-13T10:11:30-04:00", - "2024-03-13T10:11:54-04:00", - "2024-03-13T10:12:18-04:00", - "2024-03-13T10:12:42-04:00", - "2024-03-13T10:13:05-04:00", - "2024-03-13T10:13:28-04:00", - "2024-03-13T10:13:51-04:00", - "2024-03-13T10:14:16-04:00", - "2024-03-13T10:14:39-04:00", - "2024-03-13T10:15:02-04:00", - "2024-03-13T10:15:26-04:00", - "2024-03-13T10:15:49-04:00", - "2024-03-13T10:16:12-04:00", - "2024-03-13T10:16:35-04:00", - "2024-03-13T10:16:58-04:00", - "2024-03-13T10:17:21-04:00", - "2024-03-13T10:17:44-04:00", - "2024-03-13T10:18:07-04:00", - "2024-03-13T10:18:30-04:00", - "2024-03-13T10:18:54-04:00", - "2024-03-13T10:19:20-04:00", - "2024-03-13T10:19:45-04:00", - "2024-03-13T10:20:08-04:00", - "2024-03-13T10:20:32-04:00", - "2024-03-13T10:20:55-04:00", - "2024-03-13T10:21:18-04:00", - "2024-03-13T10:21:42-04:00", - "2024-03-13T10:22:05-04:00", - "2024-03-13T10:22:28-04:00", - "2024-03-13T10:22:53-04:00", - "2024-03-13T10:23:16-04:00", - "2024-03-13T10:23:39-04:00", - "2024-03-13T10:24:02-04:00", - "2024-03-13T10:24:27-04:00", - "2024-03-13T10:24:51-04:00", - "2024-03-13T10:25:14-04:00", - "2024-03-13T10:25:37-04:00", - "2024-03-13T10:26:00-04:00", - "2024-03-13T10:26:25-04:00", - "2024-03-13T10:26:48-04:00", - "2024-03-13T10:27:11-04:00", - "2024-03-13T10:27:34-04:00", - "2024-03-13T10:27:59-04:00", - "2024-03-13T10:28:22-04:00", - "2024-03-13T10:28:47-04:00", - "2024-03-13T10:29:10-04:00", - "2024-03-13T10:29:35-04:00", - "2024-03-13T10:30:00-04:00", - "2024-03-13T10:30:24-04:00", - "2024-03-13T10:30:47-04:00", - "2024-03-13T10:31:10-04:00", - "2024-03-13T10:31:35-04:00", - "2024-03-13T10:31:58-04:00", - "2024-03-13T10:32:22-04:00", - "2024-03-13T10:32:45-04:00", - "2024-03-13T10:33:10-04:00", - "2024-03-13T10:33:33-04:00", - "2024-03-13T10:34:00-04:00", - "2024-03-13T10:34:26-04:00", - "2024-03-13T10:34:50-04:00", - "2024-03-13T10:35:13-04:00", - "2024-03-13T10:35:36-04:00", - "2024-03-13T10:35:59-04:00", - "2024-03-13T10:36:23-04:00", - "2024-03-13T10:36:46-04:00", - "2024-03-13T10:37:10-04:00", - "2024-03-13T10:37:33-04:00", - "2024-03-13T10:37:56-04:00", - "2024-03-13T10:38:19-04:00", - "2024-03-13T10:38:44-04:00", - "2024-03-13T10:39:07-04:00", - "2024-03-13T10:39:30-04:00", - "2024-03-13T10:39:53-04:00", - "2024-03-13T10:40:16-04:00", - "2024-03-13T10:40:40-04:00", - "2024-03-13T10:41:03-04:00", - "2024-03-13T10:41:26-04:00", - "2024-03-13T10:41:50-04:00", - "2024-03-13T10:42:13-04:00", - "2024-03-13T10:42:37-04:00", - "2024-03-13T10:43:00-04:00", - "2024-03-13T10:43:23-04:00", - "2024-03-13T10:43:47-04:00", - "2024-03-13T10:44:10-04:00", - "2024-03-13T10:44:33-04:00", - "2024-03-13T10:44:56-04:00", - "2024-03-13T10:45:19-04:00", - "2024-03-13T10:45:45-04:00", - "2024-03-13T10:46:08-04:00", - "2024-03-13T10:46:31-04:00", - "2024-03-13T10:46:54-04:00", - "2024-03-13T10:47:17-04:00", - "2024-03-13T10:47:41-04:00", - "2024-03-13T10:48:06-04:00", - "2024-03-13T10:48:29-04:00", - "2024-03-13T10:48:52-04:00", - "2024-03-13T10:49:15-04:00", - "2024-03-13T10:49:39-04:00", - "2024-03-13T10:50:02-04:00", - "2024-03-13T10:50:25-04:00", - "2024-03-13T10:50:48-04:00", - "2024-03-13T10:51:11-04:00", - "2024-03-13T10:51:34-04:00", - "2024-03-13T10:51:57-04:00", - "2024-03-13T10:52:21-04:00", - "2024-03-13T10:52:44-04:00", - "2024-03-13T10:53:07-04:00", - "2024-03-13T10:53:30-04:00", - "2024-03-13T10:53:53-04:00", - "2024-03-13T10:54:16-04:00", - "2024-03-13T10:54:39-04:00", - "2024-03-13T10:55:02-04:00", - "2024-03-13T10:55:25-04:00", - "2024-03-13T10:55:48-04:00", - "2024-03-13T10:56:11-04:00", - "2024-03-13T10:56:34-04:00", - "2024-03-13T10:56:58-04:00", - "2024-03-13T10:57:21-04:00", - "2024-03-13T10:57:44-04:00", - "2024-03-13T10:58:08-04:00", - "2024-03-13T10:58:31-04:00", - "2024-03-13T10:58:54-04:00", - "2024-03-13T10:59:17-04:00", - "2024-03-13T10:59:40-04:00", - "2024-03-13T11:00:03-04:00", - "2024-03-13T11:00:26-04:00", - "2024-03-13T11:00:49-04:00", - "2024-03-13T11:01:13-04:00", - "2024-03-13T11:01:36-04:00", - "2024-03-13T11:01:59-04:00", - "2024-03-13T11:02:22-04:00", - "2024-03-13T11:02:45-04:00", - "2024-03-13T11:03:08-04:00", - "2024-03-13T11:03:32-04:00", - "2024-03-13T11:03:58-04:00", - "2024-03-13T11:04:21-04:00", - "2024-03-13T11:04:44-04:00", - "2024-03-13T11:05:10-04:00", - "2024-03-13T11:05:33-04:00", - "2024-03-13T11:05:57-04:00", - "2024-03-13T11:06:20-04:00", - "2024-03-13T11:06:45-04:00", - "2024-03-13T11:07:08-04:00", - "2024-03-13T11:07:31-04:00", - "2024-03-13T11:07:54-04:00", - "2024-03-13T11:08:17-04:00", - "2024-03-13T11:08:40-04:00", - "2024-03-13T11:09:03-04:00", - "2024-03-13T11:09:31-04:00", - "2024-03-13T11:09:54-04:00", - "2024-03-13T11:10:17-04:00", - "2024-03-13T11:10:40-04:00", - "2024-03-13T11:11:03-04:00", - "2024-03-13T11:11:26-04:00", - "2024-03-13T11:11:51-04:00", - "2024-03-13T11:12:14-04:00", - "2024-03-13T11:12:37-04:00", - "2024-03-13T11:13:00-04:00", - "2024-03-13T11:13:25-04:00", - "2024-03-13T11:13:51-04:00", - "2024-03-13T11:14:14-04:00", - "2024-03-13T11:14:38-04:00", - "2024-03-13T11:15:01-04:00", - "2024-03-13T11:15:24-04:00", - "2024-03-13T11:15:47-04:00", - "2024-03-13T11:16:12-04:00", - "2024-03-13T11:16:35-04:00", - "2024-03-13T11:16:58-04:00", - "2024-03-13T11:17:21-04:00", - "2024-03-13T11:17:44-04:00", - "2024-03-13T11:18:08-04:00", - "2024-03-13T11:18:31-04:00", - "2024-03-13T11:18:57-04:00", - "2024-03-13T11:19:20-04:00", - "2024-03-13T11:19:44-04:00", - "2024-03-13T11:20:07-04:00", - "2024-03-13T11:20:30-04:00", - "2024-03-13T11:20:55-04:00", - "2024-03-13T11:21:18-04:00", - "2024-03-13T11:21:42-04:00", - "2024-03-13T11:22:13-04:00", - "2024-03-13T11:22:36-04:00", - "2024-03-13T11:22:59-04:00", - "2024-03-13T11:23:24-04:00", - "2024-03-13T11:23:47-04:00", - "2024-03-13T11:24:10-04:00", - "2024-03-13T11:24:33-04:00", - "2024-03-13T11:24:56-04:00", - "2024-03-13T11:25:19-04:00", - "2024-03-13T11:25:42-04:00", - "2024-03-13T11:26:07-04:00", - "2024-03-13T11:26:30-04:00", - "2024-03-13T11:26:56-04:00", - "2024-03-13T11:27:19-04:00", - "2024-03-13T11:27:42-04:00", - "2024-03-13T11:28:05-04:00", - "2024-03-13T11:28:30-04:00", - "2024-03-13T11:28:53-04:00", - "2024-03-13T11:29:16-04:00", - "2024-03-13T11:29:39-04:00", - "2024-03-13T11:30:02-04:00", - "2024-03-13T11:30:25-04:00", - "2024-03-13T11:30:51-04:00", - "2024-03-13T11:31:14-04:00", - "2024-03-13T11:31:37-04:00", - "2024-03-13T11:32:00-04:00", - "2024-03-13T11:32:23-04:00", - "2024-03-13T11:32:46-04:00", - "2024-03-13T11:33:09-04:00", - "2024-03-13T11:33:37-04:00", - "2024-03-13T11:34:00-04:00", - "2024-03-13T11:34:23-04:00", - "2024-03-13T11:34:46-04:00", - "2024-03-13T11:35:09-04:00", - "2024-03-13T11:35:32-04:00", - "2024-03-13T11:35:55-04:00", - "2024-03-13T11:36:18-04:00", - "2024-03-13T11:36:41-04:00", - "2024-03-13T11:37:04-04:00", - "2024-03-13T11:37:27-04:00", - "2024-03-13T11:37:50-04:00", - "2024-03-13T11:38:13-04:00", - "2024-03-13T11:38:37-04:00", - "2024-03-13T11:39:00-04:00", - "2024-03-13T11:39:23-04:00", - "2024-03-13T11:39:46-04:00", - "2024-03-13T11:40:09-04:00", - "2024-03-13T11:40:32-04:00", - "2024-03-13T11:40:55-04:00", - "2024-03-13T11:41:18-04:00", - "2024-03-13T11:41:41-04:00", - "2024-03-13T11:42:04-04:00", - "2024-03-13T11:42:27-04:00", - "2024-03-13T11:42:50-04:00", - "2024-03-13T11:43:13-04:00", - "2024-03-13T11:43:36-04:00", - "2024-03-13T11:43:59-04:00", - "2024-03-13T11:44:22-04:00", - "2024-03-13T11:44:45-04:00", - "2024-03-13T11:45:08-04:00", - "2024-03-13T11:45:31-04:00", - "2024-03-13T11:45:54-04:00", - "2024-03-13T11:46:17-04:00", - "2024-03-13T11:46:40-04:00", - "2024-03-13T11:47:03-04:00", - "2024-03-13T11:47:26-04:00", - "2024-03-13T11:47:49-04:00", - "2024-03-13T11:48:13-04:00", - "2024-03-13T11:48:37-04:00", - "2024-03-13T11:49:00-04:00", - "2024-03-13T11:49:23-04:00", - "2024-03-13T11:49:46-04:00", - "2024-03-13T11:50:09-04:00", - "2024-03-13T11:50:32-04:00", - "2024-03-13T11:50:59-04:00", - "2024-03-13T11:51:22-04:00", - "2024-03-13T11:51:45-04:00", - "2024-03-13T11:52:08-04:00", - "2024-03-13T11:52:31-04:00", - "2024-03-13T11:52:54-04:00", - "2024-03-13T11:53:17-04:00", - "2024-03-13T11:53:41-04:00", - "2024-03-13T11:54:04-04:00", - "2024-03-13T11:54:29-04:00", - "2024-03-13T11:54:53-04:00", - "2024-03-13T11:55:16-04:00", - "2024-03-13T11:55:39-04:00", - "2024-03-13T11:56:03-04:00", - "2024-03-13T11:56:26-04:00", - "2024-03-13T11:56:50-04:00", - "2024-03-13T11:57:13-04:00", - "2024-03-13T11:57:36-04:00", - "2024-03-13T11:57:59-04:00", - "2024-03-13T11:58:22-04:00", - "2024-03-13T11:58:45-04:00", - "2024-03-13T11:59:08-04:00", - "2024-03-13T11:59:32-04:00", - "2024-03-13T11:59:55-04:00", - "2024-03-13T12:00:18-04:00", - "2024-03-13T12:00:41-04:00", - "2024-03-13T12:01:04-04:00", - "2024-03-13T12:01:27-04:00", - "2024-03-13T12:01:50-04:00", - "2024-03-13T12:02:13-04:00", - "2024-03-13T12:02:36-04:00", - "2024-03-13T12:02:59-04:00", - "2024-03-13T12:03:23-04:00", - "2024-03-13T12:03:47-04:00", - "2024-03-13T12:04:10-04:00", - "2024-03-13T12:04:33-04:00", - "2024-03-13T12:04:56-04:00", - "2024-03-13T12:05:20-04:00", - "2024-03-13T12:05:43-04:00", - "2024-03-13T12:06:07-04:00", - "2024-03-13T12:06:30-04:00", - "2024-03-13T12:06:53-04:00", - "2024-03-13T12:07:17-04:00", - "2024-03-13T12:07:42-04:00", - "2024-03-13T12:08:05-04:00", - "2024-03-13T12:08:28-04:00", - "2024-03-13T12:08:51-04:00", - "2024-03-13T12:09:14-04:00", - "2024-03-13T12:09:37-04:00", - "2024-03-13T12:10:00-04:00", - "2024-03-13T12:10:25-04:00", - "2024-03-13T12:10:48-04:00", - "2024-03-13T12:11:11-04:00", - "2024-03-13T12:11:35-04:00", - "2024-03-13T12:12:02-04:00", - "2024-03-13T12:12:25-04:00", - "2024-03-13T12:12:48-04:00", - "2024-03-13T12:13:14-04:00", - "2024-03-13T12:13:38-04:00", - "2024-03-13T12:14:02-04:00", - "2024-03-13T12:14:25-04:00", - "2024-03-13T12:14:48-04:00", - "2024-03-13T12:15:11-04:00", - "2024-03-13T12:15:34-04:00", - "2024-03-13T12:15:57-04:00", - "2024-03-13T12:16:20-04:00", - "2024-03-13T12:16:43-04:00", - "2024-03-13T12:17:06-04:00", - "2024-03-13T12:17:29-04:00", - "2024-03-13T12:17:52-04:00", - "2024-03-13T12:18:15-04:00", - "2024-03-13T12:18:39-04:00", - "2024-03-13T12:19:02-04:00", - "2024-03-13T12:19:29-04:00", - "2024-03-13T12:19:52-04:00", - "2024-03-13T12:20:15-04:00", - "2024-03-13T12:20:38-04:00", - "2024-03-13T12:21:03-04:00", - "2024-03-13T12:21:26-04:00", - "2024-03-13T12:21:49-04:00", - "2024-03-13T12:22:14-04:00", - "2024-03-13T12:22:37-04:00", - "2024-03-13T12:23:04-04:00", - "2024-03-13T12:23:27-04:00", - "2024-03-13T12:23:50-04:00", - "2024-03-13T12:24:13-04:00", - "2024-03-13T12:24:37-04:00", - "2024-03-13T12:25:00-04:00", - "2024-03-13T12:25:23-04:00", - "2024-03-13T12:25:47-04:00", - "2024-03-13T12:26:11-04:00", - "2024-03-13T12:26:34-04:00", - "2024-03-13T12:26:57-04:00", - "2024-03-13T12:27:21-04:00", - "2024-03-13T12:27:44-04:00", - "2024-03-13T12:28:07-04:00", - "2024-03-13T12:28:30-04:00", - "2024-03-13T12:28:53-04:00", - "2024-03-13T12:29:16-04:00", - "2024-03-13T12:29:40-04:00", - "2024-03-13T12:30:03-04:00", - "2024-03-13T12:30:26-04:00", - "2024-03-13T12:30:51-04:00", - "2024-03-13T12:31:14-04:00", - "2024-03-13T12:31:37-04:00", - "2024-03-13T12:32:00-04:00", - "2024-03-13T12:32:23-04:00", - "2024-03-13T12:32:46-04:00", - "2024-03-13T12:33:09-04:00", - "2024-03-13T12:33:32-04:00", - "2024-03-13T12:33:55-04:00", - "2024-03-13T12:34:19-04:00", - "2024-03-13T12:34:42-04:00", - "2024-03-13T12:35:05-04:00", - "2024-03-13T12:35:28-04:00", - "2024-03-13T12:35:51-04:00", - "2024-03-13T12:36:16-04:00", - "2024-03-13T12:36:39-04:00", - "2024-03-13T12:37:04-04:00", - "2024-03-13T12:37:28-04:00", - "2024-03-13T12:37:52-04:00", - "2024-03-13T12:38:15-04:00", - "2024-03-13T12:38:38-04:00", - "2024-03-13T12:39:01-04:00", - "2024-03-13T12:39:24-04:00", - "2024-03-13T12:39:48-04:00", - "2024-03-13T12:40:11-04:00", - "2024-03-13T12:40:34-04:00", - "2024-03-13T12:40:57-04:00", - "2024-03-13T12:41:20-04:00", - "2024-03-13T12:41:43-04:00", - "2024-03-13T12:42:07-04:00", - "2024-03-13T12:42:30-04:00", - "2024-03-13T12:42:53-04:00", - "2024-03-13T12:43:16-04:00", - "2024-03-13T12:43:39-04:00", - "2024-03-13T12:44:02-04:00", - "2024-03-13T12:44:25-04:00", - "2024-03-13T12:44:48-04:00", - "2024-03-13T12:45:11-04:00", - "2024-03-13T12:45:34-04:00", - "2024-03-13T12:45:57-04:00", - "2024-03-13T12:46:20-04:00", - "2024-03-13T12:46:50-04:00", - "2024-03-13T12:47:13-04:00", - "2024-03-13T12:47:37-04:00", - "2024-03-13T12:48:00-04:00", - "2024-03-13T12:48:23-04:00", - "2024-03-13T12:48:46-04:00", - "2024-03-13T12:49:09-04:00", - "2024-03-13T12:49:32-04:00", - "2024-03-13T12:49:55-04:00", - "2024-03-13T12:50:18-04:00", - "2024-03-13T12:50:41-04:00", - "2024-03-13T12:51:04-04:00", - "2024-03-13T12:51:29-04:00", - "2024-03-13T12:51:53-04:00", - "2024-03-13T12:52:16-04:00", - "2024-03-13T12:52:40-04:00", - "2024-03-13T12:53:04-04:00", - "2024-03-13T12:53:27-04:00", - "2024-03-13T12:53:50-04:00", - "2024-03-13T12:54:14-04:00", - "2024-03-13T12:54:37-04:00", - "2024-03-13T12:55:00-04:00", - "2024-03-13T12:55:23-04:00", - "2024-03-13T12:55:46-04:00", - "2024-03-13T12:56:09-04:00", - "2024-03-13T12:56:32-04:00", - "2024-03-13T12:56:55-04:00", - "2024-03-13T12:57:18-04:00", - "2024-03-13T12:57:41-04:00", - "2024-03-13T12:58:08-04:00", - "2024-03-13T12:58:31-04:00", - "2024-03-13T12:58:54-04:00", - "2024-03-13T12:59:17-04:00", - "2024-03-13T12:59:40-04:00", - "2024-03-13T13:00:03-04:00", - "2024-03-13T13:00:27-04:00", - "2024-03-13T13:00:50-04:00", - "2024-03-13T13:01:13-04:00", - "2024-03-13T13:01:36-04:00", - "2024-03-13T13:01:59-04:00", - "2024-03-13T13:02:22-04:00", - "2024-03-13T13:02:45-04:00", - "2024-03-13T13:03:08-04:00", - "2024-03-13T13:03:31-04:00", - "2024-03-13T13:03:54-04:00", - "2024-03-13T13:04:19-04:00", - "2024-03-13T13:04:44-04:00", - "2024-03-13T13:05:09-04:00", - "2024-03-13T13:05:32-04:00", - "2024-03-13T13:05:56-04:00", - "2024-03-13T13:06:19-04:00", - "2024-03-13T13:06:42-04:00", - "2024-03-13T13:07:06-04:00", - "2024-03-13T13:07:30-04:00", - "2024-03-13T13:07:53-04:00", - "2024-03-13T13:08:16-04:00", - "2024-03-13T13:08:39-04:00", - "2024-03-13T13:09:03-04:00", - "2024-03-13T13:09:27-04:00", - "2024-03-13T13:09:51-04:00", - "2024-03-13T13:10:14-04:00", - "2024-03-13T13:10:39-04:00", - "2024-03-13T13:11:02-04:00", - "2024-03-13T13:11:26-04:00", - "2024-03-13T13:11:49-04:00", - "2024-03-13T13:12:12-04:00", - "2024-03-13T13:12:36-04:00", - "2024-03-13T13:13:04-04:00", - "2024-03-13T13:13:28-04:00", - "2024-03-13T13:13:51-04:00", - "2024-03-13T13:14:15-04:00", - "2024-03-13T13:14:38-04:00", - "2024-03-13T13:15:01-04:00", - "2024-03-13T13:15:26-04:00", - "2024-03-13T13:15:49-04:00", - "2024-03-13T13:16:12-04:00", - "2024-03-13T13:16:35-04:00", - "2024-03-13T13:16:58-04:00", - "2024-03-13T13:17:21-04:00", - "2024-03-13T13:17:44-04:00", - "2024-03-13T13:18:07-04:00", - "2024-03-13T13:18:31-04:00", - "2024-03-13T13:18:56-04:00", - "2024-03-13T13:19:22-04:00", - "2024-03-13T13:19:46-04:00", - "2024-03-13T13:20:11-04:00", - "2024-03-13T13:20:38-04:00", - "2024-03-13T13:21:01-04:00", - "2024-03-13T13:21:25-04:00", - "2024-03-13T13:21:49-04:00", - "2024-03-13T13:22:16-04:00", - "2024-03-13T13:22:40-04:00", - "2024-03-13T13:23:04-04:00", - "2024-03-13T13:23:27-04:00", - "2024-03-13T13:23:50-04:00", - "2024-03-13T13:24:13-04:00", - "2024-03-13T13:24:36-04:00", - "2024-03-13T13:25:01-04:00", - "2024-03-13T13:25:24-04:00", - "2024-03-13T13:25:47-04:00", - "2024-03-13T13:26:10-04:00", - "2024-03-13T13:26:33-04:00", - "2024-03-13T13:26:56-04:00", - "2024-03-13T13:27:20-04:00", - "2024-03-13T13:27:43-04:00", - "2024-03-13T13:28:06-04:00", - "2024-03-13T13:28:29-04:00", - "2024-03-13T13:28:53-04:00", - "2024-03-13T13:29:17-04:00", - "2024-03-13T13:29:42-04:00", - "2024-03-13T13:30:06-04:00", - "2024-03-13T13:30:30-04:00", - "2024-03-13T13:30:53-04:00", - "2024-03-13T13:31:17-04:00", - "2024-03-13T13:31:41-04:00", - "2024-03-13T13:32:07-04:00", - "2024-03-13T13:32:30-04:00", - "2024-03-13T13:32:53-04:00", - "2024-03-13T13:33:16-04:00", - "2024-03-13T13:33:39-04:00", - "2024-03-13T13:34:02-04:00", - "2024-03-13T13:34:25-04:00", - "2024-03-13T13:34:48-04:00", - "2024-03-13T13:35:11-04:00", - "2024-03-13T13:35:34-04:00", - "2024-03-13T13:35:57-04:00", - "2024-03-13T13:36:24-04:00", - "2024-03-13T13:36:52-04:00", - "2024-03-13T13:37:15-04:00", - "2024-03-13T13:37:38-04:00", - "2024-03-13T13:38:02-04:00", - "2024-03-13T13:38:27-04:00", - "2024-03-13T13:38:51-04:00", - "2024-03-13T13:39:19-04:00", - "2024-03-13T13:39:44-04:00", - "2024-03-13T13:40:07-04:00", - "2024-03-13T13:40:30-04:00", - "2024-03-13T13:40:53-04:00", - "2024-03-13T13:41:16-04:00", - "2024-03-13T13:41:39-04:00", - "2024-03-13T13:42:04-04:00", - "2024-03-13T13:42:29-04:00", - "2024-03-13T13:42:52-04:00", - "2024-03-13T13:43:15-04:00", - "2024-03-13T13:43:38-04:00", - "2024-03-13T13:44:02-04:00", - "2024-03-13T13:44:26-04:00", - "2024-03-13T13:44:49-04:00", - "2024-03-13T13:45:12-04:00", - "2024-03-13T13:45:35-04:00", - "2024-03-13T13:45:58-04:00", - "2024-03-13T13:46:21-04:00", - "2024-03-13T13:46:44-04:00", - "2024-03-13T13:47:08-04:00", - "2024-03-13T13:47:34-04:00", - "2024-03-13T13:47:57-04:00", - "2024-03-13T13:48:21-04:00", - "2024-03-13T13:48:44-04:00", - "2024-03-13T13:49:07-04:00", - "2024-03-13T13:49:30-04:00", - "2024-03-13T13:49:53-04:00", - "2024-03-13T13:50:18-04:00", - "2024-03-13T13:50:41-04:00", - "2024-03-13T13:51:04-04:00", - "2024-03-13T13:51:27-04:00", - "2024-03-13T13:51:50-04:00", - "2024-03-13T13:52:13-04:00", - "2024-03-13T13:52:36-04:00", - "2024-03-13T13:52:59-04:00", - "2024-03-13T13:53:22-04:00", - "2024-03-13T13:53:45-04:00", - "2024-03-13T13:54:08-04:00", - "2024-03-13T13:54:31-04:00", - "2024-03-13T13:54:54-04:00", - "2024-03-13T13:55:19-04:00", - "2024-03-13T13:55:43-04:00", - "2024-03-13T13:56:06-04:00", - "2024-03-13T13:56:29-04:00", - "2024-03-13T13:56:52-04:00", - "2024-03-13T13:57:15-04:00", - "2024-03-13T13:57:38-04:00", - "2024-03-13T13:58:01-04:00", - "2024-03-13T13:58:25-04:00", - "2024-03-13T13:58:48-04:00", - "2024-03-13T13:59:12-04:00", - "2024-03-13T13:59:35-04:00", - "2024-03-13T13:59:58-04:00", - "2024-03-13T14:00:23-04:00", - "2024-03-13T14:00:48-04:00", - "2024-03-13T14:01:12-04:00", - "2024-03-13T14:01:36-04:00", - "2024-03-13T14:02:01-04:00", - "2024-03-13T14:02:24-04:00", - "2024-03-13T14:02:51-04:00", - "2024-03-13T14:03:15-04:00", - "2024-03-13T14:03:38-04:00", - "2024-03-13T14:04:02-04:00", - "2024-03-13T14:04:29-04:00", - "2024-03-13T14:04:52-04:00", - "2024-03-13T14:05:15-04:00", - "2024-03-13T14:05:39-04:00", - "2024-03-13T14:06:05-04:00", - "2024-03-13T14:06:33-04:00", - "2024-03-13T14:06:56-04:00", - "2024-03-13T14:07:21-04:00", - "2024-03-13T14:07:50-04:00", - "2024-03-13T14:08:14-04:00", - "2024-03-13T14:08:37-04:00", - "2024-03-13T14:09:03-04:00", - "2024-03-13T14:09:30-04:00", - "2024-03-13T14:09:53-04:00", - "2024-03-13T14:10:19-04:00", - "2024-03-13T14:10:43-04:00", - "2024-03-13T14:11:06-04:00", - "2024-03-13T14:11:31-04:00", - "2024-03-13T14:11:54-04:00", - "2024-03-13T14:12:17-04:00", - "2024-03-13T14:12:41-04:00", - "2024-03-13T14:13:05-04:00", - "2024-03-13T14:13:28-04:00", - "2024-03-13T14:13:51-04:00", - "2024-03-13T14:14:14-04:00", - "2024-03-13T14:14:39-04:00", - "2024-03-13T14:15:03-04:00", - "2024-03-13T14:15:26-04:00", - "2024-03-13T14:15:49-04:00", - "2024-03-13T14:16:12-04:00", - "2024-03-13T14:16:35-04:00", - "2024-03-13T14:16:58-04:00", - "2024-03-13T14:17:21-04:00", - "2024-03-13T14:17:47-04:00", - "2024-03-13T14:18:10-04:00", - "2024-03-13T14:18:35-04:00", - "2024-03-13T14:19:02-04:00", - "2024-03-13T14:19:25-04:00", - "2024-03-13T14:19:50-04:00", - "2024-03-13T14:20:13-04:00", - "2024-03-13T14:20:38-04:00", - "2024-03-13T14:21:01-04:00", - "2024-03-13T14:21:24-04:00", - "2024-03-13T14:21:47-04:00", - "2024-03-13T14:22:10-04:00", - "2024-03-13T14:22:33-04:00", - "2024-03-13T14:22:58-04:00", - "2024-03-13T14:23:21-04:00", - "2024-03-13T14:23:45-04:00", - "2024-03-13T14:24:11-04:00", - "2024-03-13T14:24:34-04:00", - "2024-03-13T14:24:58-04:00", - "2024-03-13T14:25:21-04:00", - "2024-03-13T14:25:44-04:00", - "2024-03-13T14:26:07-04:00", - "2024-03-13T14:26:30-04:00", - "2024-03-13T14:26:53-04:00", - "2024-03-13T14:27:16-04:00", - "2024-03-13T14:27:41-04:00", - "2024-03-13T14:28:05-04:00", - "2024-03-13T14:28:29-04:00", - "2024-03-13T14:28:52-04:00", - "2024-03-13T14:29:15-04:00", - "2024-03-13T14:29:39-04:00", - "2024-03-13T14:30:02-04:00", - "2024-03-13T14:30:28-04:00", - "2024-03-13T14:30:53-04:00", - "2024-03-13T14:31:17-04:00", - "2024-03-13T14:31:40-04:00", - "2024-03-13T14:32:03-04:00", - "2024-03-13T14:32:27-04:00", - "2024-03-13T14:32:52-04:00", - "2024-03-13T14:33:15-04:00", - "2024-03-13T14:33:40-04:00", - "2024-03-13T14:34:03-04:00", - "2024-03-13T14:34:28-04:00", - "2024-03-13T14:34:52-04:00", - "2024-03-13T14:35:15-04:00", - "2024-03-13T14:35:39-04:00", - "2024-03-13T14:36:02-04:00", - "2024-03-13T14:36:25-04:00", - "2024-03-13T14:36:48-04:00", - "2024-03-13T14:37:12-04:00", - "2024-03-13T14:37:35-04:00", - "2024-03-13T14:37:59-04:00", - "2024-03-13T14:38:22-04:00", - "2024-03-13T14:38:45-04:00", - "2024-03-13T14:39:08-04:00", - "2024-03-13T14:39:33-04:00", - "2024-03-13T14:39:57-04:00", - "2024-03-13T14:40:20-04:00", - "2024-03-13T14:40:43-04:00", - "2024-03-13T14:41:06-04:00", - "2024-03-13T14:41:30-04:00", - "2024-03-13T14:41:56-04:00", - "2024-03-13T14:42:21-04:00", - "2024-03-13T14:42:44-04:00", - "2024-03-13T14:43:07-04:00", - "2024-03-13T14:43:30-04:00", - "2024-03-13T14:43:53-04:00", - "2024-03-13T14:44:16-04:00", - "2024-03-13T14:44:40-04:00", - "2024-03-13T14:45:04-04:00", - "2024-03-13T14:45:29-04:00", - "2024-03-13T14:45:52-04:00", - "2024-03-13T14:46:16-04:00", - "2024-03-13T14:46:40-04:00", - "2024-03-13T14:47:03-04:00", - "2024-03-13T14:47:28-04:00", - "2024-03-13T14:47:53-04:00", - "2024-03-13T14:48:20-04:00", - "2024-03-13T14:48:43-04:00", - "2024-03-13T14:49:06-04:00", - "2024-03-13T14:49:29-04:00", - "2024-03-13T14:49:53-04:00", - "2024-03-13T14:50:16-04:00", - "2024-03-13T14:50:39-04:00", - "2024-03-13T14:51:02-04:00", - "2024-03-13T14:51:28-04:00", - "2024-03-13T14:51:51-04:00", - "2024-03-13T14:52:14-04:00", - "2024-03-13T14:52:39-04:00", - "2024-03-13T14:53:02-04:00", - "2024-03-13T14:53:28-04:00", - "2024-03-13T14:53:51-04:00", - "2024-03-13T14:54:14-04:00", - "2024-03-13T14:54:37-04:00", - "2024-03-13T14:55:04-04:00", - "2024-03-13T14:55:27-04:00", - "2024-03-13T14:55:50-04:00", - "2024-03-13T14:56:13-04:00", - "2024-03-13T14:56:36-04:00", - "2024-03-13T14:57:00-04:00", - "2024-03-13T14:57:23-04:00", - "2024-03-13T14:57:47-04:00", - "2024-03-13T14:58:10-04:00", - "2024-03-13T14:58:33-04:00", - "2024-03-13T14:58:56-04:00", - "2024-03-13T14:59:20-04:00", - "2024-03-13T14:59:43-04:00", - "2024-03-13T15:00:08-04:00", - "2024-03-13T15:00:31-04:00", - "2024-03-13T15:00:59-04:00", - "2024-03-13T15:01:23-04:00", - "2024-03-13T15:01:46-04:00", - "2024-03-13T15:02:09-04:00", - "2024-03-13T15:02:36-04:00", - "2024-03-13T15:03:03-04:00", - "2024-03-13T15:03:28-04:00", - "2024-03-13T15:04:01-04:00", - "2024-03-13T15:04:27-04:00", - "2024-03-13T15:04:52-04:00", - "2024-03-13T15:05:15-04:00", - "2024-03-13T15:05:40-04:00", - "2024-03-13T15:06:03-04:00", - "2024-03-13T15:06:26-04:00", - "2024-03-13T15:06:55-04:00", - "2024-03-13T15:07:19-04:00", - "2024-03-13T15:07:42-04:00", - "2024-03-13T15:08:05-04:00", - "2024-03-13T15:08:28-04:00", - "2024-03-13T15:08:51-04:00", - "2024-03-13T15:09:14-04:00", - "2024-03-13T15:09:37-04:00", - "2024-03-13T15:10:00-04:00", - "2024-03-13T15:10:24-04:00", - "2024-03-13T15:10:47-04:00", - "2024-03-13T15:11:11-04:00", - "2024-03-13T15:11:34-04:00", - "2024-03-13T15:11:57-04:00", - "2024-03-13T15:12:20-04:00", - "2024-03-13T15:12:43-04:00", - "2024-03-13T15:13:08-04:00", - "2024-03-13T15:13:31-04:00", - "2024-03-13T15:13:55-04:00", - "2024-03-13T15:14:19-04:00", - "2024-03-13T15:14:43-04:00", - "2024-03-13T15:15:06-04:00", - "2024-03-13T15:15:29-04:00", - "2024-03-13T15:15:54-04:00", - "2024-03-13T15:16:18-04:00", - "2024-03-13T15:16:42-04:00", - "2024-03-13T15:17:05-04:00", - "2024-03-13T15:17:28-04:00", - "2024-03-13T15:17:52-04:00", - "2024-03-13T15:18:15-04:00", - "2024-03-13T15:18:38-04:00", - "2024-03-13T15:19:02-04:00", - "2024-03-13T15:19:25-04:00", - "2024-03-13T15:19:50-04:00", - "2024-03-13T15:20:13-04:00", - "2024-03-13T15:20:37-04:00", - "2024-03-13T15:21:00-04:00", - "2024-03-13T15:21:23-04:00", - "2024-03-13T15:21:46-04:00", - "2024-03-13T15:22:10-04:00", - "2024-03-13T15:22:33-04:00", - "2024-03-13T15:22:56-04:00", - "2024-03-13T15:23:19-04:00", - "2024-03-13T15:23:42-04:00", - "2024-03-13T15:24:06-04:00", - "2024-03-13T15:24:29-04:00", - "2024-03-13T15:24:52-04:00", - "2024-03-13T15:25:15-04:00", - "2024-03-13T15:25:38-04:00", - "2024-03-13T15:26:02-04:00", - "2024-03-13T15:26:25-04:00", - "2024-03-13T15:26:49-04:00", - "2024-03-13T15:27:12-04:00", - "2024-03-13T15:27:36-04:00", - "2024-03-13T15:28:00-04:00", - "2024-03-13T15:28:23-04:00", - "2024-03-13T15:28:46-04:00", - "2024-03-13T15:29:09-04:00", - "2024-03-13T15:29:33-04:00", - "2024-03-13T15:29:57-04:00", - "2024-03-13T15:30:20-04:00", - "2024-03-13T15:30:43-04:00", - "2024-03-13T15:31:06-04:00", - "2024-03-13T15:31:29-04:00", - "2024-03-13T15:31:52-04:00", - "2024-03-13T15:32:17-04:00", - "2024-03-13T15:32:40-04:00", - "2024-03-13T15:33:04-04:00", - "2024-03-13T15:33:27-04:00", - "2024-03-13T15:33:50-04:00", - "2024-03-13T15:34:13-04:00", - "2024-03-13T15:34:37-04:00", - "2024-03-13T15:35:00-04:00", - "2024-03-13T15:35:24-04:00", - "2024-03-13T15:35:47-04:00", - "2024-03-13T15:36:10-04:00", - "2024-03-13T15:36:33-04:00", - "2024-03-13T15:36:56-04:00", - "2024-03-13T15:37:19-04:00", - "2024-03-13T15:37:42-04:00", - "2024-03-13T15:38:06-04:00", - "2024-03-13T15:38:30-04:00", - "2024-03-13T15:38:54-04:00", - "2024-03-13T15:39:17-04:00", - "2024-03-13T15:39:40-04:00", - "2024-03-13T15:40:03-04:00", - "2024-03-13T15:40:26-04:00", - "2024-03-13T15:40:50-04:00", - "2024-03-13T15:41:14-04:00", - "2024-03-13T15:41:37-04:00", - "2024-03-13T15:42:00-04:00", - "2024-03-13T15:42:25-04:00", - "2024-03-13T15:42:49-04:00", - "2024-03-13T15:43:12-04:00", - "2024-03-13T15:43:36-04:00", - "2024-03-13T15:44:00-04:00", - "2024-03-13T15:44:23-04:00", - "2024-03-13T15:44:46-04:00", - "2024-03-13T15:45:11-04:00", - "2024-03-13T15:45:34-04:00", - "2024-03-13T15:45:57-04:00", - "2024-03-13T15:46:21-04:00", - "2024-03-13T15:46:44-04:00", - "2024-03-13T15:47:07-04:00", - "2024-03-13T15:47:30-04:00", - "2024-03-13T15:47:53-04:00", - "2024-03-13T15:48:16-04:00", - "2024-03-13T15:48:39-04:00", - "2024-03-13T15:49:03-04:00", - "2024-03-13T15:49:26-04:00", - "2024-03-13T15:49:50-04:00", - "2024-03-13T15:50:13-04:00", - "2024-03-13T15:50:36-04:00", - "2024-03-13T15:50:59-04:00", - "2024-03-13T15:51:22-04:00", - "2024-03-13T15:51:45-04:00", - "2024-03-13T15:52:09-04:00", - "2024-03-13T15:52:32-04:00", - "2024-03-13T15:52:55-04:00", - "2024-03-13T15:53:18-04:00", - "2024-03-13T15:53:41-04:00", - "2024-03-13T15:54:05-04:00", - "2024-03-13T15:54:28-04:00", - "2024-03-13T15:54:51-04:00", - "2024-03-13T15:55:14-04:00", - "2024-03-13T15:55:38-04:00", - "2024-03-13T15:56:01-04:00", - "2024-03-13T15:56:24-04:00", - "2024-03-13T15:56:47-04:00", - "2024-03-13T15:57:10-04:00", - "2024-03-13T15:57:33-04:00", - "2024-03-13T15:57:56-04:00", - "2024-03-13T15:58:19-04:00", - "2024-03-13T15:58:42-04:00", - "2024-03-13T15:59:05-04:00", - "2024-03-13T15:59:28-04:00", - "2024-03-13T15:59:51-04:00" - ], - "y": [ - 70.6588, - 74.0781, - 76.6184, - 81.0538, - 86.0863, - 79.1605, - 74.0029, - 72.8934, - 72.8507, - 76.1505, - 66.7153, - 68.7059, - 64.1896, - 51.8066, - 42.4443, - 37.4637, - 35.4781, - 35.1437, - 33.8454, - 33.4184, - 34.9226, - 35.7155, - 35.5292, - 40.778, - 41.8017, - 44.2214, - 41.7823, - 41.5214, - 41.3752, - 37.9349, - 31.1626, - 29.1529, - 36.0429, - 41.7893, - 47.8396, - 52.3032, - 51.2388, - 47.1004, - 47.1445, - 46.148, - 40.815, - 41.8152, - 43.8559, - 45.7388, - 43.4221, - 45.2808, - 45.4761, - 42.5622, - 48.5374, - 49.5229, - 45.2526, - 43.1556, - 50.1711, - 56.6413, - 56.2924, - 60.4245, - 51.8519, - 47.1103, - 48.3845, - 49.0771, - 49.2647, - 51.8767, - 56.0966, - 55.342, - 59.7396, - 63.1412, - 68.01, - 70.6721, - 71.7444, - 66.9519, - 67.5398, - 70.204, - 70.8311, - 69.794, - 71.7171, - 68.3092, - 66.4428, - 65.5877, - 67.7659, - 69.8089, - 64.2172, - 66.415, - 70.3163, - 64.8817, - 61.9655, - 57.0879, - 55.3769, - 55.0206, - 56.5374, - 54.8134, - 50.6869, - 52.0504, - 54.2144, - 55.2858, - 56.7244, - 56.2969, - 58.1047, - 62.2537, - 55.187, - 59.5561, - 61.7644, - 53.0157, - 49.1994, - 49.9385, - 52.9732, - 45.5303, - 44.4964, - 44.7863, - 47.016, - 47.4667, - 38.8189, - 39.142, - 45.1467, - 45.2484, - 42.0495, - 38.7904, - 36.2714, - 35.9895, - 33.3089, - 41.0464, - 39.1922, - 50.9229, - 49.4791, - 49.6155, - 53.4561, - 58.7268, - 60.6581, - 57.2481, - 55.9597, - 49.0766, - 47.6838, - 48.6091, - 45.9827, - 48.2768, - 53.2173, - 60.3681, - 64.3711, - 63.8684, - 65.8072, - 66.9451, - 68.1166, - 71.3749, - 72.3984, - 69.5584, - 64.5196, - 68.5007, - 60.1998, - 55.2709, - 60.2929, - 58.4692, - 62.507, - 63.2396, - 67.8744, - 66.1331, - 57.8964, - 57.2914, - 55.5856, - 54.9516, - 52.059, - 47.4473, - 41.8509, - 40.8142, - 35.5584, - 32.5366, - 41.5331, - 43.9961, - 51.9604, - 51.7013, - 51.9715, - 51.0186, - 56.1633, - 61.588, - 64.1268, - 63.9524, - 65.7905, - 60.5004, - 62.2233, - 61.7042, - 54.3248, - 50.6712, - 49.788, - 50.6042, - 46.4543, - 48.5597, - 57.1515, - 60.3106, - 64.6636, - 66.567, - 66.5116, - 67.4788, - 72.2834, - 72.7063, - 68.2573, - 60.0161, - 59.4387, - 49.065, - 44.6176, - 49.1268, - 49.3942, - 50.083, - 54.3074, - 57.9568, - 58.7344, - 58.0763, - 59.626, - 56.8913, - 49.0133, - 57.254, - 58.8939, - 63.8606, - 65.734, - 62.8302, - 62.5114, - 63.5346, - 65.9099, - 69.9417, - 71.1263, - 73.2131, - 74.5882, - 69.1771, - 68.0506, - 67.0888, - 62.7316, - 60.3464, - 58.9573, - 59.2905, - 51.3519, - 52.0833, - 48.0605, - 52.1878, - 55.4395, - 45.5072, - 41.7099, - 39.92, - 39.3548, - 41.0531, - 47.1321, - 52.0096, - 49.3355, - 47.7812, - 50.8864, - 46.9267, - 41.963, - 41.7939, - 42.4465, - 44.2153, - 42.2106, - 33.8756, - 36.6648, - 44.1299, - 49.5374, - 52.6478, - 57.9303, - 62.0294, - 63.0446, - 63.2568, - 63.3406, - 61.0174, - 60.3237, - 56.8022, - 59.4471, - 61.6405, - 62.951, - 63.6988, - 60.9273, - 60.7168, - 63.5122, - 59.6567, - 62.3874, - 68.4422, - 70.9569, - 72.0002, - 65.9889, - 63.3783, - 65.1602, - 58.1686, - 53.1386, - 53.6878, - 53.8692, - 50.6627, - 45.5103, - 53.6683, - 49.701, - 44.3406, - 45.5684, - 45.1713, - 39.1757, - 34.0888, - 33.4877, - 33.4009, - 33.847, - 33.4185, - 30.2609, - 30.1224, - 38.3078, - 34.3638, - 32.9688, - 32.9761, - 29.4629, - 27.1434, - 31.8431, - 33.3692, - 35.8461, - 34.8559, - 34.2091, - 35.4003, - 33.7861, - 37.135, - 38.42, - 43.3057, - 48.8373, - 48.3204, - 44.044, - 48.9223, - 50.1454, - 56.7251, - 56.7432, - 60.0535, - 65.4472, - 63.0661, - 69.4499, - 71.3707, - 73.2184, - 77.4115, - 78.6578, - 74.1215, - 74.2748, - 76.6835, - 77.2346, - 78.5583, - 72.5256, - 60.5222, - 60.9135, - 58.6617, - 50.1241, - 54.9276, - 59.5089, - 63.5604, - 65.323, - 62.017, - 57.3479, - 49.5145, - 46.7806, - 48.2608, - 41.9491, - 29.3511, - 28.1972, - 28.5763, - 28.3637, - 27.0176, - 32.1453, - 36.9817, - 38.3507, - 35.3543, - 34.8313, - 39.8905, - 41.317, - 43.2002, - 48.3103, - 52.7875, - 59.4012, - 60.2179, - 60.2807, - 55.7741, - 51.9933, - 49.7335, - 53.2631, - 60.2455, - 62.449, - 58.1382, - 61.5507, - 58.8704, - 59.0433, - 58.1255, - 55.2822, - 57.8222, - 59.4594, - 57.6464, - 60.6601, - 54.9611, - 48.07, - 42.509, - 36.5093, - 31.6104, - 35.4341, - 32.4557, - 40.4537, - 40.6079, - 42.1411, - 41.1488, - 39.6495, - 48.1208, - 54.8013, - 56.347, - 59.9519, - 62.7588, - 58.3776, - 54.9517, - 53.2764, - 48.0628, - 45.9508, - 47.1868, - 42.7445, - 46.0197, - 49.3014, - 50.1857, - 49.9535, - 50.4203, - 51.7743, - 50.484, - 56.2292, - 53.7095, - 50.3401, - 49.9425, - 52.2719, - 51.7896, - 50.8249, - 51.8679, - 51.9832, - 51.8446, - 46.4135, - 43.0471, - 37.7659, - 39.5732, - 34.9009, - 34.1827, - 31.3668, - 30.12, - 28.2883, - 42.2249, - 54.5588, - 57.4083, - 53.3836, - 50.1514, - 50.7787, - 49.5587, - 50.6716, - 47.0584, - 52.4319, - 47.1938, - 46.9266, - 49.7077, - 48.7028, - 50.4353, - 56.7651, - 52.1616, - 41.3358, - 38.5146, - 36.4739, - 39.3569, - 33.8018, - 33.2418, - 33.1877, - 41.0331, - 47.2087, - 49.6902, - 45.3702, - 40.4537, - 39.5926, - 39.6681, - 37.2604, - 42.2538, - 44.2406, - 48.632, - 48.7597, - 44.9318, - 40.6087, - 34.4398, - 28.8355, - 32.4529, - 29.3151, - 30.0579, - 38.5382, - 34.1486, - 31.7106, - 27.9216, - 25.8313, - 29.4968, - 28.5016, - 28.9165, - 29.3776, - 29.344, - 27.9849, - 28.9646, - 25.1534, - 28.178, - 31.0117, - 30.1552, - 24.8101, - 22.178, - 23.6782, - 31.5545, - 29.6629, - 31.1039, - 34.6734, - 35.7125, - 32.623, - 31.3145, - 40.7454, - 48.5864, - 50.7216, - 52.9897, - 55.6961, - 56.8961, - 51.2304, - 52.6983, - 51.5797, - 55.7229, - 60.7316, - 60.8973, - 65.2939, - 66.3971, - 68.5843, - 70.8629, - 71.385, - 64.5677, - 48.4044, - 46.2699, - 52.8323, - 60.5308, - 62.5074, - 65.1609, - 66.5446, - 64.4144, - 66.5366, - 66.2113, - 61.7446, - 59.2303, - 45.4039, - 39.0664, - 35.2641, - 29.2007, - 31.1061, - 33.4464, - 31.1848, - 30.8415, - 29.3618, - 27.1607, - 23.2411, - 22.1972, - 28.8926, - 35.975, - 41.1365, - 38.7793, - 34.7568, - 29.6554, - 27.4152, - 32.0745, - 35.3153, - 34.1689, - 34.929, - 38.9559, - 39.3077, - 37.8622, - 37.0537, - 39.9538, - 40.4035, - 44.4482, - 42.5761, - 41.4984, - 41.3701, - 41.6501, - 43.5431, - 46.3091, - 51.7881, - 59.9395, - 56.9457, - 56.8707, - 60.9299, - 67.1144, - 70.1845, - 72.4306, - 73.9872, - 71.4663, - 73.1687, - 75.7587, - 77.3103, - 70.585, - 65.8397, - 62.5635, - 59.132, - 55.1873, - 55.1536, - 53.8138, - 46.4831, - 50.5687, - 56.9276, - 58.0803, - 52.5227, - 52.7246, - 57.9106, - 58.645, - 43.9303, - 43.2205, - 44.4567, - 43.2231, - 40.2412, - 40.1443, - 42.0298, - 43.7632, - 42.8412, - 46.923, - 42.9733, - 39.5876, - 36.3879, - 34.6508, - 30.6526, - 28.7976, - 33.1122, - 36.8523, - 36.7146, - 34.7833, - 33.1549, - 28.6589, - 27.7605, - 32.2838, - 34.6572, - 36.2557, - 41.2109, - 45.7093, - 38.1887, - 36.9867, - 36.5005, - 38.6799, - 35.5628, - 34.2263, - 33.8879, - 36.8266, - 43.0699, - 42.2327, - 42.8865, - 44.2628, - 47.3196, - 50.1544, - 47.5975, - 49.228, - 46.4282, - 44.2621, - 48.4357, - 54.192, - 57.8891, - 61.2215, - 67.8828, - 69.0601, - 70.8457, - 71.4328, - 67.0514, - 59.2232, - 58.3426, - 52.6553, - 53.4462, - 57.6019, - 59.076, - 61.0963, - 63.1526, - 54.4774, - 52.5295, - 57.2971, - 64.0285, - 67.8417, - 64.6734, - 65.5072, - 63.3395, - 65.7364, - 68.9204, - 70.2793, - 71.6316, - 69.9351, - 63.0208, - 64.6577, - 67.5807, - 53.8879, - 44.8984, - 39.0881, - 38.7919, - 41.6305, - 46.99, - 46.2415, - 47.247, - 48.3409, - 42.3717, - 40.9982, - 41.4086, - 42.6098, - 42.3857, - 39.0858, - 38.9178, - 42.6204, - 39.6889, - 39.5675, - 37.3891, - 43.299, - 45.5559, - 53.1201, - 56.0261, - 57.6118, - 61.9342, - 63.8897, - 61.256, - 57.6298, - 56.798, - 53.7126, - 55.5415, - 51.5105, - 49.6967, - 44.7039, - 45.6397, - 49.9599, - 51.2331, - 51.9071, - 55.3961, - 57.3501, - 59.9466, - 58.9835, - 64.1828, - 60.7691, - 53.1177, - 60.8961, - 59.8209, - 64.0885, - 67.2899, - 68.2356, - 64.8205, - 68.4208, - 71.5463, - 72.2612, - 70.8734, - 62.5302, - 55.1659, - 53.768, - 53.8831, - 57.2042, - 57.394, - 57.0462, - 61.5271, - 66.4683, - 65.543, - 65.3663, - 66.2098, - 65.1133, - 62.1077, - 62.1209, - 72.4374, - 74.1031, - 69.6025, - 62.7145, - 66.0964, - 71.3864, - 72.836, - 68.5693, - 62.9361, - 64.6771, - 60.9088, - 63.8053, - 65.7172, - 67.1022, - 71.0137, - 73.4394, - 73.7394, - 74.8361, - 73.3822, - 68.7697, - 61.9785, - 49.1783, - 54.2701, - 54.4524, - 60.19, - 58.5662, - 54.2298, - 57.1339, - 49.2671, - 45.4111, - 45.5851, - 43.0459, - 38.0235, - 32.236, - 33.8106, - 34.6222, - 30.7872, - 26.069, - 34.5965, - 38.4991, - 34.676, - 30.4942, - 34.791, - 47.3054, - 51.5548, - 50.1696, - 51.4431, - 53.1425, - 56.7608, - 59.1885, - 56.2132, - 57.4642, - 56.8199, - 61.9226, - 63.5792, - 67.8567, - 71.1807, - 73.3686, - 69.7443, - 68.2192, - 66.9898, - 69.7249, - 74.5402, - 76.8971, - 72.1846, - 60.8521, - 59.4211, - 60.2197, - 62.0054, - 63.3037, - 65.6884, - 65.9808, - 65.4042, - 65.4611, - 64.1236, - 64.7439, - 65.5742, - 64.8334, - 62.4552, - 64.4384, - 59.065, - 62.1464, - 61.6664, - 61.5642, - 62.6245, - 57.0192, - 51.5597, - 50.7769, - 47.8507, - 50.7909, - 51.5011, - 49.3546, - 53.5307, - 59.0443, - 61.5009, - 61.5876, - 63.6751, - 67.6925, - 57.3686, - 40.3885, - 45.0602, - 43.938, - 39.194, - 38.4148, - 45.4665, - 44.6803, - 43.384, - 44.4363, - 45.3455, - 45.1556, - 44.2208, - 40.5238, - 42.3594, - 47.3509, - 45.1893, - 41.2376, - 35.4098, - 34.7135, - 33.2864, - 29.7568, - 28.9021, - 33.2954, - 35.8565, - 36.1257, - 43.6581, - 48.8084, - 46.8078, - 53.3763, - 62.3534, - 63.4451, - 56.1232, - 53.1357, - 52.8528, - 61.2169, - 64.3785, - 60.7018, - 59.2625, - 64.015, - 60.8471, - 57.9533, - 58.2133, - 61.217, - 58.7905, - 61.0606, - 61.5667, - 58.6874, - 59.487, - 63.9218, - 54.974, - 49.5592, - 40.566, - 37.2134, - 33.0613, - 27.8147, - 24.5089, - 23.891, - 30.6429, - 30.1021, - 31.0062, - 29.5781, - 29.162, - 27.9132, - 25.0092, - 33.8149, - 39.0723, - 43.5097, - 44.3107, - 49.1375, - 51.8489, - 53.4277, - 51.4376, - 46.2402, - 39.386, - 43.4455, - 46.4738, - 53.2299, - 50.2193, - 46.3901, - 46.6571, - 46.4399, - 40.895, - 38.8994, - 36.6646, - 34.3344, - 29.7737, - 27.0984, - 23.4438, - 28.6884, - 27.4082, - 24.6757, - 26.3985, - 31.0941, - 41.3482, - 46.5169, - 46.0628, - 41.593, - 42.3346, - 44.8855, - 41.1779, - 41.085, - 42.5042, - 44.2055, - 42.7737, - 49.2587, - 50.0501, - 46.5106, - 51.2232, - 53.5767, - 55.6884, - 58.8644, - 53.1057, - 55.4707, - 57.3425, - 58.7805, - 58.7656, - 59.5781, - 48.6937, - 44.4593, - 47.7161, - 48.2495, - 46.853, - 47.985, - 41.6191, - 51.6916, - 51.6916, - 54.9621, - 67.7507, - 75.6382, - 77.4933, - 59.5788, - 61.9944, - 63.7523, - 67.5298, - 71.8132, - 59.5667, - 60.9631, - 56.4252, - 55.715, - 57.4906, - 61.0851, - 64.816, - 70.2747, - 71.7956, - 68.5415, - 65.2041, - 65.8614, - 61.9879, - 62.5827, - 64.1649, - 64.4314, - 64.4529, - 69.0092, - 71.4079, - 73.2613, - 74.5009, - 71.2916, - 69.7091, - 71.276, - 75.4711, - 76.7764, - 70.9116, - 70.9526, - 69.6594, - 67.5745, - 71.809, - 77.1165, - 70.4001, - 67.5579, - 70.4725, - 67.242, - 63.2847, - 66.8135, - 68.9041, - 69.551, - 70.5021, - 64.8023, - 59.6633, - 55.7886, - 54.7809, - 58.8486, - 64.1874, - 61.6799, - 59.3397, - 61.4287, - 62.0303, - 63.5622, - 65.157, - 65.3963, - 69.803, - 72.3324, - 67.6161, - 71.9713, - 71.8936, - 66.6856, - 63.7362, - 66.0238, - 69.5469, - 60.5491, - 58.3383, - 59.884, - 61.392, - 64.354, - 66.3709, - 67.487, - 63.6513, - 64.1994, - 55.0935, - 59.7483, - 60.9332, - 53.991, - 48.4368, - 49.6849, - 45.7838, - 45.3412, - 41.2636, - 39.2, - 39.6777, - 42.8911, - 46.1404, - 49.6942, - 49.0079, - 46.422, - 46.0178, - 41.1575, - 41.0288, - 41.7459, - 43.9397, - 46.2614, - 52.4153, - 46.4502, - 42.4418, - 42.8117, - 38.1857, - 35.5718, - 39.5776, - 41.7382, - 47.5631, - 49.1981, - 57.2021, - 58.7833, - 55.4194, - 51.3097, - 53.725, - 50.5286, - 53.3051, - 54.0512, - 46.5936, - 43.8782, - 42.2257, - 47.3881, - 52.1132, - 56.1728, - 49.2009, - 48.7511, - 50.5953, - 52.4445, - 52.4603, - 51.4157, - 47.3778, - 45.3969, - 48.3669, - 55.9347, - 54.588, - 50.8792, - 45.8394, - 45.4244, - 44.7271, - 46.2381, - 48.166, - 42.6797, - 42.6393, - 46.9098, - 49.847, - 48.5942, - 50.2909, - 49.5617, - 49.9422, - 46.6178, - 47.3821, - 49.3998, - 39.3752, - 35.8797, - 32.4966, - 39.1325, - 45.7656, - 41.4084, - 41.0421, - 42.2787, - 41.0695, - 40.7811, - 41.4754, - 42.781, - 39.8775, - 45.7245, - 53.579, - 54.9203, - 58.0867, - 53.8547, - 48.033, - 46.5341, - 53.1872, - 53.5896, - 49.555, - 48.57, - 45.538, - 38.8934, - 43.1096, - 42.5952, - 42.4657, - 41.9553, - 41.3108, - 30.941, - 25.7938, - 24.1293, - 25.6293, - 27.0804, - 29.1933, - 34.6694, - 47.7539, - 47.9939, - 42.2218, - 38.0696, - 32.5044, - 33.0739, - 38.0159, - 40.545, - 37.7783, - 35.5342, - 33.3562, - 32.0256, - 37.9538, - 39.5531, - 38.2314, - 38.9408, - 40.3288, - 45.9833, - 52.5024, - 46.6557, - 38.4235, - 36.9756, - 32.0854, - 37.5236, - 39.9634, - 42.0405, - 43.7128, - 51.0753, - 55.0723, - 58.239, - 51.3607, - 49.5394, - 51.2671, - 57.4211, - 54.473, - 52.0164, - 54.987, - 57.2865, - 58.6345, - 54.0339, - 55.7259, - 53.879, - 54.6438, - 57.2153, - 59.2871, - 59.5351, - 61.6136, - 62.5267, - 69.401, - 73.3601, - 65.6952, - 67.3743, - 66.4468, - 67.7209, - 67.7419, - 69.9318, - 71.7073, - 73.8826, - 75.5799, - 70.9942, - 68.2056, - 65.9809, - 66.5971, - 65.1953, - 61.3395, - 58.6471, - 58.7977, - 59.2728, - 58.1603, - 63.2862, - 64.9754, - 64.066, - 66.3143, - 57.6605, - 59.1954, - 62.8566, - 57.9486, - 60.0678, - 62.7297, - 69.3434, - 66.8824, - 62.4148, - 53.318, - 44.1117, - 48.5582, - 51.2067, - 50.6495, - 48.7665, - 48.4976, - 49.6464, - 51.6551, - 55.186, - 56.8792, - 58.476, - 64.4272, - 59.1681, - 53.3951, - 45.7277, - 44.1075, - 43.9264, - 41.3861, - 40.5152, - 40.9175, - 43.0021, - 44.5728, - 38.9549, - 36.5592, - 36.6348, - 36.844, - 37.5356, - 42.921, - 41.5392, - 35.5555, - 33.6484, - 33.3899, - 31.0731, - 34.724, - 32.6859, - 29.7323, - 31.7266, - 31.6444, - 33.0919, - 35.8771, - 35.8771, - 30.2309, - 25.9852, - 24.9118, - 24.4265, - 23.1243, - 21.4629, - 25.6604, - 49.5496, - 59.6023, - 62.9905, - 64.3422, - 64.6141, - 70.0833, - 75.7002, - 76.5133, - 69.6724, - 76.3998, - 75.6923, - 69.9976, - 70.8265, - 71.8842, - 73.3859, - 77.5689, - 77.2278, - 72.5356, - 73.7681, - 75.7203, - 75.2064, - 65.7982, - 61.56, - 57.9151, - 56.876, - 63.5142, - 64.9324, - 62.1043, - 50.0759, - 49.9475, - 52.0046, - 50.0501, - 49.8292, - 48.6001, - 50.7047, - 47.0202, - 40.5413, - 44.3883, - 46.5616, - 46.2693, - 47.018, - 50.3172, - 50.6065, - 50.9397, - 54.3474, - 52.0043, - 46.6715, - 51.204, - 45.5399, - 42.6895, - 48.1748, - 53.446, - 55.9598, - 53.1152, - 48.0676, - 47.4766, - 50.754, - 51.4863, - 50.9466, - 44.926, - 38.9457, - 36.5136, - 35.2295, - 33.3232, - 39.2934, - 38.5019, - 36.1022, - 38.0872, - 40.3799, - 42.5455, - 42.1015, - 41.83, - 37.9392, - 34.848, - 39.711, - 47.987, - 52.5732, - 52.3397, - 54.361, - 54.5499, - 50.2431, - 49.6035, - 50.2837, - 45.347, - 33.4685, - 34.0869, - 29.63, - 26.541, - 25.7959, - 22.5457, - 29.1079, - 30.9694, - 30.3894, - 31.8531, - 29.3475, - 28.3467, - 24.9762, - 20.74, - 22.4608, - 22.0001, - 27.9508, - 32.5778, - 32.8133, - 32.4403, - 33.6203, - 46.0615, - 40.6581, - 39.3376, - 35.8369, - 34.7197, - 44.7593, - 46.1729, - 47.2347, - 48.5, - 39.6783, - 37.0202, - 40.1339, - 38.0866, - 35.9327, - 35.7859, - 33.8589, - 33.5292, - 34.2195, - 31.6863, - 30.5864, - 37.7322, - 39.6145, - 36.3699, - 33.0168, - 28.3189, - 25.2124, - 22.8317, - 25.2139, - 26.9264, - 26.6669, - 29.1066, - 29.9332, - 28.6854, - 31.9833, - 32.8163, - 28.0556, - 30.0994, - 35.3893, - 34.744, - 31.9494, - 28.1401, - 37.2413, - 44.0959, - 50.1177, - 56.8149, - 60.1748, - 62.3234, - 64.3118, - 69.1204, - 71.2469, - 71.7129, - 72.1874, - 67.9772, - 64.2969, - 61.514, - 62.9921, - 66.2419, - 65.2669, - 65.3727, - 59.7353, - 56.8262, - 54.2513, - 55.8911, - 61.5176, - 62.1678, - 46.9983, - 53.3408, - 51.2964, - 52.4311, - 40.0469, - 36.6585, - 36.4387, - 42.3174, - 43.6687, - 42.3685, - 44.6848, - 46.6324, - 51.8426, - 54.6121, - 49.6269, - 49.4316, - 41.8333, - 36.554, - 29.0387, - 34.8301, - 32.5894, - 30.1814, - 30.9565, - 27.2567, - 27.3341, - 30.0163, - 28.2365, - 22.1954, - 19.5175, - 23.4514, - 27.2271, - 33.1573, - 30.6453, - 27.1376, - 24.1104, - 26.4096, - 26.2507, - 25.493, - 25.1589, - 25.6901, - 29.0923, - 33.6134, - 34.7797, - 30.7476, - 28.1193, - 31.0212, - 33.1534, - 30.6692, - 38.5224, - 40.2847, - 40.1615, - 38.3274, - 39.647, - 44.7332, - 43.578, - 49.7712, - 48.4903, - 48.9424, - 45.307, - 49.8783, - 53.5599, - 47.8463, - 48.9297, - 51.4236, - 58.1856, - 68.7184, - 70.4595, - 66.3521, - 68.9591, - 68.0587, - 69.4687, - 69.5541, - 67.5943, - 66.2153, - 67.8491, - 71.6024, - 72.8959, - 73.5058, - 73.8238, - 75.3149, - 72.7045, - 68.1056, - 70.9267, - 72.6608, - 74.7937, - 73.0517, - 63.0782, - 48.4789, - 42.9863, - 37.5083, - 34.2786, - 34.7731, - 39.7955, - 41.4104, - 41.1661, - 45.0827, - 47.5465, - 41.9344, - 40.7412, - 45.2851, - 54.3905, - 59.7852, - 61.8237, - 63.4397, - 65.6515, - 66.7461, - 61.6237, - 63.1033, - 64.3372, - 58.6068, - 55.545, - 58.9328, - 59.4764, - 56.8418, - 54.2514, - 42.0763, - 39.3363, - 40.5561, - 40.3735, - 39.8667, - 36.7154, - 33.1244, - 39.4131, - 38.8058, - 38.2551, - 39.9056, - 40.6588, - 34.4079, - 26.0332, - 30.0194, - 26.6671, - 24.007, - 23.7934, - 25.1564, - 32.7234, - 35.7966, - 37.0332, - 38.4462, - 40.5194, - 42.7608, - 41.4843, - 38.6965, - 39.1565, - 38.1607, - 39.0867, - 39.7398, - 46.5676, - 54.9963, - 52.5689, - 49.3251, - 57.1369, - 53.7016, - 56.233, - 51.1558, - 45.5315, - 45.4588, - 44.6214, - 47.9447, - 51.0222, - 52.6698, - 52.1759, - 52.1803, - 51.307, - 51.8368, - 55.3503, - 61.4839, - 66.2062, - 63.4808, - 60.3162, - 57.9358, - 50.2078, - 50.0062, - 49.7108, - 51.1911, - 47.65, - 46.0495, - 41.2985, - 47.3469, - 43.8323, - 45.4876, - 47.125, - 47.3903, - 50.9597, - 57.5498, - 60.2899, - 66.819, - 67.8581, - 65.7901, - 67.1977, - 71.0329, - 72.899, - 72.172, - 71.4421, - 73.689, - 65.0336, - 55.9013, - 51.784, - 48.8516, - 53.5366, - 60.1475, - 62.2856, - 63.4776, - 55.8096, - 46.1761, - 44.8729, - 46.8607, - 45.4667, - 48.1576, - 48.4079, - 51.8032, - 47.7848, - 49.5107, - 46.04, - 45.6246, - 50.0468, - 46.5928, - 48.8259, - 44.3605, - 41.6763, - 42.1427, - 42.0182, - 37.8422, - 32.1975, - 37.6103, - 43.6445, - 49.5088, - 49.7283, - 45.9572, - 46.9391, - 51.1929, - 52.858, - 54.2224, - 54.3992, - 53.5313, - 59.2588, - 62.0969, - 65.4795, - 69.1822, - 61.8522, - 58.6674, - 54.4518, - 53.5828, - 55.7531, - 51.9372, - 48.1832, - 47.8395, - 47.6798, - 46.3637, - 42.4457, - 38.363, - 34.6478, - 37.0209, - 42.6508, - 46.8151, - 52.7858, - 54.6905, - 52.4405, - 47.0709, - 41.3695, - 42.4019, - 39.1894, - 38.5172, - 33.8829, - 32.5899, - 37.9742, - 51.673, - 49.8305, - 45.2772, - 45.7381, - 42.1573, - 47.099, - 50.1126, - 55.0598, - 55.9497, - 56.7549, - 60.124, - 63.5, - 64.1488, - 64.4762, - 67.1093, - 61.379, - 61.6154, - 62.285, - 60.2337, - 61.6479, - 58.6071, - 57.5872, - 63.663, - 65.8452, - 66.7678, - 62.2785, - 65.3079, - 63.1177, - 61.4963, - 54.8726, - 48.0013, - 48.7003, - 33.0291, - 34.1869, - 37.1988, - 35.4526, - 38.4623, - 29.1829, - 29.1537, - 24.8367, - 20.4296, - 19.6528, - 25.0544, - 29.6229, - 31.7591, - 31.2944, - 41.6225, - 48.021, - 47.7542, - 45.891, - 43.5415, - 40.2626, - 37.0104, - 36.3041, - 34.886, - 43.4166, - 50.1277, - 45.6516, - 46.7034, - 43.3, - 41.1097, - 45.1564, - 48.3582, - 48.4517, - 49.5476, - 53.3584, - 53.388, - 54.2898, - 51.5544, - 55.2437, - 56.9359, - 57.5966, - 56.7739, - 56.787, - 53.5701, - 50.091, - 43.2547, - 38.8628, - 32.7677, - 39.7288, - 35.8758, - 35.1222, - 38.2272, - 39.3707, - 41.1695, - 44.1718, - 43.1456, - 51.3467, - 56.6013, - 49.9861, - 52.8197, - 56.376, - 52.7768, - 46.2272, - 44.8144, - 41.8472, - 46.5102, - 49.9522, - 49.4918, - 45.5451, - 49.8193, - 54.2772, - 54.0839, - 58.8829, - 53.414, - 51.9217, - 51.5084, - 52.3885, - 48.9159, - 49.3023, - 53.482, - 49.3553, - 44.7456, - 42.4628, - 40.5136, - 40.1642, - 47.0101, - 50.5811, - 56.3057, - 51.868, - 50.6707, - 56.1808, - 54.1487, - 52.684, - 50.1499, - 51.4792, - 49.9495, - 47.3242, - 49.4269, - 58.6436, - 53.997, - 54.3369, - 53.2183, - 48.1618, - 50.4903, - 57.9095, - 62.4597, - 66.9516, - 73.4138, - 67.888, - 65.2782, - 68.066, - 60.5114, - 52.0619, - 54.3261, - 48.6346, - 47.6181, - 44.4393, - 48.7899, - 42.8792, - 37.2458, - 31.491, - 19.9306, - 16.4576, - 14.8336, - 13.0163, - 22.2298, - 37.8377, - 43.1356, - 46.5848, - 51.0906, - 48.0967, - 47.3359, - 46.4948, - 44.9934, - 42.6632, - 47.4395, - 52.4804, - 55.262, - 55.3436, - 51.9664, - 54.387, - 55.1908, - 54.437, - 54.256, - 56.2037, - 57.7388, - 56.729, - 59.6662, - 58.9801, - 61.7193, - 63.1771, - 59.5695, - 58.4866, - 55.6875, - 49.5638, - 53.5321, - 51.3731, - 55.3752, - 57.0257, - 54.5419, - 48.1296, - 49.486, - 51.8941, - 49.7214, - 43.9963, - 40.837, - 36.9049, - 35.4773, - 40.2763, - 48.5095, - 51.7652, - 48.0827, - 44.927, - 45.4471, - 47.816, - 44.599, - 45.947, - 55.4287, - 57.1378, - 51.5448, - 41.7231, - 34.9927, - 38.2877, - 41.4148, - 40.6024, - 47.0749, - 43.4107, - 44.5111, - 42.6502, - 45.5173, - 43.6774, - 42.8289, - 40.0534, - 50.2151, - 57.3413, - 57.2797, - 61.8318, - 57.9908, - 59.2238, - 59.6001, - 58.2072, - 49.7763, - 37.3871, - 37.3871 - ] - } - ], - "layout": { - "height": 350, - "legend": { - "orientation": "h", - "traceorder": "normal", - "x": 1, - "xanchor": "right", - "y": 1.02, - "yanchor": "bottom" - }, - "margin": { - "b": 30, - "l": 30, - "r": 30, - "t": 30 - }, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#d6dfef" - }, - "error_y": { - "color": "#d6dfef" - }, - "marker": { - "line": { - "color": "#212226", - "width": 0.5 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#212226", - "width": 0.5 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#A2B1C6", - "gridcolor": "#313439", - "linecolor": "#313439", - "minorgridcolor": "#313439", - "startlinecolor": "#A2B1C6" - }, - "baxis": { - "endlinecolor": "#A2B1C6", - "gridcolor": "#313439", - "linecolor": "#313439", - "minorgridcolor": "#313439", - "startlinecolor": "#A2B1C6" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "heatmapgl": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmapgl" - } - ], - "histogram": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "marker": { - "line": { - "color": "#313439" - } - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "line": { - "color": "#313439" - } - }, - "type": "scattergl" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#313439" - }, - "line": { - "color": "#212226" - } - }, - "header": { - "fill": { - "color": "#2a3f5f" - }, - "line": { - "color": "#212226" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#d6dfef", - "arrowhead": 0, - "arrowwidth": 1 - }, - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#1f77b4", - "#ff7f0e", - "#2ca02c", - "#dc3912", - "#9467bd", - "#8c564b", - "#e377c2", - "#7f7f7f", - "#bcbd22", - "#17becf" - ], - "font": { - "color": "#d6dfef" - }, - "geo": { - "bgcolor": "#212226", - "lakecolor": "#212226", - "landcolor": "#212226", - "showlakes": true, - "showland": true, - "subunitcolor": "#313439" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "dark" - }, - "paper_bgcolor": "#212226", - "plot_bgcolor": "#212226", - "polar": { - "angularaxis": { - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "" - }, - "bgcolor": "#212226", - "radialaxis": { - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#212226", - "gridcolor": "#313439", - "gridwidth": 2, - "linecolor": "#313439", - "showbackground": true, - "ticks": "", - "zerolinecolor": "#aec0d6" - }, - "yaxis": { - "backgroundcolor": "#212226", - "gridcolor": "#313439", - "gridwidth": 2, - "linecolor": "#313439", - "showbackground": true, - "ticks": "", - "zerolinecolor": "#aec0d6" - }, - "zaxis": { - "backgroundcolor": "#212226", - "gridcolor": "#313439", - "gridwidth": 2, - "linecolor": "#313439", - "showbackground": true, - "ticks": "", - "zerolinecolor": "#aec0d6" - } - }, - "shapedefaults": { - "line": { - "color": "#d6dfef" - } - }, - "sliderdefaults": { - "bgcolor": "#aec0d6", - "bordercolor": "#212226", - "borderwidth": 1, - "tickwidth": 0 - }, - "ternary": { - "aaxis": { - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "" - }, - "baxis": { - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "" - }, - "bgcolor": "#212226", - "caxis": { - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "updatemenudefaults": { - "bgcolor": "#313439", - "borderwidth": 0 - }, - "xaxis": { - "automargin": true, - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "#313439", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "#313439", - "zerolinewidth": 2 - } - } - }, - "width": 1280, - "xaxis": { - "rangebreaks": [ - { - "bounds": [ - "2024-03-12T09:30:46-04:00", - "2024-03-12T09:30:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:31:10-04:00", - "2024-03-12T09:31:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:31:57-04:00", - "2024-03-12T09:32:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:33:32-04:00", - "2024-03-12T09:33:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:33:57-04:00", - "2024-03-12T09:33:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:34:44-04:00", - "2024-03-12T09:34:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:36:17-04:00", - "2024-03-12T09:36:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:36:41-04:00", - "2024-03-12T09:36:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:37:05-04:00", - "2024-03-12T09:37:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:41:19-04:00", - "2024-03-12T09:41:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:41:44-04:00", - "2024-03-12T09:41:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:43:17-04:00", - "2024-03-12T09:43:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:44:50-04:00", - "2024-03-12T09:44:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:47:33-04:00", - "2024-03-12T09:47:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:47:57-04:00", - "2024-03-12T09:47:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:48:21-04:00", - "2024-03-12T09:48:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:49:31-04:00", - "2024-03-12T09:49:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:49:55-04:00", - "2024-03-12T09:49:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:51:51-04:00", - "2024-03-12T09:51:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:52:39-04:00", - "2024-03-12T09:52:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:53:49-04:00", - "2024-03-12T09:53:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:55:45-04:00", - "2024-03-12T09:55:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:56:32-04:00", - "2024-03-12T09:56:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:58:05-04:00", - "2024-03-12T09:58:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:59:38-04:00", - "2024-03-12T09:59:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:00:02-04:00", - "2024-03-12T10:00:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:00:50-04:00", - "2024-03-12T10:00:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:02:23-04:00", - "2024-03-12T10:02:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:03:56-04:00", - "2024-03-12T10:03:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:04:43-04:00", - "2024-03-12T10:04:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:05:08-04:00", - "2024-03-12T10:05:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:05:32-04:00", - "2024-03-12T10:05:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:09:46-04:00", - "2024-03-12T10:09:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:10:57-04:00", - "2024-03-12T10:10:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:14:26-04:00", - "2024-03-12T10:14:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:18:40-04:00", - "2024-03-12T10:18:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:19:52-04:00", - "2024-03-12T10:19:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:25:16-04:00", - "2024-03-12T10:25:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:26:03-04:00", - "2024-03-12T10:26:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:29:08-04:00", - "2024-03-12T10:29:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:31:50-04:00", - "2024-03-12T10:31:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:33:00-04:00", - "2024-03-12T10:33:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:35:42-04:00", - "2024-03-12T10:35:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:39:34-04:00", - "2024-03-12T10:39:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:41:07-04:00", - "2024-03-12T10:41:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:41:31-04:00", - "2024-03-12T10:41:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:43:04-04:00", - "2024-03-12T10:43:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:43:51-04:00", - "2024-03-12T10:43:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:44:16-04:00", - "2024-03-12T10:44:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:46:36-04:00", - "2024-03-12T10:46:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:47:00-04:00", - "2024-03-12T10:47:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:47:47-04:00", - "2024-03-12T10:47:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:48:58-04:00", - "2024-03-12T10:49:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:49:23-04:00", - "2024-03-12T10:49:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:49:50-04:00", - "2024-03-12T10:49:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:50:15-04:00", - "2024-03-12T10:50:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:51:04-04:00", - "2024-03-12T10:51:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:51:29-04:00", - "2024-03-12T10:51:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:52:16-04:00", - "2024-03-12T10:52:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:53:07-04:00", - "2024-03-12T10:53:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:53:33-04:00", - "2024-03-12T10:53:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:53:59-04:00", - "2024-03-12T10:54:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:54:23-04:00", - "2024-03-12T10:54:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:54:47-04:00", - "2024-03-12T10:54:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:55:11-04:00", - "2024-03-12T10:55:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:56:44-04:00", - "2024-03-12T10:56:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:57:32-04:00", - "2024-03-12T10:57:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:58:42-04:00", - "2024-03-12T10:58:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:59:29-04:00", - "2024-03-12T10:59:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:01:03-04:00", - "2024-03-12T11:01:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:01:27-04:00", - "2024-03-12T11:01:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:02:37-04:00", - "2024-03-12T11:02:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:03:02-04:00", - "2024-03-12T11:03:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:03:26-04:00", - "2024-03-12T11:03:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:04:36-04:00", - "2024-03-12T11:04:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:05:00-04:00", - "2024-03-12T11:05:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:05:47-04:00", - "2024-03-12T11:05:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:06:34-04:00", - "2024-03-12T11:06:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:08:55-04:00", - "2024-03-12T11:08:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:09:20-04:00", - "2024-03-12T11:09:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:10:07-04:00", - "2024-03-12T11:10:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:11:18-04:00", - "2024-03-12T11:11:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:11:42-04:00", - "2024-03-12T11:11:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:13:22-04:00", - "2024-03-12T11:13:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:13:47-04:00", - "2024-03-12T11:13:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:16:06-04:00", - "2024-03-12T11:16:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:16:30-04:00", - "2024-03-12T11:16:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:16:54-04:00", - "2024-03-12T11:16:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:17:19-04:00", - "2024-03-12T11:17:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:17:44-04:00", - "2024-03-12T11:17:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:18:54-04:00", - "2024-03-12T11:18:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:19:19-04:00", - "2024-03-12T11:19:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:20:09-04:00", - "2024-03-12T11:20:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:21:04-04:00", - "2024-03-12T11:21:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:21:28-04:00", - "2024-03-12T11:21:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:21:52-04:00", - "2024-03-12T11:21:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:22:16-04:00", - "2024-03-12T11:22:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:22:42-04:00", - "2024-03-12T11:22:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:23:29-04:00", - "2024-03-12T11:23:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:24:19-04:00", - "2024-03-12T11:24:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:24:43-04:00", - "2024-03-12T11:24:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:25:31-04:00", - "2024-03-12T11:25:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:27:04-04:00", - "2024-03-12T11:27:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:27:34-04:00", - "2024-03-12T11:27:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:28:21-04:00", - "2024-03-12T11:28:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:28:47-04:00", - "2024-03-12T11:28:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:29:35-04:00", - "2024-03-12T11:29:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:30:00-04:00", - "2024-03-12T11:30:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:31:56-04:00", - "2024-03-12T11:32:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:33:09-04:00", - "2024-03-12T11:33:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:33:34-04:00", - "2024-03-12T11:33:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:33:58-04:00", - "2024-03-12T11:34:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:34:30-04:00", - "2024-03-12T11:34:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:35:04-04:00", - "2024-03-12T11:35:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:35:28-04:00", - "2024-03-12T11:35:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:36:15-04:00", - "2024-03-12T11:36:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:37:26-04:00", - "2024-03-12T11:37:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:37:52-04:00", - "2024-03-12T11:37:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:38:16-04:00", - "2024-03-12T11:38:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:38:43-04:00", - "2024-03-12T11:38:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:39:31-04:00", - "2024-03-12T11:39:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:39:55-04:00", - "2024-03-12T11:39:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:40:19-04:00", - "2024-03-12T11:40:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:41:06-04:00", - "2024-03-12T11:41:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:41:30-04:00", - "2024-03-12T11:41:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:41:54-04:00", - "2024-03-12T11:41:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:42:18-04:00", - "2024-03-12T11:42:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:42:44-04:00", - "2024-03-12T11:42:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:43:32-04:00", - "2024-03-12T11:43:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:44:22-04:00", - "2024-03-12T11:44:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:45:13-04:00", - "2024-03-12T11:45:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:45:37-04:00", - "2024-03-12T11:45:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:47:35-04:00", - "2024-03-12T11:47:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:49:08-04:00", - "2024-03-12T11:49:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:49:32-04:00", - "2024-03-12T11:49:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:50:20-04:00", - "2024-03-12T11:50:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:51:34-04:00", - "2024-03-12T11:51:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:52:03-04:00", - "2024-03-12T11:52:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:52:27-04:00", - "2024-03-12T11:52:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:52:52-04:00", - "2024-03-12T11:52:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:54:03-04:00", - "2024-03-12T11:54:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:54:56-04:00", - "2024-03-12T11:54:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:55:20-04:00", - "2024-03-12T11:55:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:56:44-04:00", - "2024-03-12T11:56:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:57:08-04:00", - "2024-03-12T11:57:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:57:56-04:00", - "2024-03-12T11:58:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:59:32-04:00", - "2024-03-12T11:59:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:59:57-04:00", - "2024-03-12T11:59:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:00:21-04:00", - "2024-03-12T12:00:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:01:34-04:00", - "2024-03-12T12:01:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:02:47-04:00", - "2024-03-12T12:02:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:03:13-04:00", - "2024-03-12T12:03:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:03:39-04:00", - "2024-03-12T12:03:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:04:04-04:00", - "2024-03-12T12:04:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:04:28-04:00", - "2024-03-12T12:04:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:04:52-04:00", - "2024-03-12T12:04:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:05:16-04:00", - "2024-03-12T12:05:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:05:47-04:00", - "2024-03-12T12:05:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:06:15-04:00", - "2024-03-12T12:06:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:07:25-04:00", - "2024-03-12T12:07:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:07:56-04:00", - "2024-03-12T12:08:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:08:46-04:00", - "2024-03-12T12:08:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:10:23-04:00", - "2024-03-12T12:10:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:10:49-04:00", - "2024-03-12T12:10:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:11:18-04:00", - "2024-03-12T12:11:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:12:52-04:00", - "2024-03-12T12:12:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:13:17-04:00", - "2024-03-12T12:13:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:14:05-04:00", - "2024-03-12T12:14:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:15:24-04:00", - "2024-03-12T12:15:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:15:48-04:00", - "2024-03-12T12:15:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:16:12-04:00", - "2024-03-12T12:16:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:16:36-04:00", - "2024-03-12T12:16:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:17:24-04:00", - "2024-03-12T12:17:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:17:50-04:00", - "2024-03-12T12:17:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:18:38-04:00", - "2024-03-12T12:18:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:19:06-04:00", - "2024-03-12T12:19:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:19:53-04:00", - "2024-03-12T12:19:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:21:03-04:00", - "2024-03-12T12:21:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:21:29-04:00", - "2024-03-12T12:21:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:21:54-04:00", - "2024-03-12T12:22:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:22:30-04:00", - "2024-03-12T12:22:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:23:45-04:00", - "2024-03-12T12:23:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:24:32-04:00", - "2024-03-12T12:24:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:24:56-04:00", - "2024-03-12T12:24:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:25:44-04:00", - "2024-03-12T12:25:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:26:09-04:00", - "2024-03-12T12:26:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:26:35-04:00", - "2024-03-12T12:26:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:26:59-04:00", - "2024-03-12T12:27:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:27:30-04:00", - "2024-03-12T12:27:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:27:54-04:00", - "2024-03-12T12:27:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:28:19-04:00", - "2024-03-12T12:28:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:28:43-04:00", - "2024-03-12T12:28:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:29:31-04:00", - "2024-03-12T12:29:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:29:57-04:00", - "2024-03-12T12:30:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:30:25-04:00", - "2024-03-12T12:30:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:30:50-04:00", - "2024-03-12T12:30:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:31:15-04:00", - "2024-03-12T12:31:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:32:02-04:00", - "2024-03-12T12:32:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:32:27-04:00", - "2024-03-12T12:32:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:32:53-04:00", - "2024-03-12T12:32:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:33:40-04:00", - "2024-03-12T12:33:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:34:06-04:00", - "2024-03-12T12:34:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:34:30-04:00", - "2024-03-12T12:34:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:35:40-04:00", - "2024-03-12T12:35:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:36:29-04:00", - "2024-03-12T12:36:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:37:40-04:00", - "2024-03-12T12:37:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:38:27-04:00", - "2024-03-12T12:38:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:38:51-04:00", - "2024-03-12T12:38:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:39:15-04:00", - "2024-03-12T12:39:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:39:39-04:00", - "2024-03-12T12:39:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:40:05-04:00", - "2024-03-12T12:40:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:40:29-04:00", - "2024-03-12T12:40:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:41:39-04:00", - "2024-03-12T12:41:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:43:36-04:00", - "2024-03-12T12:43:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:44:25-04:00", - "2024-03-12T12:44:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:44:52-04:00", - "2024-03-12T12:44:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:45:40-04:00", - "2024-03-12T12:45:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:46:27-04:00", - "2024-03-12T12:46:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:47:14-04:00", - "2024-03-12T12:47:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:47:38-04:00", - "2024-03-12T12:47:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:48:02-04:00", - "2024-03-12T12:48:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:48:26-04:00", - "2024-03-12T12:48:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:48:52-04:00", - "2024-03-12T12:48:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:49:19-04:00", - "2024-03-12T12:49:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:50:07-04:00", - "2024-03-12T12:50:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:50:31-04:00", - "2024-03-12T12:50:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:50:55-04:00", - "2024-03-12T12:51:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:51:29-04:00", - "2024-03-12T12:51:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:53:26-04:00", - "2024-03-12T12:53:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:53:51-04:00", - "2024-03-12T12:53:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:55:24-04:00", - "2024-03-12T12:55:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:55:48-04:00", - "2024-03-12T12:55:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:56:58-04:00", - "2024-03-12T12:57:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:57:46-04:00", - "2024-03-12T12:57:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:58:12-04:00", - "2024-03-12T12:58:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:58:37-04:00", - "2024-03-12T12:58:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:59:09-04:00", - "2024-03-12T12:59:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:59:33-04:00", - "2024-03-12T12:59:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:59:59-04:00", - "2024-03-12T13:00:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:00:23-04:00", - "2024-03-12T13:00:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:00:47-04:00", - "2024-03-12T13:00:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:01:14-04:00", - "2024-03-12T13:01:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:03:35-04:00", - "2024-03-12T13:03:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:04:01-04:00", - "2024-03-12T13:04:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:05:12-04:00", - "2024-03-12T13:05:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:05:36-04:00", - "2024-03-12T13:05:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:06:46-04:00", - "2024-03-12T13:06:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:07:11-04:00", - "2024-03-12T13:07:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:07:35-04:00", - "2024-03-12T13:07:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:08:26-04:00", - "2024-03-12T13:08:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:09:15-04:00", - "2024-03-12T13:09:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:10:02-04:00", - "2024-03-12T13:10:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:10:27-04:00", - "2024-03-12T13:10:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:10:56-04:00", - "2024-03-12T13:11:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:12:11-04:00", - "2024-03-12T13:12:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:12:36-04:00", - "2024-03-12T13:12:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:13:01-04:00", - "2024-03-12T13:13:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:14:01-04:00", - "2024-03-12T13:14:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:14:25-04:00", - "2024-03-12T13:14:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:16:00-04:00", - "2024-03-12T13:16:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:16:48-04:00", - "2024-03-12T13:16:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:17:19-04:00", - "2024-03-12T13:17:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:17:46-04:00", - "2024-03-12T13:17:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:18:11-04:00", - "2024-03-12T13:18:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:19:44-04:00", - "2024-03-12T13:19:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:20:08-04:00", - "2024-03-12T13:20:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:20:35-04:00", - "2024-03-12T13:20:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:21:00-04:00", - "2024-03-12T13:21:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:21:25-04:00", - "2024-03-12T13:21:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:23:00-04:00", - "2024-03-12T13:23:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:23:26-04:00", - "2024-03-12T13:23:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:25:23-04:00", - "2024-03-12T13:25:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:26:12-04:00", - "2024-03-12T13:26:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:26:41-04:00", - "2024-03-12T13:26:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:27:14-04:00", - "2024-03-12T13:27:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:27:38-04:00", - "2024-03-12T13:27:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:28:49-04:00", - "2024-03-12T13:28:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:29:40-04:00", - "2024-03-12T13:29:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:30:28-04:00", - "2024-03-12T13:30:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:31:15-04:00", - "2024-03-12T13:31:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:32:25-04:00", - "2024-03-12T13:32:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:33:26-04:00", - "2024-03-12T13:33:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:33:51-04:00", - "2024-03-12T13:33:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:34:16-04:00", - "2024-03-12T13:34:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:35:03-04:00", - "2024-03-12T13:35:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:35:32-04:00", - "2024-03-12T13:35:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:35:59-04:00", - "2024-03-12T13:36:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:38:18-04:00", - "2024-03-12T13:38:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:38:43-04:00", - "2024-03-12T13:38:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:39:36-04:00", - "2024-03-12T13:39:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:40:01-04:00", - "2024-03-12T13:40:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:40:51-04:00", - "2024-03-12T13:40:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:41:16-04:00", - "2024-03-12T13:41:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:41:40-04:00", - "2024-03-12T13:41:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:42:28-04:00", - "2024-03-12T13:42:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:42:57-04:00", - "2024-03-12T13:42:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:43:21-04:00", - "2024-03-12T13:43:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:43:46-04:00", - "2024-03-12T13:43:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:44:36-04:00", - "2024-03-12T13:44:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:45:03-04:00", - "2024-03-12T13:45:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:45:27-04:00", - "2024-03-12T13:45:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:45:51-04:00", - "2024-03-12T13:45:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:47:50-04:00", - "2024-03-12T13:47:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:48:37-04:00", - "2024-03-12T13:48:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:49:02-04:00", - "2024-03-12T13:49:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:49:49-04:00", - "2024-03-12T13:49:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:50:36-04:00", - "2024-03-12T13:50:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:51:01-04:00", - "2024-03-12T13:51:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:51:28-04:00", - "2024-03-12T13:51:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:51:54-04:00", - "2024-03-12T13:51:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:52:20-04:00", - "2024-03-12T13:52:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:52:45-04:00", - "2024-03-12T13:52:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:54:01-04:00", - "2024-03-12T13:54:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:55:17-04:00", - "2024-03-12T13:55:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:56:27-04:00", - "2024-03-12T13:56:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:56:51-04:00", - "2024-03-12T13:56:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:57:15-04:00", - "2024-03-12T13:57:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:57:40-04:00", - "2024-03-12T13:57:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:58:04-04:00", - "2024-03-12T13:58:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:58:28-04:00", - "2024-03-12T13:58:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:58:52-04:00", - "2024-03-12T13:58:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:59:39-04:00", - "2024-03-12T13:59:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:00:07-04:00", - "2024-03-12T14:00:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:00:31-04:00", - "2024-03-12T14:00:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:00:59-04:00", - "2024-03-12T14:01:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:01:24-04:00", - "2024-03-12T14:01:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:01:48-04:00", - "2024-03-12T14:01:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:02:12-04:00", - "2024-03-12T14:02:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:03:16-04:00", - "2024-03-12T14:03:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:04:03-04:00", - "2024-03-12T14:04:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:04:28-04:00", - "2024-03-12T14:04:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:05:16-04:00", - "2024-03-12T14:05:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:05:43-04:00", - "2024-03-12T14:05:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:06:53-04:00", - "2024-03-12T14:06:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:07:17-04:00", - "2024-03-12T14:07:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:07:42-04:00", - "2024-03-12T14:07:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:08:06-04:00", - "2024-03-12T14:08:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:08:54-04:00", - "2024-03-12T14:08:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:09:20-04:00", - "2024-03-12T14:09:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:09:44-04:00", - "2024-03-12T14:09:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:10:31-04:00", - "2024-03-12T14:10:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:11:20-04:00", - "2024-03-12T14:11:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:11:45-04:00", - "2024-03-12T14:11:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:12:11-04:00", - "2024-03-12T14:12:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:13:22-04:00", - "2024-03-12T14:13:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:14:40-04:00", - "2024-03-12T14:14:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:15:27-04:00", - "2024-03-12T14:15:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:16:15-04:00", - "2024-03-12T14:16:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:16:41-04:00", - "2024-03-12T14:16:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:17:08-04:00", - "2024-03-12T14:17:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:17:33-04:00", - "2024-03-12T14:17:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:18:44-04:00", - "2024-03-12T14:18:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:19:38-04:00", - "2024-03-12T14:19:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:20:04-04:00", - "2024-03-12T14:20:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:20:28-04:00", - "2024-03-12T14:20:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:21:38-04:00", - "2024-03-12T14:21:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:22:03-04:00", - "2024-03-12T14:22:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:22:27-04:00", - "2024-03-12T14:22:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:22:55-04:00", - "2024-03-12T14:23:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:23:48-04:00", - "2024-03-12T14:23:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:24:13-04:00", - "2024-03-12T14:24:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:26:57-04:00", - "2024-03-12T14:26:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:28:53-04:00", - "2024-03-12T14:28:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:29:17-04:00", - "2024-03-12T14:29:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:29:44-04:00", - "2024-03-12T14:29:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:30:13-04:00", - "2024-03-12T14:30:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:31:23-04:00", - "2024-03-12T14:31:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:32:10-04:00", - "2024-03-12T14:32:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:33:02-04:00", - "2024-03-12T14:33:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:33:37-04:00", - "2024-03-12T14:33:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:34:24-04:00", - "2024-03-12T14:34:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:34:50-04:00", - "2024-03-12T14:34:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:35:15-04:00", - "2024-03-12T14:35:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:35:42-04:00", - "2024-03-12T14:35:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:36:06-04:00", - "2024-03-12T14:36:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:36:40-04:00", - "2024-03-12T14:36:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:37:04-04:00", - "2024-03-12T14:37:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:37:28-04:00", - "2024-03-12T14:37:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:39:01-04:00", - "2024-03-12T14:39:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:39:25-04:00", - "2024-03-12T14:39:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:41:01-04:00", - "2024-03-12T14:41:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:41:25-04:00", - "2024-03-12T14:41:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:42:14-04:00", - "2024-03-12T14:42:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:42:39-04:00", - "2024-03-12T14:42:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:44:58-04:00", - "2024-03-12T14:45:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:46:11-04:00", - "2024-03-12T14:46:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:47:01-04:00", - "2024-03-12T14:47:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:48:12-04:00", - "2024-03-12T14:48:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:48:37-04:00", - "2024-03-12T14:48:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:49:08-04:00", - "2024-03-12T14:49:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:50:18-04:00", - "2024-03-12T14:50:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:51:58-04:00", - "2024-03-12T14:51:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:53:08-04:00", - "2024-03-12T14:53:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:53:47-04:00", - "2024-03-12T14:53:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:55:21-04:00", - "2024-03-12T14:55:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:56:08-04:00", - "2024-03-12T14:56:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:56:55-04:00", - "2024-03-12T14:56:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:57:22-04:00", - "2024-03-12T14:57:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:57:47-04:00", - "2024-03-12T14:57:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:58:39-04:00", - "2024-03-12T14:58:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:59:03-04:00", - "2024-03-12T14:59:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:59:51-04:00", - "2024-03-12T14:59:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:00:17-04:00", - "2024-03-12T15:00:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:00:43-04:00", - "2024-03-12T15:00:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:01:07-04:00", - "2024-03-12T15:01:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:01:56-04:00", - "2024-03-12T15:01:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:02:44-04:00", - "2024-03-12T15:02:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:03:33-04:00", - "2024-03-12T15:03:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:04:45-04:00", - "2024-03-12T15:04:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:05:10-04:00", - "2024-03-12T15:05:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:05:34-04:00", - "2024-03-12T15:05:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:06:21-04:00", - "2024-03-12T15:06:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:07:31-04:00", - "2024-03-12T15:07:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:08:19-04:00", - "2024-03-12T15:08:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:09:08-04:00", - "2024-03-12T15:09:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:09:32-04:00", - "2024-03-12T15:09:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:09:56-04:00", - "2024-03-12T15:09:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:10:20-04:00", - "2024-03-12T15:10:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:11:30-04:00", - "2024-03-12T15:11:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:12:40-04:00", - "2024-03-12T15:12:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:13:53-04:00", - "2024-03-12T15:13:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:16:12-04:00", - "2024-03-12T15:16:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:16:59-04:00", - "2024-03-12T15:17:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:17:23-04:00", - "2024-03-12T15:17:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:18:38-04:00", - "2024-03-12T15:18:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:19:25-04:00", - "2024-03-12T15:19:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:19:52-04:00", - "2024-03-12T15:19:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:20:40-04:00", - "2024-03-12T15:20:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:21:08-04:00", - "2024-03-12T15:21:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:23:06-04:00", - "2024-03-12T15:23:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:23:55-04:00", - "2024-03-12T15:24:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:24:23-04:00", - "2024-03-12T15:24:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:25:57-04:00", - "2024-03-12T15:25:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:26:21-04:00", - "2024-03-12T15:26:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:26:49-04:00", - "2024-03-12T15:26:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:27:38-04:00", - "2024-03-12T15:27:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:28:25-04:00", - "2024-03-12T15:28:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:29:40-04:00", - "2024-03-12T15:29:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:30:05-04:00", - "2024-03-12T15:30:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:30:52-04:00", - "2024-03-12T15:30:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:33:11-04:00", - "2024-03-12T15:33:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:33:37-04:00", - "2024-03-12T15:33:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:39:24-04:00", - "2024-03-12T15:39:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:39:48-04:00", - "2024-03-12T15:39:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:40:12-04:00", - "2024-03-12T15:40:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:40:36-04:00", - "2024-03-12T15:40:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:41:01-04:00", - "2024-03-12T15:41:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:42:36-04:00", - "2024-03-12T15:42:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:43:46-04:00", - "2024-03-12T15:43:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:44:34-04:00", - "2024-03-12T15:44:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:45:24-04:00", - "2024-03-12T15:45:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:45:48-04:00", - "2024-03-12T15:45:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:46:35-04:00", - "2024-03-12T15:46:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:48:54-04:00", - "2024-03-12T15:48:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:49:41-04:00", - "2024-03-12T15:49:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:50:30-04:00", - "2024-03-12T15:50:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:50:54-04:00", - "2024-03-12T15:50:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T16:00:07-04:00", - "2024-03-13T09:30:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:30:23-04:00", - "2024-03-13T09:30:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:31:10-04:00", - "2024-03-13T09:31:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:32:21-04:00", - "2024-03-13T09:32:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:35:26-04:00", - "2024-03-13T09:35:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:37:23-04:00", - "2024-03-13T09:37:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:38:10-04:00", - "2024-03-13T09:38:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:38:35-04:00", - "2024-03-13T09:38:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:40:54-04:00", - "2024-03-13T09:40:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:41:41-04:00", - "2024-03-13T09:41:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:47:53-04:00", - "2024-03-13T09:47:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:48:17-04:00", - "2024-03-13T09:48:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:52:55-04:00", - "2024-03-13T09:52:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:57:32-04:00", - "2024-03-13T09:57:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:57:56-04:00", - "2024-03-13T09:57:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:58:20-04:00", - "2024-03-13T09:58:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:59:53-04:00", - "2024-03-13T09:59:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:01:03-04:00", - "2024-03-13T10:01:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:09:30-04:00", - "2024-03-13T10:09:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:10:17-04:00", - "2024-03-13T10:10:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:10:42-04:00", - "2024-03-13T10:10:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:11:53-04:00", - "2024-03-13T10:11:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:12:17-04:00", - "2024-03-13T10:12:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:12:41-04:00", - "2024-03-13T10:12:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:14:14-04:00", - "2024-03-13T10:14:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:15:25-04:00", - "2024-03-13T10:15:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:18:53-04:00", - "2024-03-13T10:18:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:19:17-04:00", - "2024-03-13T10:19:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:19:43-04:00", - "2024-03-13T10:19:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:20:31-04:00", - "2024-03-13T10:20:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:21:41-04:00", - "2024-03-13T10:21:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:22:51-04:00", - "2024-03-13T10:22:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:24:25-04:00", - "2024-03-13T10:24:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:24:50-04:00", - "2024-03-13T10:24:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:26:23-04:00", - "2024-03-13T10:26:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:27:57-04:00", - "2024-03-13T10:27:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:28:45-04:00", - "2024-03-13T10:28:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:29:33-04:00", - "2024-03-13T10:29:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:29:58-04:00", - "2024-03-13T10:30:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:30:23-04:00", - "2024-03-13T10:30:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:31:33-04:00", - "2024-03-13T10:31:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:32:21-04:00", - "2024-03-13T10:32:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:33:08-04:00", - "2024-03-13T10:33:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:33:56-04:00", - "2024-03-13T10:34:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:34:23-04:00", - "2024-03-13T10:34:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:34:49-04:00", - "2024-03-13T10:34:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:36:22-04:00", - "2024-03-13T10:36:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:37:09-04:00", - "2024-03-13T10:37:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:38:42-04:00", - "2024-03-13T10:38:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:40:39-04:00", - "2024-03-13T10:40:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:41:49-04:00", - "2024-03-13T10:41:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:42:36-04:00", - "2024-03-13T10:42:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:43:46-04:00", - "2024-03-13T10:43:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:45:42-04:00", - "2024-03-13T10:45:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:47:40-04:00", - "2024-03-13T10:47:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:48:04-04:00", - "2024-03-13T10:48:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:49:38-04:00", - "2024-03-13T10:49:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:52:20-04:00", - "2024-03-13T10:52:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:56:57-04:00", - "2024-03-13T10:56:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:58:07-04:00", - "2024-03-13T10:58:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:01:12-04:00", - "2024-03-13T11:01:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:03:31-04:00", - "2024-03-13T11:03:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:03:55-04:00", - "2024-03-13T11:03:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:05:07-04:00", - "2024-03-13T11:05:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:05:56-04:00", - "2024-03-13T11:05:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:06:43-04:00", - "2024-03-13T11:06:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:09:26-04:00", - "2024-03-13T11:09:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:11:49-04:00", - "2024-03-13T11:11:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:13:23-04:00", - "2024-03-13T11:13:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:13:48-04:00", - "2024-03-13T11:13:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:14:37-04:00", - "2024-03-13T11:14:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:16:10-04:00", - "2024-03-13T11:16:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:18:07-04:00", - "2024-03-13T11:18:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:18:54-04:00", - "2024-03-13T11:18:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:19:43-04:00", - "2024-03-13T11:19:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:20:53-04:00", - "2024-03-13T11:20:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:21:41-04:00", - "2024-03-13T11:21:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:22:05-04:00", - "2024-03-13T11:22:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:23:22-04:00", - "2024-03-13T11:23:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:26:05-04:00", - "2024-03-13T11:26:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:26:53-04:00", - "2024-03-13T11:26:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:28:28-04:00", - "2024-03-13T11:28:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:30:48-04:00", - "2024-03-13T11:30:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:33:32-04:00", - "2024-03-13T11:33:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:38:36-04:00", - "2024-03-13T11:38:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:48:12-04:00", - "2024-03-13T11:48:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:48:36-04:00", - "2024-03-13T11:48:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:50:55-04:00", - "2024-03-13T11:50:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:53:40-04:00", - "2024-03-13T11:53:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:54:27-04:00", - "2024-03-13T11:54:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:54:52-04:00", - "2024-03-13T11:54:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:56:02-04:00", - "2024-03-13T11:56:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:56:49-04:00", - "2024-03-13T11:56:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:59:31-04:00", - "2024-03-13T11:59:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:03:22-04:00", - "2024-03-13T12:03:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:03:46-04:00", - "2024-03-13T12:03:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:05:19-04:00", - "2024-03-13T12:05:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:06:06-04:00", - "2024-03-13T12:06:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:07:16-04:00", - "2024-03-13T12:07:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:07:40-04:00", - "2024-03-13T12:07:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:10:23-04:00", - "2024-03-13T12:10:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:11:34-04:00", - "2024-03-13T12:11:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:11:58-04:00", - "2024-03-13T12:12:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:13:11-04:00", - "2024-03-13T12:13:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:13:37-04:00", - "2024-03-13T12:13:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:14:01-04:00", - "2024-03-13T12:14:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:18:38-04:00", - "2024-03-13T12:18:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:19:25-04:00", - "2024-03-13T12:19:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:21:01-04:00", - "2024-03-13T12:21:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:22:12-04:00", - "2024-03-13T12:22:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:23:00-04:00", - "2024-03-13T12:23:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:24:36-04:00", - "2024-03-13T12:24:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:25:46-04:00", - "2024-03-13T12:25:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:26:10-04:00", - "2024-03-13T12:26:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:27:20-04:00", - "2024-03-13T12:27:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:29:39-04:00", - "2024-03-13T12:29:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:30:49-04:00", - "2024-03-13T12:30:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:34:18-04:00", - "2024-03-13T12:34:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:36:14-04:00", - "2024-03-13T12:36:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:37:02-04:00", - "2024-03-13T12:37:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:37:27-04:00", - "2024-03-13T12:37:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:37:51-04:00", - "2024-03-13T12:37:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:39:47-04:00", - "2024-03-13T12:39:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:42:06-04:00", - "2024-03-13T12:42:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:46:43-04:00", - "2024-03-13T12:46:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:47:36-04:00", - "2024-03-13T12:47:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:51:27-04:00", - "2024-03-13T12:51:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:51:52-04:00", - "2024-03-13T12:51:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:52:39-04:00", - "2024-03-13T12:52:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:53:03-04:00", - "2024-03-13T12:53:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:54:13-04:00", - "2024-03-13T12:54:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:58:04-04:00", - "2024-03-13T12:58:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:00:26-04:00", - "2024-03-13T13:00:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:04:17-04:00", - "2024-03-13T13:04:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:04:42-04:00", - "2024-03-13T13:04:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:05:07-04:00", - "2024-03-13T13:05:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:05:55-04:00", - "2024-03-13T13:05:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:07:05-04:00", - "2024-03-13T13:07:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:07:29-04:00", - "2024-03-13T13:07:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:09:02-04:00", - "2024-03-13T13:09:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:09:26-04:00", - "2024-03-13T13:09:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:09:50-04:00", - "2024-03-13T13:09:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:10:37-04:00", - "2024-03-13T13:10:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:11:25-04:00", - "2024-03-13T13:11:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:12:35-04:00", - "2024-03-13T13:12:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:12:59-04:00", - "2024-03-13T13:13:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:13:27-04:00", - "2024-03-13T13:13:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:14:14-04:00", - "2024-03-13T13:14:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:15:24-04:00", - "2024-03-13T13:15:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:18:30-04:00", - "2024-03-13T13:18:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:18:54-04:00", - "2024-03-13T13:18:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:19:19-04:00", - "2024-03-13T13:19:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:19:45-04:00", - "2024-03-13T13:19:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:20:09-04:00", - "2024-03-13T13:20:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:20:34-04:00", - "2024-03-13T13:20:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:21:24-04:00", - "2024-03-13T13:21:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:21:48-04:00", - "2024-03-13T13:21:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:22:12-04:00", - "2024-03-13T13:22:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:22:39-04:00", - "2024-03-13T13:22:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:23:03-04:00", - "2024-03-13T13:23:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:24:59-04:00", - "2024-03-13T13:25:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:27:19-04:00", - "2024-03-13T13:27:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:28:52-04:00", - "2024-03-13T13:28:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:29:16-04:00", - "2024-03-13T13:29:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:29:40-04:00", - "2024-03-13T13:29:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:30:05-04:00", - "2024-03-13T13:30:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:30:29-04:00", - "2024-03-13T13:30:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:31:16-04:00", - "2024-03-13T13:31:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:31:40-04:00", - "2024-03-13T13:31:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:32:04-04:00", - "2024-03-13T13:32:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:36:20-04:00", - "2024-03-13T13:36:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:36:47-04:00", - "2024-03-13T13:36:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:38:01-04:00", - "2024-03-13T13:38:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:38:25-04:00", - "2024-03-13T13:38:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:38:50-04:00", - "2024-03-13T13:38:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:39:14-04:00", - "2024-03-13T13:39:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:39:42-04:00", - "2024-03-13T13:39:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:42:02-04:00", - "2024-03-13T13:42:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:42:27-04:00", - "2024-03-13T13:42:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:44:01-04:00", - "2024-03-13T13:44:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:44:25-04:00", - "2024-03-13T13:44:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:47:07-04:00", - "2024-03-13T13:47:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:47:31-04:00", - "2024-03-13T13:47:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:48:20-04:00", - "2024-03-13T13:48:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:50:16-04:00", - "2024-03-13T13:50:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:55:17-04:00", - "2024-03-13T13:55:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:55:42-04:00", - "2024-03-13T13:55:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:58:24-04:00", - "2024-03-13T13:58:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:59:11-04:00", - "2024-03-13T13:59:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:00:21-04:00", - "2024-03-13T14:00:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:00:46-04:00", - "2024-03-13T14:00:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:01:11-04:00", - "2024-03-13T14:01:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:01:35-04:00", - "2024-03-13T14:01:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:01:59-04:00", - "2024-03-13T14:02:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:02:47-04:00", - "2024-03-13T14:02:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:03:14-04:00", - "2024-03-13T14:03:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:04:01-04:00", - "2024-03-13T14:04:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:04:25-04:00", - "2024-03-13T14:04:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:05:38-04:00", - "2024-03-13T14:05:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:06:02-04:00", - "2024-03-13T14:06:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:06:28-04:00", - "2024-03-13T14:06:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:07:19-04:00", - "2024-03-13T14:07:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:07:44-04:00", - "2024-03-13T14:07:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:08:13-04:00", - "2024-03-13T14:08:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:09:00-04:00", - "2024-03-13T14:09:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:09:26-04:00", - "2024-03-13T14:09:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:10:16-04:00", - "2024-03-13T14:10:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:10:42-04:00", - "2024-03-13T14:10:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:11:29-04:00", - "2024-03-13T14:11:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:12:40-04:00", - "2024-03-13T14:12:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:13:04-04:00", - "2024-03-13T14:13:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:14:37-04:00", - "2024-03-13T14:14:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:15:02-04:00", - "2024-03-13T14:15:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:17:44-04:00", - "2024-03-13T14:17:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:18:33-04:00", - "2024-03-13T14:18:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:18:58-04:00", - "2024-03-13T14:19:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:19:48-04:00", - "2024-03-13T14:19:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:20:36-04:00", - "2024-03-13T14:20:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:22:56-04:00", - "2024-03-13T14:22:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:23:44-04:00", - "2024-03-13T14:23:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:24:08-04:00", - "2024-03-13T14:24:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:24:57-04:00", - "2024-03-13T14:24:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:27:39-04:00", - "2024-03-13T14:27:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:28:04-04:00", - "2024-03-13T14:28:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:28:28-04:00", - "2024-03-13T14:28:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:29:38-04:00", - "2024-03-13T14:29:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:30:25-04:00", - "2024-03-13T14:30:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:30:51-04:00", - "2024-03-13T14:30:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:31:16-04:00", - "2024-03-13T14:31:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:32:26-04:00", - "2024-03-13T14:32:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:32:50-04:00", - "2024-03-13T14:32:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:33:38-04:00", - "2024-03-13T14:33:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:34:26-04:00", - "2024-03-13T14:34:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:34:51-04:00", - "2024-03-13T14:34:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:35:38-04:00", - "2024-03-13T14:35:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:37:11-04:00", - "2024-03-13T14:37:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:37:58-04:00", - "2024-03-13T14:37:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:39:31-04:00", - "2024-03-13T14:39:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:39:56-04:00", - "2024-03-13T14:39:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:41:29-04:00", - "2024-03-13T14:41:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:41:53-04:00", - "2024-03-13T14:41:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:42:19-04:00", - "2024-03-13T14:42:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:44:39-04:00", - "2024-03-13T14:44:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:45:03-04:00", - "2024-03-13T14:45:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:45:27-04:00", - "2024-03-13T14:45:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:46:15-04:00", - "2024-03-13T14:46:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:46:39-04:00", - "2024-03-13T14:46:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:47:26-04:00", - "2024-03-13T14:47:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:47:51-04:00", - "2024-03-13T14:47:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:48:16-04:00", - "2024-03-13T14:48:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:49:52-04:00", - "2024-03-13T14:49:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:51:25-04:00", - "2024-03-13T14:51:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:52:37-04:00", - "2024-03-13T14:52:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:53:25-04:00", - "2024-03-13T14:53:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:55:00-04:00", - "2024-03-13T14:55:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:56:59-04:00", - "2024-03-13T14:57:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:57:46-04:00", - "2024-03-13T14:57:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:59:19-04:00", - "2024-03-13T14:59:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:00:06-04:00", - "2024-03-13T15:00:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:00:54-04:00", - "2024-03-13T15:00:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:01:22-04:00", - "2024-03-13T15:01:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:02:32-04:00", - "2024-03-13T15:02:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:02:59-04:00", - "2024-03-13T15:03:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:03:26-04:00", - "2024-03-13T15:03:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:03:51-04:00", - "2024-03-13T15:04:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:04:24-04:00", - "2024-03-13T15:04:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:04:50-04:00", - "2024-03-13T15:04:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:05:38-04:00", - "2024-03-13T15:05:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:06:49-04:00", - "2024-03-13T15:06:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:07:18-04:00", - "2024-03-13T15:07:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:10:23-04:00", - "2024-03-13T15:10:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:11:10-04:00", - "2024-03-13T15:11:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:13:06-04:00", - "2024-03-13T15:13:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:13:54-04:00", - "2024-03-13T15:13:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:14:18-04:00", - "2024-03-13T15:14:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:14:42-04:00", - "2024-03-13T15:14:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:15:52-04:00", - "2024-03-13T15:15:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:16:17-04:00", - "2024-03-13T15:16:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:16:41-04:00", - "2024-03-13T15:16:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:17:51-04:00", - "2024-03-13T15:17:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:19:01-04:00", - "2024-03-13T15:19:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:19:48-04:00", - "2024-03-13T15:19:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:20:36-04:00", - "2024-03-13T15:20:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:22:09-04:00", - "2024-03-13T15:22:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:24:05-04:00", - "2024-03-13T15:24:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:26:01-04:00", - "2024-03-13T15:26:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:26:48-04:00", - "2024-03-13T15:26:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:27:35-04:00", - "2024-03-13T15:27:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:27:59-04:00", - "2024-03-13T15:28:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:29:32-04:00", - "2024-03-13T15:29:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:29:56-04:00", - "2024-03-13T15:29:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:32:15-04:00", - "2024-03-13T15:32:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:33:03-04:00", - "2024-03-13T15:33:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:34:36-04:00", - "2024-03-13T15:34:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:35:23-04:00", - "2024-03-13T15:35:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:38:05-04:00", - "2024-03-13T15:38:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:38:29-04:00", - "2024-03-13T15:38:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:38:53-04:00", - "2024-03-13T15:38:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:40:49-04:00", - "2024-03-13T15:40:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:41:13-04:00", - "2024-03-13T15:41:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:42:23-04:00", - "2024-03-13T15:42:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:42:48-04:00", - "2024-03-13T15:42:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:43:35-04:00", - "2024-03-13T15:43:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:43:59-04:00", - "2024-03-13T15:44:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:45:09-04:00", - "2024-03-13T15:45:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:46:20-04:00", - "2024-03-13T15:46:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:49:02-04:00", - "2024-03-13T15:49:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:49:49-04:00", - "2024-03-13T15:49:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:52:08-04:00", - "2024-03-13T15:52:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:54:04-04:00", - "2024-03-13T15:54:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:55:37-04:00", - "2024-03-13T15:55:38-04:00" - ] - } - ] - } - } - } - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "close": [ - 35.93, - 35.97, - 35.975, - 36.07, - 36.065, - 36.04, - 36.035, - 36.015, - 36.04, - 36.041, - 36.005, - 36.04, - 35.99, - 35.935, - 35.8704, - 35.85, - 35.865, - 35.83, - 35.845, - 35.825, - 35.855, - 35.845, - 35.835, - 35.85, - 35.855, - 35.88, - 35.84, - 35.88, - 35.85, - 35.825, - 35.785, - 35.795, - 35.83, - 35.84, - 35.875, - 35.885, - 35.865, - 35.845, - 35.845, - 35.855, - 35.82, - 35.824, - 35.8388, - 35.825, - 35.825, - 35.845, - 35.83, - 35.815, - 35.865, - 35.845, - 35.825, - 35.82, - 35.875, - 35.8775, - 35.885, - 35.875, - 35.855, - 35.8394, - 35.865, - 35.845, - 35.8568, - 35.88, - 35.88, - 35.875, - 35.905, - 35.926, - 35.946, - 35.965, - 35.9675, - 35.955, - 35.955, - 35.982, - 35.975, - 35.975, - 35.985, - 35.98, - 35.985, - 35.98, - 35.97, - 35.99, - 35.96, - 36, - 36, - 35.99, - 35.985, - 35.965, - 35.965, - 35.9748, - 35.97, - 35.9645, - 35.96, - 35.955, - 35.975, - 35.974, - 35.965, - 35.9782, - 35.975, - 35.9894, - 35.974, - 35.9999, - 35.984, - 35.98, - 35.97, - 35.9599, - 35.98, - 35.95, - 35.9586, - 35.955, - 35.9594, - 35.96, - 35.9306, - 35.935, - 35.955, - 35.935, - 35.93, - 35.935, - 35.9201, - 35.91, - 35.92, - 35.925, - 35.936, - 35.95, - 35.9393, - 35.95, - 35.96, - 35.975, - 35.97, - 35.9601, - 35.9699, - 35.96, - 35.95, - 35.945, - 35.95, - 35.945, - 35.97, - 35.985, - 35.985, - 36, - 35.99, - 36.01, - 36.0192, - 36.02, - 36.0295, - 36.015, - 36.0199, - 36.015, - 36.0001, - 36.0095, - 36.02, - 36.0194, - 36.03, - 36.025, - 36.045, - 36.0292, - 36.015, - 36.015, - 36.0083, - 36.0103, - 35.99, - 36, - 35.98, - 35.97, - 35.9675, - 35.9687, - 35.97, - 35.9975, - 35.9991, - 36, - 35.9994, - 35.994, - 36.0188, - 36.0399, - 36.04, - 36.04, - 36.045, - 36.0387, - 36.04, - 36.024, - 36.024, - 36.005, - 36.016, - 36.005, - 36.001, - 36.015, - 36.035, - 36.05, - 36.0558, - 36.064, - 36.055, - 36.08, - 36.0886, - 36.086, - 36.075, - 36.065, - 36.055, - 36.02, - 36.034, - 36.04, - 36.0376, - 36.034, - 36.0597, - 36.07, - 36.055, - 36.0601, - 36.07, - 36.055, - 36.07, - 36.065, - 36.08, - 36.1, - 36.09, - 36.0922, - 36.085, - 36.1, - 36.115, - 36.124, - 36.1201, - 36.145, - 36.135, - 36.125, - 36.12, - 36.125, - 36.115, - 36.11, - 36.115, - 36.1001, - 36.1, - 36.105, - 36.095, - 36.1, - 36.1, - 36.09, - 36.065, - 36.065, - 36.07, - 36.074, - 36.0896, - 36.0942, - 36.08, - 36.095, - 36.0881, - 36.085, - 36.076, - 36.0659, - 36.075, - 36.065, - 36.0701, - 36.0401, - 36.0599, - 36.074, - 36.085, - 36.085, - 36.1085, - 36.115, - 36.114, - 36.115, - 36.115, - 36.1175, - 36.104, - 36.103, - 36.12, - 36.115, - 36.12, - 36.1149, - 36.115, - 36.12, - 36.1207, - 36.1175, - 36.125, - 36.14, - 36.15, - 36.14, - 36.135, - 36.145, - 36.145, - 36.126, - 36.13, - 36.13, - 36.13, - 36.12, - 36.125, - 36.125, - 36.11, - 36.11, - 36.1102, - 36.105, - 36.095, - 36.0805, - 36.0835, - 36.085, - 36.085, - 36.0886, - 36.075, - 36.085, - 36.085, - 36.0697, - 36.0742, - 36.0647, - 36.055, - 36.054, - 36.065, - 36.065, - 36.065, - 36.065, - 36.07, - 36.06, - 36.06, - 36.065, - 36.065, - 36.075, - 36.075, - 36.07, - 36.075, - 36.075, - 36.075, - 36.0832, - 36.085, - 36.095, - 36.094, - 36.0987, - 36.12, - 36.115, - 36.125, - 36.14, - 36.135, - 36.12, - 36.1393, - 36.135, - 36.145, - 36.145, - 36.125, - 36.125, - 36.125, - 36.1145, - 36.115, - 36.1232, - 36.14, - 36.135, - 36.14, - 36.13, - 36.12, - 36.105, - 36.11, - 36.115, - 36.085, - 36.0647, - 36.055, - 36.062, - 36.05, - 36.055, - 36.065, - 36.07, - 36.0761, - 36.055, - 36.0609, - 36.08, - 36.066, - 36.085, - 36.085, - 36.096, - 36.115, - 36.105, - 36.11, - 36.095, - 36.095, - 36.095, - 36.105, - 36.12, - 36.115, - 36.115, - 36.1189, - 36.115, - 36.115, - 36.115, - 36.115, - 36.115, - 36.1123, - 36.1132, - 36.12, - 36.105, - 36.095, - 36.09, - 36.07, - 36.065, - 36.07, - 36.065, - 36.075, - 36.07, - 36.075, - 36.0799, - 36.075, - 36.095, - 36.095, - 36.1099, - 36.115, - 36.125, - 36.105, - 36.105, - 36.095, - 36.09, - 36.096, - 36.085, - 36.075, - 36.095, - 36.09, - 36.0961, - 36.09, - 36.095, - 36.095, - 36.095, - 36.11, - 36.1, - 36.1, - 36.095, - 36.095, - 36.1, - 36.095, - 36.0975, - 36.095, - 36.1, - 36.085, - 36.09, - 36.075, - 36.075, - 36.075, - 36.07, - 36.065, - 36.065, - 36.065, - 36.085, - 36.0999, - 36.095, - 36.09, - 36.09, - 36.085, - 36.085, - 36.09, - 36.08, - 36.09, - 36.0831, - 36.0805, - 36.085, - 36.085, - 36.085, - 36.095, - 36.08, - 36.065, - 36.065, - 36.065, - 36.065, - 36.055, - 36.04, - 36.055, - 36.065, - 36.08, - 36.075, - 36.0674, - 36.05, - 36.055, - 36.0501, - 36.055, - 36.05, - 36.065, - 36.065, - 36.065, - 36.055, - 36.06, - 36.02, - 36.025, - 36.03, - 36.0199, - 36.025, - 36.025, - 36.015, - 36.015, - 36.005, - 35.99, - 35.99, - 35.99, - 35.99, - 35.995, - 35.995, - 35.995, - 35.995, - 35.98, - 35.9892, - 35.9885, - 35.99, - 35.95, - 35.96, - 35.964, - 35.965, - 35.965, - 35.9791, - 35.97, - 35.975, - 35.966, - 35.9634, - 35.985, - 35.985, - 35.996, - 35.995, - 36.005, - 36, - 35.9999, - 35.995, - 35.994, - 36.005, - 36.01, - 36.0163, - 36.025, - 36.025, - 36.035, - 36.04, - 36.0395, - 36.015, - 35.995, - 35.995, - 36.025, - 36.03, - 36.04, - 36.05, - 36.05, - 36.045, - 36.06, - 36.045, - 36.045, - 36.035, - 35.99, - 35.985, - 35.9707, - 35.955, - 35.965, - 35.965, - 35.955, - 35.955, - 35.945, - 35.925, - 35.911, - 35.9197, - 35.937, - 35.94, - 35.9501, - 35.935, - 35.915, - 35.9, - 35.895, - 35.905, - 35.91, - 35.905, - 35.905, - 35.9199, - 35.915, - 35.91, - 35.9178, - 35.918, - 35.915, - 35.92, - 35.915, - 35.9168, - 35.915, - 35.915, - 35.925, - 35.925, - 35.9401, - 35.945, - 35.948, - 35.945, - 35.9629, - 35.9799, - 35.99, - 35.991, - 36, - 35.995, - 36.005, - 36.019, - 36.0199, - 36.005, - 35.995, - 35.9917, - 35.99, - 35.9898, - 35.985, - 35.965, - 35.965, - 35.975, - 35.995, - 35.99, - 35.98, - 35.985, - 36, - 35.9877, - 35.955, - 35.965, - 35.965, - 35.965, - 35.95, - 35.955, - 35.955, - 35.955, - 35.955, - 35.9601, - 35.945, - 35.945, - 35.93, - 35.93, - 35.915, - 35.92, - 35.92, - 35.925, - 35.9261, - 35.915, - 35.92, - 35.894, - 35.905, - 35.905, - 35.9176, - 35.915, - 35.92, - 35.92, - 35.905, - 35.905, - 35.905, - 35.9081, - 35.89, - 35.8973, - 35.895, - 35.9, - 35.9099, - 35.905, - 35.91, - 35.905, - 35.915, - 35.9119, - 35.91, - 35.915, - 35.905, - 35.9017, - 35.91, - 35.925, - 35.93, - 35.932, - 35.946, - 35.945, - 35.96, - 35.955, - 35.945, - 35.944, - 35.93, - 35.935, - 35.935, - 35.945, - 35.945, - 35.945, - 35.945, - 35.935, - 35.945, - 35.94, - 35.97, - 35.966, - 35.966, - 35.965, - 35.965, - 35.9688, - 35.9719, - 35.9799, - 35.9842, - 35.975, - 35.97, - 35.975, - 35.9734, - 35.9499, - 35.935, - 35.93, - 35.9392, - 35.94, - 35.945, - 35.9419, - 35.95, - 35.945, - 35.935, - 35.9399, - 35.935, - 35.9379, - 35.93, - 35.925, - 35.935, - 35.932, - 35.925, - 35.925, - 35.93, - 35.9301, - 35.93, - 35.946, - 35.945, - 35.955, - 35.9598, - 35.965, - 35.955, - 35.95, - 35.955, - 35.96, - 35.956, - 35.95, - 35.945, - 35.94, - 35.9465, - 35.945, - 35.945, - 35.9459, - 35.96, - 35.955, - 35.955, - 35.9591, - 35.9699, - 35.9581, - 35.96, - 35.97, - 35.965, - 35.975, - 35.98, - 35.975, - 35.98, - 35.985, - 35.985, - 35.985, - 35.99, - 35.9788, - 35.9702, - 35.9684, - 35.975, - 35.98, - 35.975, - 35.98, - 35.985, - 35.99, - 35.9899, - 35.985, - 35.985, - 35.985, - 35.985, - 35.9888, - 36.005, - 36.0025, - 35.995, - 35.995, - 36.0041, - 36.015, - 36.0191, - 36.005, - 36.0082, - 36.005, - 36.001, - 36.015, - 36.0101, - 36.02, - 36.025, - 36.025, - 36.029, - 36.035, - 36.025, - 36.025, - 36.005, - 36.01, - 36.015, - 36.015, - 36.025, - 36.015, - 36.015, - 36.02, - 36.005, - 36.01, - 36.005, - 35.995, - 35.985, - 35.975, - 35.98, - 35.98, - 35.97, - 35.965, - 35.975, - 35.9784, - 35.955, - 35.96, - 35.97, - 36, - 35.985, - 35.9891, - 35.995, - 35.9939, - 36.01, - 36.005, - 36.005, - 36.005, - 36.015, - 36.02, - 36.03, - 36.035, - 36.045, - 36.04, - 36.045, - 36.045, - 36.04, - 36.06, - 36.0716, - 36.075, - 36.055, - 36.0497, - 36.045, - 36.0528, - 36.055, - 36.059, - 36.07, - 36.065, - 36.06, - 36.06, - 36.066, - 36.065, - 36.065, - 36.069, - 36.0601, - 36.0695, - 36.064, - 36.065, - 36.065, - 36.065, - 36.065, - 36.06, - 36.055, - 36.055, - 36.055, - 36.055, - 36.055, - 36.055, - 36.069, - 36.065, - 36.069, - 36.065, - 36.079, - 36.0781, - 36.04, - 36.0483, - 36.05, - 36.0446, - 36.04, - 36.045, - 36.045, - 36.045, - 36.05, - 36.045, - 36.045, - 36.049, - 36.045, - 36.035, - 36.0442, - 36.045, - 36.045, - 36.0317, - 36.025, - 36.035, - 36.02, - 36.015, - 36.02, - 36.02, - 36.025, - 36.025, - 36.035, - 36.035, - 36.04, - 36.045, - 36.055, - 36.0519, - 36.045, - 36.045, - 36.045, - 36.0625, - 36.065, - 36.05, - 36.065, - 36.0699, - 36.0634, - 36.055, - 36.065, - 36.065, - 36.065, - 36.065, - 36.065, - 36.065, - 36.0628, - 36.065, - 36.065, - 36.0401, - 36.035, - 36.0367, - 36.02, - 36.01, - 35.995, - 36.005, - 36.0024, - 36.005, - 36, - 36, - 35.995, - 36, - 35.995, - 36.005, - 36.01, - 36.01, - 36.015, - 36.03, - 36.025, - 36.025, - 36.025, - 36.005, - 36.0099, - 36.01, - 36.02, - 36.025, - 36.015, - 36.015, - 36.01, - 36.015, - 35.995, - 35.995, - 35.995, - 35.985, - 35.975, - 35.945, - 35.965, - 35.965, - 35.945, - 35.955, - 35.945, - 35.965, - 35.975, - 35.985, - 35.98, - 35.975, - 35.97, - 35.975, - 35.975, - 35.975, - 35.975, - 35.97, - 35.97, - 35.985, - 35.975, - 35.975, - 35.985, - 35.985, - 35.995, - 35.995, - 35.995, - 35.995, - 35.995, - 35.995, - 36.005, - 35.99, - 35.985, - 35.975, - 35.985, - 35.975, - 35.985, - 35.974, - 35.975, - 35.995, - 35.955, - 36.05, - 36.04, - 36.1, - 36.07, - 36.045, - 36.06, - 36.07, - 36.125, - 36.08, - 36.08, - 36.09, - 36.08, - 36.075, - 36.09, - 36.09, - 36.145, - 36.1703, - 36.18, - 36.155, - 36.16, - 36.16, - 36.15, - 36.145, - 36.16, - 36.1599, - 36.17, - 36.21, - 36.21, - 36.235, - 36.24, - 36.21, - 36.236, - 36.235, - 36.2814, - 36.26, - 36.2687, - 36.265, - 36.245, - 36.26, - 36.305, - 36.33, - 36.2807, - 36.295, - 36.31, - 36.285, - 36.31, - 36.315, - 36.34, - 36.335, - 36.33, - 36.315, - 36.29, - 36.295, - 36.285, - 36.31, - 36.336, - 36.32, - 36.325, - 36.3298, - 36.3299, - 36.345, - 36.35, - 36.35, - 36.375, - 36.39, - 36.375, - 36.4099, - 36.4, - 36.38, - 36.375, - 36.415, - 36.41, - 36.375, - 36.385, - 36.385, - 36.3908, - 36.426, - 36.43, - 36.405, - 36.425, - 36.39, - 36.4, - 36.42, - 36.41, - 36.39, - 36.365, - 36.37, - 36.36, - 36.37, - 36.34, - 36.32, - 36.335, - 36.35, - 36.3406, - 36.37, - 36.36, - 36.35, - 36.34, - 36.34, - 36.335, - 36.33, - 36.3406, - 36.36, - 36.365, - 36.3301, - 36.34, - 36.33, - 36.31, - 36.305, - 36.32, - 36.324, - 36.345, - 36.34, - 36.3701, - 36.3677, - 36.37, - 36.35, - 36.35, - 36.3492, - 36.365, - 36.355, - 36.3206, - 36.33, - 36.325, - 36.345, - 36.3601, - 36.365, - 36.335, - 36.345, - 36.3599, - 36.356, - 36.35, - 36.3527, - 36.334, - 36.335, - 36.355, - 36.375, - 36.355, - 36.346, - 36.335, - 36.32, - 36.335, - 36.34, - 36.338, - 36.325, - 36.325, - 36.345, - 36.345, - 36.345, - 36.335, - 36.34, - 36.34, - 36.335, - 36.335, - 36.34, - 36.32, - 36.295, - 36.305, - 36.325, - 36.31, - 36.316, - 36.3, - 36.315, - 36.305, - 36.305, - 36.315, - 36.304, - 36.305, - 36.31, - 36.335, - 36.335, - 36.335, - 36.325, - 36.3186, - 36.325, - 36.335, - 36.325, - 36.325, - 36.33, - 36.31, - 36.3001, - 36.315, - 36.31, - 36.3103, - 36.305, - 36.305, - 36.2693, - 36.255, - 36.24, - 36.26, - 36.255, - 36.27, - 36.2893, - 36.28, - 36.2801, - 36.265, - 36.266, - 36.245, - 36.245, - 36.27, - 36.2547, - 36.25, - 36.247, - 36.23, - 36.245, - 36.245, - 36.244, - 36.234, - 36.242, - 36.255, - 36.255, - 36.27, - 36.23, - 36.23, - 36.21, - 36.22, - 36.225, - 36.23, - 36.23, - 36.2344, - 36.27, - 36.275, - 36.2701, - 36.25, - 36.25, - 36.262, - 36.28, - 36.26, - 36.26, - 36.27, - 36.275, - 36.275, - 36.27, - 36.275, - 36.265, - 36.275, - 36.285, - 36.285, - 36.285, - 36.295, - 36.305, - 36.325, - 36.325, - 36.3138, - 36.3288, - 36.325, - 36.325, - 36.326, - 36.335, - 36.35, - 36.35, - 36.3588, - 36.3459, - 36.345, - 36.34, - 36.34, - 36.34, - 36.335, - 36.3315, - 36.3371, - 36.335, - 36.33, - 36.345, - 36.345, - 36.345, - 36.345, - 36.335, - 36.35, - 36.345, - 36.345, - 36.35, - 36.3501, - 36.363, - 36.365, - 36.355, - 36.33, - 36.335, - 36.336, - 36.3401, - 36.335, - 36.3399, - 36.335, - 36.335, - 36.345, - 36.3475, - 36.356, - 36.365, - 36.366, - 36.355, - 36.335, - 36.33, - 36.331, - 36.326, - 36.3297, - 36.325, - 36.325, - 36.325, - 36.324, - 36.315, - 36.315, - 36.315, - 36.314, - 36.3171, - 36.3206, - 36.314, - 36.305, - 36.31, - 36.3001, - 36.305, - 36.3001, - 36.295, - 36.295, - 36.29, - 36.2925, - 36.305, - 36.295, - 36.295, - 36.285, - 36.275, - 36.285, - 36.2787, - 36.276, - 36.27, - 36.285, - 36.3075, - 36.316, - 36.325, - 36.325, - 36.335, - 36.356, - 36.3625, - 36.36, - 36.365, - 36.4, - 36.375, - 36.371, - 36.385, - 36.375, - 36.39, - 36.405, - 36.405, - 36.395, - 36.4077, - 36.4101, - 36.41, - 36.395, - 36.3886, - 36.382, - 36.38, - 36.405, - 36.4, - 36.39, - 36.37, - 36.376, - 36.37, - 36.375, - 36.375, - 36.37, - 36.385, - 36.354, - 36.3526, - 36.36, - 36.365, - 36.365, - 36.3652, - 36.3722, - 36.375, - 36.37, - 36.384, - 36.365, - 36.3683, - 36.37, - 36.355, - 36.36, - 36.375, - 36.38, - 36.385, - 36.365, - 36.369, - 36.3699, - 36.3734, - 36.375, - 36.3673, - 36.35, - 36.345, - 36.34, - 36.33, - 36.345, - 36.3467, - 36.34, - 36.335, - 36.345, - 36.345, - 36.3486, - 36.345, - 36.345, - 36.3371, - 36.335, - 36.345, - 36.355, - 36.354, - 36.355, - 36.355, - 36.355, - 36.355, - 36.356, - 36.3501, - 36.335, - 36.32, - 36.32, - 36.31, - 36.305, - 36.305, - 36.295, - 36.305, - 36.305, - 36.305, - 36.3, - 36.296, - 36.295, - 36.275, - 36.275, - 36.275, - 36.28, - 36.28, - 36.285, - 36.28, - 36.28, - 36.2877, - 36.295, - 36.285, - 36.285, - 36.275, - 36.285, - 36.2986, - 36.29, - 36.295, - 36.29, - 36.265, - 36.286, - 36.275, - 36.275, - 36.2754, - 36.265, - 36.265, - 36.265, - 36.265, - 36.255, - 36.265, - 36.265, - 36.265, - 36.26, - 36.245, - 36.24, - 36.23, - 36.225, - 36.235, - 36.235, - 36.235, - 36.234, - 36.23, - 36.2391, - 36.235, - 36.23, - 36.22, - 36.235, - 36.235, - 36.235, - 36.2242, - 36.2299, - 36.23, - 36.2352, - 36.25, - 36.254, - 36.265, - 36.265, - 36.275, - 36.2801, - 36.285, - 36.29, - 36.285, - 36.28, - 36.27, - 36.28, - 36.29, - 36.2894, - 36.285, - 36.28, - 36.275, - 36.275, - 36.275, - 36.275, - 36.285, - 36.275, - 36.275, - 36.275, - 36.275, - 36.27, - 36.25, - 36.24, - 36.246, - 36.255, - 36.2586, - 36.26, - 36.255, - 36.265, - 36.2679, - 36.265, - 36.266, - 36.2605, - 36.25, - 36.23, - 36.225, - 36.2168, - 36.21, - 36.215, - 36.21, - 36.19, - 36.205, - 36.205, - 36.195, - 36.16, - 36.16, - 36.16, - 36.17, - 36.185, - 36.16, - 36.14, - 36.145, - 36.145, - 36.14, - 36.14, - 36.135, - 36.145, - 36.15, - 36.15, - 36.1414, - 36.14, - 36.134, - 36.1444, - 36.13, - 36.13, - 36.15, - 36.155, - 36.144, - 36.1349, - 36.15, - 36.145, - 36.15, - 36.15, - 36.15, - 36.1587, - 36.15, - 36.16, - 36.16, - 36.155, - 36.155, - 36.1696, - 36.18, - 36.2, - 36.21, - 36.201, - 36.2094, - 36.2073, - 36.215, - 36.205, - 36.205, - 36.205, - 36.21, - 36.225, - 36.2287, - 36.23, - 36.2299, - 36.235, - 36.22, - 36.225, - 36.235, - 36.235, - 36.245, - 36.24, - 36.215, - 36.2, - 36.185, - 36.18, - 36.1706, - 36.175, - 36.185, - 36.185, - 36.185, - 36.195, - 36.195, - 36.175, - 36.185, - 36.195, - 36.2095, - 36.225, - 36.225, - 36.235, - 36.235, - 36.2307, - 36.23, - 36.235, - 36.235, - 36.225, - 36.225, - 36.235, - 36.23, - 36.225, - 36.2019, - 36.195, - 36.1937, - 36.195, - 36.19, - 36.1919, - 36.1808, - 36.181, - 36.1895, - 36.185, - 36.1803, - 36.185, - 36.185, - 36.16, - 36.155, - 36.14, - 36.135, - 36.125, - 36.13, - 36.1372, - 36.14, - 36.1491, - 36.1492, - 36.1501, - 36.155, - 36.155, - 36.155, - 36.14, - 36.1443, - 36.145, - 36.15, - 36.155, - 36.1501, - 36.17, - 36.16, - 36.161, - 36.1782, - 36.175, - 36.175, - 36.16, - 36.15, - 36.15, - 36.155, - 36.165, - 36.165, - 36.1662, - 36.16, - 36.165, - 36.16, - 36.165, - 36.17, - 36.1899, - 36.1826, - 36.18, - 36.1869, - 36.175, - 36.165, - 36.171, - 36.1703, - 36.17, - 36.1634, - 36.16, - 36.166, - 36.165, - 36.16, - 36.165, - 36.16, - 36.16, - 36.175, - 36.1783, - 36.185, - 36.19, - 36.19, - 36.1901, - 36.19, - 36.2071, - 36.2001, - 36.205, - 36.2, - 36.205, - 36.19, - 36.19, - 36.185, - 36.18, - 36.195, - 36.2, - 36.21, - 36.205, - 36.185, - 36.18, - 36.185, - 36.18, - 36.18, - 36.185, - 36.185, - 36.18, - 36.1899, - 36.185, - 36.174, - 36.18, - 36.185, - 36.18, - 36.18, - 36.17, - 36.1769, - 36.175, - 36.17, - 36.1601, - 36.16, - 36.165, - 36.175, - 36.185, - 36.175, - 36.175, - 36.175, - 36.19, - 36.18, - 36.18, - 36.185, - 36.185, - 36.195, - 36.195, - 36.2, - 36.205, - 36.195, - 36.195, - 36.195, - 36.19, - 36.195, - 36.185, - 36.185, - 36.185, - 36.185, - 36.1878, - 36.175, - 36.17, - 36.165, - 36.17, - 36.175, - 36.18, - 36.18, - 36.18, - 36.185, - 36.1762, - 36.175, - 36.17, - 36.165, - 36.165, - 36.16, - 36.16, - 36.165, - 36.17, - 36.17, - 36.17, - 36.165, - 36.17, - 36.1781, - 36.175, - 36.185, - 36.185, - 36.185, - 36.195, - 36.195, - 36.195, - 36.195, - 36.195, - 36.195, - 36.195, - 36.195, - 36.195, - 36.195, - 36.19, - 36.196, - 36.206, - 36.2, - 36.205, - 36.205, - 36.2, - 36.2, - 36.1937, - 36.2, - 36.19, - 36.19, - 36.175, - 36.17, - 36.175, - 36.175, - 36.165, - 36.155, - 36.15, - 36.1362, - 36.135, - 36.13, - 36.13, - 36.145, - 36.145, - 36.14, - 36.155, - 36.16, - 36.16, - 36.155, - 36.155, - 36.145, - 36.146, - 36.14, - 36.14, - 36.155, - 36.15, - 36.15, - 36.155, - 36.145, - 36.145, - 36.155, - 36.155, - 36.155, - 36.155, - 36.16, - 36.155, - 36.165, - 36.155, - 36.165, - 36.1679, - 36.1681, - 36.165, - 36.165, - 36.16, - 36.155, - 36.145, - 36.14, - 36.145, - 36.145, - 36.1373, - 36.135, - 36.145, - 36.14, - 36.14, - 36.1483, - 36.15, - 36.156, - 36.155, - 36.156, - 36.155, - 36.1572, - 36.155, - 36.14, - 36.145, - 36.1499, - 36.144, - 36.155, - 36.145, - 36.144, - 36.155, - 36.155, - 36.155, - 36.165, - 36.15, - 36.155, - 36.15, - 36.155, - 36.15, - 36.15, - 36.1538, - 36.15, - 36.145, - 36.14, - 36.14, - 36.145, - 36.15, - 36.155, - 36.16, - 36.155, - 36.15, - 36.1572, - 36.155, - 36.155, - 36.155, - 36.15, - 36.1503, - 36.14, - 36.155, - 36.155, - 36.155, - 36.155, - 36.155, - 36.15, - 36.15, - 36.165, - 36.1683, - 36.175, - 36.185, - 36.18, - 36.185, - 36.182, - 36.165, - 36.165, - 36.165, - 36.166, - 36.155, - 36.155, - 36.16, - 36.14, - 36.14, - 36.105, - 36.06, - 36.0475, - 36.04, - 36.018, - 36.0586, - 36.08, - 36.105, - 36.12, - 36.1202, - 36.1, - 36.105, - 36.105, - 36.075, - 36.099, - 36.11, - 36.125, - 36.135, - 36.125, - 36.12, - 36.13, - 36.124, - 36.13, - 36.1299, - 36.145, - 36.136, - 36.15, - 36.145, - 36.165, - 36.155, - 36.155, - 36.155, - 36.155, - 36.135, - 36.13, - 36.14, - 36.14, - 36.145, - 36.155, - 36.135, - 36.1302, - 36.135, - 36.1497, - 36.13, - 36.115, - 36.115, - 36.095, - 36.105, - 36.115, - 36.135, - 36.135, - 36.12, - 36.115, - 36.125, - 36.13, - 36.105, - 36.121, - 36.125, - 36.145, - 36.125, - 36.0985, - 36.075, - 36.095, - 36.095, - 36.105, - 36.095, - 36.095, - 36.105, - 36.09, - 36.105, - 36.1, - 36.085, - 36.094, - 36.12, - 36.13, - 36.13, - 36.145, - 36.13, - 36.1442, - 36.145, - 36.13, - 36.09, - 36.08, - 36.07 - ], - "decreasing": { - "fillcolor": "#ee534f", - "line": { - "color": "#ee534f" - } - }, - "high": [ - 35.96, - 35.99, - 35.985, - 36.075, - 36.09, - 36.065, - 36.04, - 36.04, - 36.055, - 36.0699, - 36.045, - 36.055, - 36.055, - 35.995, - 35.925, - 35.895, - 35.8804, - 35.875, - 35.85, - 35.85, - 35.855, - 35.865, - 35.86, - 35.88, - 35.875, - 35.89, - 35.88, - 35.88, - 35.875, - 35.85, - 35.84, - 35.8, - 35.84, - 35.84, - 35.885, - 35.89, - 35.885, - 35.88, - 35.8699, - 35.86, - 35.85, - 35.83, - 35.84, - 35.85, - 35.84, - 35.845, - 35.86, - 35.84, - 35.87, - 35.87, - 35.84, - 35.83, - 35.88, - 35.885, - 35.89, - 35.91, - 35.8799, - 35.86, - 35.865, - 35.87, - 35.86, - 35.88, - 35.89, - 35.89, - 35.91, - 35.926, - 35.96, - 35.97, - 35.97, - 35.97, - 35.96, - 35.9875, - 35.9887, - 35.98, - 35.996, - 35.986, - 35.99, - 35.99, - 35.99, - 36, - 35.9879, - 36.01, - 36.015, - 36, - 35.9981, - 35.99, - 35.98, - 35.9748, - 35.98, - 35.976, - 35.97, - 35.9699, - 35.98, - 35.98, - 35.98, - 35.98, - 35.98, - 36, - 35.99, - 36, - 36, - 35.99, - 35.97, - 35.98, - 35.98, - 35.98, - 35.96, - 35.96, - 35.9699, - 35.97, - 35.96, - 35.94, - 35.96, - 35.9599, - 35.95, - 35.9399, - 35.9367, - 35.93, - 35.92, - 35.93, - 35.9391, - 35.96, - 35.95, - 35.95, - 35.96, - 35.98, - 35.98, - 35.97, - 35.97, - 35.9685, - 35.96, - 35.96, - 35.95, - 35.95, - 35.97, - 35.99, - 36, - 36, - 36, - 36.01, - 36.0192, - 36.02, - 36.0297, - 36.025, - 36.02, - 36.03, - 36.02, - 36.01, - 36.02, - 36.0194, - 36.03, - 36.03, - 36.05, - 36.05, - 36.03, - 36.03, - 36.02, - 36.02, - 36.02, - 36, - 35.995, - 35.9884, - 35.98, - 35.97, - 35.97, - 36, - 36, - 36, - 36, - 36, - 36.02, - 36.04, - 36.04, - 36.04, - 36.05, - 36.05, - 36.04, - 36.0479, - 36.03, - 36.03, - 36.02, - 36.02, - 36.01, - 36.02, - 36.04, - 36.05, - 36.06, - 36.07, - 36.07, - 36.08, - 36.09, - 36.09, - 36.09, - 36.075, - 36.07, - 36.0585, - 36.0362, - 36.04, - 36.04, - 36.04, - 36.06, - 36.07, - 36.07, - 36.07, - 36.07, - 36.07, - 36.07, - 36.07, - 36.08, - 36.1, - 36.105, - 36.1, - 36.1, - 36.1, - 36.12, - 36.125, - 36.13, - 36.1474, - 36.1475, - 36.136, - 36.14, - 36.13, - 36.13, - 36.12, - 36.115, - 36.12, - 36.105, - 36.105, - 36.1, - 36.105, - 36.1108, - 36.1, - 36.09, - 36.08, - 36.075, - 36.08, - 36.09, - 36.1, - 36.096, - 36.095, - 36.0969, - 36.09, - 36.08, - 36.0799, - 36.08, - 36.08, - 36.076, - 36.07, - 36.06, - 36.075, - 36.085, - 36.09, - 36.11, - 36.12, - 36.12, - 36.1199, - 36.12, - 36.12, - 36.12, - 36.11, - 36.12, - 36.1199, - 36.125, - 36.13, - 36.12, - 36.12, - 36.13, - 36.121, - 36.13, - 36.15, - 36.15, - 36.15, - 36.15, - 36.145, - 36.145, - 36.145, - 36.13, - 36.13, - 36.13, - 36.1283, - 36.125, - 36.13, - 36.13, - 36.115, - 36.115, - 36.118, - 36.1, - 36.095, - 36.0881, - 36.085, - 36.09, - 36.09, - 36.08, - 36.085, - 36.085, - 36.0807, - 36.076, - 36.08, - 36.0688, - 36.06, - 36.065, - 36.0683, - 36.07, - 36.07, - 36.07, - 36.065, - 36.0675, - 36.0682, - 36.07, - 36.075, - 36.08, - 36.08, - 36.08, - 36.08, - 36.08, - 36.09, - 36.085, - 36.1, - 36.1, - 36.1, - 36.12, - 36.12, - 36.13, - 36.14, - 36.14, - 36.14, - 36.1393, - 36.14, - 36.15, - 36.15, - 36.142, - 36.13, - 36.1267, - 36.13, - 36.115, - 36.125, - 36.14, - 36.1378, - 36.15, - 36.14, - 36.136, - 36.126, - 36.115, - 36.12, - 36.12, - 36.085, - 36.07, - 36.066, - 36.066, - 36.06, - 36.07, - 36.075, - 36.08, - 36.075, - 36.065, - 36.08, - 36.08, - 36.085, - 36.09, - 36.1, - 36.115, - 36.11, - 36.11, - 36.11, - 36.097, - 36.095, - 36.11, - 36.12, - 36.12, - 36.115, - 36.12, - 36.12, - 36.115, - 36.12, - 36.1167, - 36.12, - 36.12, - 36.12, - 36.125, - 36.12, - 36.11, - 36.1, - 36.087, - 36.07, - 36.08, - 36.065, - 36.08, - 36.08, - 36.0789, - 36.0799, - 36.075, - 36.095, - 36.105, - 36.1099, - 36.1183, - 36.125, - 36.12, - 36.11, - 36.11, - 36.0999, - 36.096, - 36.095, - 36.085, - 36.095, - 36.096, - 36.1, - 36.1, - 36.0983, - 36.1, - 36.095, - 36.11, - 36.105, - 36.1, - 36.095, - 36.1, - 36.1, - 36.1, - 36.1, - 36.1, - 36.1, - 36.1, - 36.09, - 36.085, - 36.09, - 36.08, - 36.08, - 36.0701, - 36.07, - 36.07, - 36.09, - 36.1, - 36.1, - 36.1, - 36.09, - 36.09, - 36.09, - 36.09, - 36.09, - 36.0961, - 36.09, - 36.085, - 36.085, - 36.0899, - 36.09, - 36.1, - 36.096, - 36.085, - 36.07, - 36.07, - 36.07, - 36.0684, - 36.06, - 36.06, - 36.07, - 36.08, - 36.075, - 36.075, - 36.066, - 36.06, - 36.056, - 36.06, - 36.06, - 36.065, - 36.066, - 36.07, - 36.066, - 36.06, - 36.055, - 36.0289, - 36.035, - 36.035, - 36.03, - 36.04, - 36.0258, - 36.015, - 36.015, - 36.005, - 36.005, - 35.9999, - 36, - 36, - 36, - 36, - 35.995, - 36, - 35.99, - 35.99, - 35.99, - 35.9891, - 35.97, - 35.97, - 35.98, - 35.97, - 35.9791, - 35.98, - 35.98, - 35.9785, - 35.97, - 35.985, - 35.99, - 35.996, - 35.9999, - 36.0076, - 36.01, - 36, - 36, - 35.996, - 36.01, - 36.02, - 36.0163, - 36.025, - 36.03, - 36.035, - 36.04, - 36.04, - 36.04, - 36.02, - 36.005, - 36.03, - 36.04, - 36.04, - 36.05, - 36.05, - 36.05, - 36.06, - 36.06, - 36.05, - 36.045, - 36.03, - 36.0087, - 35.99, - 35.975, - 35.97, - 35.97, - 35.9692, - 35.96, - 35.955, - 35.945, - 35.9282, - 35.92, - 35.94, - 35.95, - 35.9599, - 35.955, - 35.9399, - 35.915, - 35.9, - 35.91, - 35.91, - 35.91, - 35.91, - 35.9199, - 35.9199, - 35.916, - 35.9178, - 35.92, - 35.915, - 35.93, - 35.92, - 35.9168, - 35.915, - 35.92, - 35.93, - 35.9292, - 35.9482, - 35.9585, - 35.948, - 35.9464, - 35.97, - 35.98, - 35.99, - 36, - 36, - 36, - 36.01, - 36.02, - 36.025, - 36.02, - 36.01, - 36, - 35.995, - 35.9898, - 35.99, - 35.985, - 35.965, - 35.98, - 36, - 36, - 35.99, - 35.985, - 36, - 36, - 35.985, - 35.97, - 35.97, - 35.965, - 35.9618, - 35.955, - 35.96, - 35.96, - 35.96, - 35.97, - 35.9685, - 35.946, - 35.945, - 35.9399, - 35.94, - 35.92, - 35.93, - 35.93, - 35.93, - 35.9282, - 35.92, - 35.91, - 35.905, - 35.905, - 35.92, - 35.9199, - 35.92, - 35.93, - 35.915, - 35.91, - 35.905, - 35.91, - 35.905, - 35.9, - 35.895, - 35.9, - 35.9099, - 35.91, - 35.91, - 35.91, - 35.92, - 35.925, - 35.92, - 35.92, - 35.92, - 35.91, - 35.92, - 35.925, - 35.93, - 35.94, - 35.95, - 35.95, - 35.96, - 35.96, - 35.9501, - 35.9461, - 35.9464, - 35.935, - 35.9398, - 35.945, - 35.95, - 35.95, - 35.95, - 35.946, - 35.946, - 35.95, - 35.97, - 35.97, - 35.97, - 35.965, - 35.97, - 35.97, - 35.98, - 35.98, - 35.986, - 35.985, - 35.9782, - 35.98, - 35.99, - 35.98, - 35.9519, - 35.9359, - 35.9392, - 35.945, - 35.95, - 35.9493, - 35.95, - 35.95, - 35.94, - 35.94, - 35.94, - 35.94, - 35.946, - 35.9374, - 35.94, - 35.936, - 35.94, - 35.93, - 35.93, - 35.9392, - 35.94, - 35.95, - 35.95, - 35.956, - 35.96, - 35.966, - 35.96, - 35.96, - 35.96, - 35.96, - 35.956, - 35.95, - 35.95, - 35.95, - 35.9499, - 35.9484, - 35.95, - 35.95, - 35.96, - 35.9584, - 35.96, - 35.96, - 35.9699, - 35.97, - 35.96, - 35.97, - 35.9692, - 35.975, - 35.98, - 35.98, - 35.98, - 35.99, - 35.99, - 35.99, - 35.99, - 35.99, - 35.98, - 35.975, - 35.9766, - 35.98, - 35.98, - 35.98, - 35.99, - 35.99, - 35.9899, - 35.99, - 35.99, - 35.995, - 35.9891, - 35.99, - 36.01, - 36.0095, - 36.01, - 35.995, - 36.005, - 36.02, - 36.02, - 36.02, - 36.01, - 36.01, - 36.01, - 36.015, - 36.016, - 36.02, - 36.03, - 36.03, - 36.03, - 36.035, - 36.036, - 36.03, - 36.03, - 36.01, - 36.02, - 36.02, - 36.03, - 36.0269, - 36.015, - 36.025, - 36.025, - 36.01, - 36.0084, - 36.01, - 35.995, - 35.9892, - 35.99, - 35.989, - 35.98, - 35.97, - 35.9798, - 35.98, - 35.975, - 35.96, - 35.97, - 36, - 36, - 35.99, - 36, - 36, - 36.01, - 36.01, - 36.01, - 36.01, - 36.015, - 36.02, - 36.03, - 36.036, - 36.045, - 36.055, - 36.0485, - 36.05, - 36.046, - 36.06, - 36.075, - 36.0787, - 36.075, - 36.055, - 36.05, - 36.055, - 36.06, - 36.0593, - 36.07, - 36.0679, - 36.065, - 36.07, - 36.07, - 36.0661, - 36.07, - 36.069, - 36.07, - 36.07, - 36.07, - 36.0673, - 36.0682, - 36.07, - 36.07, - 36.07, - 36.06, - 36.055, - 36.056, - 36.055, - 36.06, - 36.06, - 36.069, - 36.07, - 36.07, - 36.07, - 36.08, - 36.08, - 36.079, - 36.05, - 36.055, - 36.0573, - 36.045, - 36.045, - 36.05, - 36.05, - 36.05, - 36.05, - 36.05, - 36.05, - 36.05, - 36.045, - 36.0499, - 36.05, - 36.05, - 36.045, - 36.04, - 36.036, - 36.03, - 36.03, - 36.02, - 36.03, - 36.0299, - 36.03, - 36.04, - 36.04, - 36.04, - 36.0499, - 36.06, - 36.0593, - 36.055, - 36.05, - 36.05, - 36.07, - 36.07, - 36.07, - 36.065, - 36.07, - 36.0685, - 36.07, - 36.066, - 36.0677, - 36.07, - 36.07, - 36.07, - 36.07, - 36.07, - 36.08, - 36.0699, - 36.065, - 36.05, - 36.04, - 36.035, - 36.0189, - 36.015, - 36.005, - 36.01, - 36.01, - 36.01, - 36.01, - 36.01, - 36, - 35.9966, - 36.006, - 36.01, - 36.02, - 36.02, - 36.03, - 36.03, - 36.03, - 36.0299, - 36.025, - 36.0099, - 36.015, - 36.02, - 36.03, - 36.03, - 36.02, - 36.02, - 36.02, - 36.015, - 36.006, - 36, - 35.995, - 35.985, - 35.9864, - 35.965, - 35.97, - 35.97, - 35.955, - 35.955, - 35.97, - 35.98, - 35.99, - 35.985, - 35.98, - 35.98, - 35.98, - 35.975, - 35.975, - 35.976, - 35.98, - 35.98, - 35.99, - 35.99, - 35.98, - 35.99, - 35.99, - 35.995, - 36, - 35.995, - 36, - 36, - 36, - 36.01, - 36.01, - 36, - 35.986, - 35.99, - 35.99, - 35.99, - 35.99, - 35.98, - 36.005, - 36, - 36.07, - 36.065, - 36.105, - 36.11, - 36.06, - 36.08, - 36.09, - 36.13, - 36.141, - 36.1, - 36.1, - 36.09, - 36.08, - 36.0942, - 36.11, - 36.15, - 36.18, - 36.2, - 36.195, - 36.165, - 36.18, - 36.16, - 36.16, - 36.175, - 36.175, - 36.185, - 36.215, - 36.22, - 36.235, - 36.245, - 36.245, - 36.24, - 36.24, - 36.29, - 36.285, - 36.27, - 36.28, - 36.27, - 36.26, - 36.305, - 36.335, - 36.34, - 36.31, - 36.32, - 36.32, - 36.31, - 36.32, - 36.345, - 36.34, - 36.34, - 36.335, - 36.3211, - 36.295, - 36.2973, - 36.32, - 36.34, - 36.335, - 36.325, - 36.33, - 36.34, - 36.346, - 36.355, - 36.35, - 36.39, - 36.4, - 36.39, - 36.416, - 36.41, - 36.41, - 36.39, - 36.42, - 36.42, - 36.41, - 36.39, - 36.39, - 36.4, - 36.43, - 36.44, - 36.445, - 36.43, - 36.43, - 36.41, - 36.425, - 36.43, - 36.4075, - 36.385, - 36.39, - 36.38, - 36.375, - 36.37, - 36.345, - 36.34, - 36.35, - 36.355, - 36.375, - 36.375, - 36.36, - 36.36, - 36.35, - 36.34, - 36.34, - 36.3499, - 36.36, - 36.37, - 36.3659, - 36.346, - 36.34, - 36.325, - 36.3185, - 36.32, - 36.325, - 36.35, - 36.35, - 36.38, - 36.38, - 36.37, - 36.37, - 36.37, - 36.3571, - 36.365, - 36.3699, - 36.355, - 36.335, - 36.34, - 36.35, - 36.37, - 36.3799, - 36.365, - 36.3499, - 36.36, - 36.36, - 36.365, - 36.36, - 36.36, - 36.34, - 36.355, - 36.375, - 36.374, - 36.36, - 36.345, - 36.34, - 36.34, - 36.345, - 36.35, - 36.335, - 36.335, - 36.35, - 36.35, - 36.35, - 36.35, - 36.345, - 36.35, - 36.3401, - 36.34, - 36.346, - 36.34, - 36.3181, - 36.3062, - 36.325, - 36.336, - 36.317, - 36.315, - 36.32, - 36.32, - 36.32, - 36.3171, - 36.32, - 36.31, - 36.32, - 36.336, - 36.335, - 36.35, - 36.34, - 36.3284, - 36.325, - 36.3365, - 36.34, - 36.3299, - 36.33, - 36.33, - 36.31, - 36.3161, - 36.3107, - 36.315, - 36.315, - 36.31, - 36.305, - 36.266, - 36.26, - 36.265, - 36.265, - 36.27, - 36.2893, - 36.3, - 36.3, - 36.285, - 36.2699, - 36.266, - 36.25, - 36.276, - 36.275, - 36.26, - 36.25, - 36.25, - 36.2474, - 36.25, - 36.25, - 36.25, - 36.25, - 36.26, - 36.26, - 36.275, - 36.276, - 36.24, - 36.24, - 36.22, - 36.23, - 36.235, - 36.236, - 36.2399, - 36.27, - 36.28, - 36.28, - 36.28, - 36.26, - 36.27, - 36.28, - 36.276, - 36.266, - 36.28, - 36.285, - 36.2899, - 36.2799, - 36.28, - 36.28, - 36.2791, - 36.285, - 36.29, - 36.2899, - 36.3, - 36.31, - 36.326, - 36.336, - 36.3299, - 36.3299, - 36.329, - 36.33, - 36.33, - 36.34, - 36.35, - 36.36, - 36.36, - 36.355, - 36.35, - 36.35, - 36.35, - 36.35, - 36.345, - 36.34, - 36.3371, - 36.3367, - 36.3393, - 36.35, - 36.35, - 36.35, - 36.355, - 36.3464, - 36.35, - 36.35, - 36.346, - 36.35, - 36.365, - 36.376, - 36.37, - 36.36, - 36.356, - 36.335, - 36.3384, - 36.3499, - 36.346, - 36.3399, - 36.34, - 36.34, - 36.345, - 36.35, - 36.356, - 36.365, - 36.37, - 36.365, - 36.3579, - 36.34, - 36.34, - 36.34, - 36.33, - 36.325, - 36.33, - 36.33, - 36.34, - 36.3281, - 36.32, - 36.32, - 36.32, - 36.32, - 36.3265, - 36.326, - 36.3166, - 36.31, - 36.31, - 36.31, - 36.31, - 36.31, - 36.2992, - 36.2999, - 36.3, - 36.31, - 36.306, - 36.306, - 36.2995, - 36.29, - 36.286, - 36.286, - 36.28, - 36.2779, - 36.29, - 36.3088, - 36.32, - 36.33, - 36.33, - 36.335, - 36.356, - 36.3699, - 36.37, - 36.37, - 36.4, - 36.396, - 36.38, - 36.385, - 36.39, - 36.39, - 36.41, - 36.41, - 36.403, - 36.41, - 36.42, - 36.42, - 36.4097, - 36.396, - 36.3875, - 36.386, - 36.4066, - 36.41, - 36.4084, - 36.395, - 36.38, - 36.386, - 36.38, - 36.38, - 36.38, - 36.385, - 36.3872, - 36.36, - 36.37, - 36.3697, - 36.37, - 36.37, - 36.38, - 36.378, - 36.38, - 36.385, - 36.38, - 36.3699, - 36.38, - 36.37, - 36.36, - 36.38, - 36.38, - 36.3899, - 36.386, - 36.37, - 36.37, - 36.3799, - 36.38, - 36.38, - 36.37, - 36.36, - 36.3499, - 36.3487, - 36.3498, - 36.3481, - 36.35, - 36.34, - 36.35, - 36.3499, - 36.35, - 36.3499, - 36.3498, - 36.346, - 36.336, - 36.35, - 36.356, - 36.356, - 36.36, - 36.36, - 36.36, - 36.3599, - 36.36, - 36.3599, - 36.355, - 36.33, - 36.337, - 36.326, - 36.3181, - 36.31, - 36.31, - 36.31, - 36.31, - 36.306, - 36.31, - 36.306, - 36.3, - 36.296, - 36.28, - 36.28, - 36.28, - 36.2876, - 36.29, - 36.2899, - 36.286, - 36.29, - 36.306, - 36.3, - 36.29, - 36.29, - 36.285, - 36.2986, - 36.3, - 36.296, - 36.3, - 36.295, - 36.286, - 36.2862, - 36.2787, - 36.2783, - 36.27, - 36.27, - 36.2699, - 36.269, - 36.266, - 36.265, - 36.2698, - 36.27, - 36.2699, - 36.265, - 36.25, - 36.245, - 36.24, - 36.24, - 36.236, - 36.2399, - 36.24, - 36.24, - 36.2399, - 36.2399, - 36.24, - 36.236, - 36.236, - 36.24, - 36.236, - 36.235, - 36.2299, - 36.24, - 36.2399, - 36.25, - 36.26, - 36.266, - 36.27, - 36.2799, - 36.2852, - 36.29, - 36.29, - 36.2999, - 36.2877, - 36.29, - 36.28, - 36.29, - 36.29, - 36.29, - 36.29, - 36.286, - 36.2792, - 36.2799, - 36.28, - 36.29, - 36.29, - 36.275, - 36.28, - 36.2798, - 36.2799, - 36.275, - 36.255, - 36.246, - 36.26, - 36.26, - 36.26, - 36.2599, - 36.2699, - 36.27, - 36.2799, - 36.27, - 36.27, - 36.2667, - 36.246, - 36.2383, - 36.24, - 36.2299, - 36.2199, - 36.2187, - 36.2101, - 36.2088, - 36.2084, - 36.2081, - 36.19, - 36.166, - 36.1699, - 36.176, - 36.19, - 36.185, - 36.17, - 36.146, - 36.1493, - 36.15, - 36.1498, - 36.1491, - 36.1476, - 36.15, - 36.16, - 36.1688, - 36.1499, - 36.146, - 36.145, - 36.15, - 36.139, - 36.19, - 36.16, - 36.155, - 36.155, - 36.155, - 36.155, - 36.16, - 36.17, - 36.165, - 36.1692, - 36.1581, - 36.166, - 36.17, - 36.166, - 36.16, - 36.1699, - 36.185, - 36.2089, - 36.21, - 36.21, - 36.2183, - 36.214, - 36.22, - 36.216, - 36.215, - 36.21, - 36.22, - 36.2299, - 36.23, - 36.23, - 36.23, - 36.24, - 36.235, - 36.2297, - 36.24, - 36.24, - 36.25, - 36.25, - 36.245, - 36.22, - 36.2072, - 36.19, - 36.186, - 36.18, - 36.1895, - 36.19, - 36.19, - 36.1963, - 36.1987, - 36.2, - 36.1879, - 36.195, - 36.21, - 36.23, - 36.23, - 36.2372, - 36.24, - 36.2406, - 36.235, - 36.2381, - 36.246, - 36.236, - 36.2299, - 36.24, - 36.236, - 36.2366, - 36.24, - 36.2099, - 36.2, - 36.2, - 36.2, - 36.1987, - 36.1942, - 36.185, - 36.19, - 36.19, - 36.1885, - 36.19, - 36.19, - 36.19, - 36.155, - 36.16, - 36.15, - 36.1387, - 36.136, - 36.14, - 36.146, - 36.15, - 36.1499, - 36.155, - 36.1599, - 36.1597, - 36.1599, - 36.155, - 36.15, - 36.15, - 36.15, - 36.155, - 36.16, - 36.1769, - 36.17, - 36.1664, - 36.18, - 36.1774, - 36.1799, - 36.1708, - 36.1679, - 36.1599, - 36.16, - 36.17, - 36.1683, - 36.17, - 36.17, - 36.1699, - 36.17, - 36.1699, - 36.1799, - 36.1899, - 36.1899, - 36.1883, - 36.1872, - 36.185, - 36.176, - 36.175, - 36.1748, - 36.18, - 36.1699, - 36.17, - 36.166, - 36.17, - 36.1688, - 36.17, - 36.1691, - 36.1681, - 36.175, - 36.18, - 36.185, - 36.195, - 36.1968, - 36.195, - 36.195, - 36.2071, - 36.205, - 36.205, - 36.21, - 36.21, - 36.2095, - 36.195, - 36.195, - 36.186, - 36.195, - 36.205, - 36.21, - 36.21, - 36.2, - 36.185, - 36.189, - 36.1869, - 36.185, - 36.185, - 36.185, - 36.195, - 36.1899, - 36.19, - 36.19, - 36.185, - 36.19, - 36.1899, - 36.19, - 36.1864, - 36.1769, - 36.178, - 36.18, - 36.1799, - 36.1685, - 36.1682, - 36.176, - 36.185, - 36.185, - 36.179, - 36.18, - 36.19, - 36.185, - 36.1899, - 36.19, - 36.1886, - 36.195, - 36.195, - 36.2, - 36.21, - 36.2099, - 36.2, - 36.196, - 36.1999, - 36.2, - 36.195, - 36.19, - 36.19, - 36.19, - 36.19, - 36.185, - 36.18, - 36.1769, - 36.18, - 36.1788, - 36.19, - 36.19, - 36.19, - 36.1899, - 36.185, - 36.1762, - 36.18, - 36.175, - 36.176, - 36.165, - 36.165, - 36.17, - 36.19, - 36.18, - 36.175, - 36.176, - 36.1757, - 36.1781, - 36.1799, - 36.186, - 36.1871, - 36.185, - 36.2, - 36.2, - 36.195, - 36.2, - 36.205, - 36.2, - 36.2, - 36.2, - 36.2, - 36.2, - 36.195, - 36.196, - 36.2075, - 36.2088, - 36.21, - 36.21, - 36.21, - 36.208, - 36.2099, - 36.2, - 36.2, - 36.2, - 36.18, - 36.18, - 36.1797, - 36.1781, - 36.1792, - 36.165, - 36.16, - 36.1597, - 36.136, - 36.1355, - 36.14, - 36.15, - 36.145, - 36.1499, - 36.16, - 36.166, - 36.165, - 36.16, - 36.16, - 36.16, - 36.15, - 36.145, - 36.145, - 36.1575, - 36.165, - 36.1573, - 36.1586, - 36.155, - 36.1485, - 36.156, - 36.16, - 36.16, - 36.1575, - 36.17, - 36.1673, - 36.1699, - 36.165, - 36.17, - 36.17, - 36.17, - 36.17, - 36.166, - 36.17, - 36.1665, - 36.16, - 36.15, - 36.145, - 36.1487, - 36.145, - 36.14, - 36.1479, - 36.146, - 36.15, - 36.15, - 36.15, - 36.156, - 36.16, - 36.16, - 36.155, - 36.165, - 36.155, - 36.15, - 36.1499, - 36.1499, - 36.1492, - 36.155, - 36.156, - 36.146, - 36.155, - 36.16, - 36.16, - 36.17, - 36.165, - 36.16, - 36.16, - 36.16, - 36.159, - 36.156, - 36.1599, - 36.1565, - 36.15, - 36.146, - 36.1467, - 36.145, - 36.15, - 36.1574, - 36.16, - 36.156, - 36.156, - 36.16, - 36.16, - 36.16, - 36.156, - 36.1599, - 36.156, - 36.156, - 36.1584, - 36.166, - 36.1584, - 36.16, - 36.16, - 36.16, - 36.16, - 36.1699, - 36.17, - 36.18, - 36.19, - 36.19, - 36.19, - 36.1897, - 36.186, - 36.1699, - 36.1767, - 36.1689, - 36.169, - 36.155, - 36.168, - 36.16, - 36.148, - 36.135, - 36.1, - 36.065, - 36.045, - 36.03, - 36.0586, - 36.09, - 36.115, - 36.12, - 36.13, - 36.12, - 36.116, - 36.1055, - 36.115, - 36.099, - 36.11, - 36.13, - 36.14, - 36.14, - 36.1299, - 36.135, - 36.14, - 36.14, - 36.14, - 36.145, - 36.15, - 36.15, - 36.15, - 36.17, - 36.17, - 36.165, - 36.16, - 36.16, - 36.155, - 36.1398, - 36.15, - 36.14, - 36.15, - 36.16, - 36.16, - 36.14, - 36.14, - 36.15, - 36.145, - 36.1289, - 36.12, - 36.115, - 36.11, - 36.1159, - 36.14, - 36.14, - 36.135, - 36.12, - 36.13, - 36.13, - 36.13, - 36.13, - 36.15, - 36.1573, - 36.145, - 36.126, - 36.1, - 36.0982, - 36.0999, - 36.105, - 36.12, - 36.1, - 36.105, - 36.105, - 36.11, - 36.11, - 36.1, - 36.094, - 36.12, - 36.14, - 36.14, - 36.16, - 36.145, - 36.15, - 36.155, - 36.15, - 36.14, - 36.11, - 36.1 - ], - "increasing": { - "fillcolor": "#26a69a", - "line": { - "color": "#26a69a" - } - }, - "low": [ - 35.85, - 35.92, - 35.935, - 35.95, - 36.045, - 36.03, - 36.02, - 36.01, - 36.005, - 36.041, - 36.0024, - 36.01, - 35.99, - 35.935, - 35.8704, - 35.83, - 35.815, - 35.8207, - 35.825, - 35.82, - 35.82, - 35.83, - 35.815, - 35.83, - 35.855, - 35.859, - 35.8343, - 35.85, - 35.83, - 35.815, - 35.78, - 35.775, - 35.795, - 35.815, - 35.83, - 35.875, - 35.865, - 35.84, - 35.835, - 35.83, - 35.805, - 35.8141, - 35.8221, - 35.825, - 35.825, - 35.825, - 35.8233, - 35.81, - 35.82, - 35.835, - 35.825, - 35.82, - 35.81, - 35.875, - 35.87, - 35.875, - 35.855, - 35.8349, - 35.835, - 35.845, - 35.845, - 35.8501, - 35.87, - 35.86, - 35.875, - 35.9001, - 35.925, - 35.945, - 35.955, - 35.94, - 35.955, - 35.955, - 35.97, - 35.97, - 35.975, - 35.9701, - 35.965, - 35.96, - 35.97, - 35.98, - 35.96, - 35.965, - 36, - 35.99, - 35.965, - 35.9599, - 35.96, - 35.96, - 35.97, - 35.961, - 35.9501, - 35.954, - 35.954, - 35.96, - 35.965, - 35.955, - 35.9701, - 35.975, - 35.9701, - 35.975, - 35.98, - 35.97, - 35.9601, - 35.955, - 35.96, - 35.94, - 35.944, - 35.95, - 35.95, - 35.9509, - 35.924, - 35.93, - 35.93, - 35.934, - 35.93, - 35.924, - 35.91, - 35.9, - 35.9, - 35.914, - 35.91, - 35.93, - 35.936, - 35.935, - 35.944, - 35.955, - 35.97, - 35.96, - 35.96, - 35.93, - 35.93, - 35.94, - 35.93, - 35.94, - 35.944, - 35.964, - 35.9832, - 35.984, - 35.99, - 35.99, - 36, - 36.01, - 36.01, - 36.01, - 36.004, - 36.014, - 36.0001, - 35.99, - 36, - 36.0014, - 36.01, - 36.02, - 36.024, - 36.024, - 36.01, - 36.01, - 36.0049, - 36.0028, - 35.99, - 35.99, - 35.97, - 35.97, - 35.95, - 35.94, - 35.9621, - 35.9694, - 35.994, - 35.99, - 35.99, - 35.98, - 35.994, - 36.01, - 36.03, - 36.03, - 36.0399, - 36.02, - 36.034, - 36.024, - 36.02, - 36.005, - 36.004, - 36.005, - 36, - 36, - 36.0135, - 36.034, - 36.04, - 36.055, - 36.055, - 36.055, - 36.074, - 36.08, - 36.07, - 36.055, - 36.0501, - 36.02, - 36.02, - 36.03, - 36.03, - 36.0301, - 36.0399, - 36.0517, - 36.05, - 36.055, - 36.06, - 36.055, - 36.0301, - 36.0601, - 36.065, - 36.08, - 36.0801, - 36.0801, - 36.085, - 36.08, - 36.0947, - 36.11, - 36.12, - 36.125, - 36.131, - 36.12, - 36.115, - 36.115, - 36.11, - 36.105, - 36.11, - 36.1, - 36.094, - 36.09, - 36.08, - 36.095, - 36.094, - 36.075, - 36.06, - 36.06, - 36.06, - 36.065, - 36.0701, - 36.09, - 36.08, - 36.074, - 36.0815, - 36.08, - 36.0601, - 36.06, - 36.06, - 36.065, - 36.06, - 36.04, - 36.045, - 36.0593, - 36.07, - 36.08, - 36.084, - 36.104, - 36.11, - 36.11, - 36.11, - 36.11, - 36.104, - 36.1, - 36.1, - 36.11, - 36.114, - 36.1149, - 36.114, - 36.11, - 36.114, - 36.1101, - 36.114, - 36.125, - 36.14, - 36.14, - 36.13, - 36.13, - 36.14, - 36.12, - 36.12, - 36.12, - 36.12, - 36.114, - 36.1013, - 36.12, - 36.11, - 36.1, - 36.105, - 36.1, - 36.0901, - 36.075, - 36.08, - 36.08, - 36.075, - 36.08, - 36.07, - 36.07, - 36.08, - 36.0625, - 36.0628, - 36.064, - 36.0533, - 36.0501, - 36.055, - 36.06, - 36.0616, - 36.06, - 36.06, - 36.06, - 36.055, - 36.06, - 36.0601, - 36.06, - 36.0718, - 36.07, - 36.065, - 36.07, - 36.07, - 36.0731, - 36.08, - 36.0822, - 36.094, - 36.09, - 36.1, - 36.11, - 36.114, - 36.12, - 36.1301, - 36.12, - 36.124, - 36.1306, - 36.13, - 36.14, - 36.125, - 36.12, - 36.12, - 36.11, - 36.11, - 36.11, - 36.12, - 36.135, - 36.135, - 36.13, - 36.12, - 36.105, - 36.1038, - 36.11, - 36.08, - 36.05, - 36.05, - 36.0501, - 36.05, - 36.05, - 36.055, - 36.06, - 36.07, - 36.0508, - 36.055, - 36.06, - 36.065, - 36.0601, - 36.08, - 36.08, - 36.09, - 36.1, - 36.105, - 36.09, - 36.09, - 36.09, - 36.09, - 36.105, - 36.1105, - 36.105, - 36.1141, - 36.11, - 36.11, - 36.11, - 36.1009, - 36.1109, - 36.1101, - 36.1101, - 36.12, - 36.105, - 36.095, - 36.085, - 36.07, - 36.055, - 36.06, - 36.0529, - 36.065, - 36.07, - 36.07, - 36.07, - 36.06, - 36.0735, - 36.0921, - 36.095, - 36.105, - 36.115, - 36.104, - 36.105, - 36.095, - 36.09, - 36.08, - 36.08, - 36.074, - 36.075, - 36.085, - 36.085, - 36.09, - 36.09, - 36.095, - 36.09, - 36.095, - 36.094, - 36.09, - 36.09, - 36.09, - 36.09, - 36.09, - 36.094, - 36.09, - 36.0911, - 36.085, - 36.08, - 36.0701, - 36.074, - 36.07, - 36.07, - 36.06, - 36.06, - 36.055, - 36.064, - 36.084, - 36.094, - 36.085, - 36.08, - 36.085, - 36.08, - 36.0819, - 36.08, - 36.08, - 36.07, - 36.08, - 36.085, - 36.0803, - 36.085, - 36.085, - 36.08, - 36.06, - 36.06, - 36.055, - 36.0628, - 36.045, - 36.04, - 36.045, - 36.055, - 36.06, - 36.07, - 36.0607, - 36.05, - 36.05, - 36.0501, - 36.04, - 36.05, - 36.055, - 36.0646, - 36.065, - 36.05, - 36.05, - 36.02, - 36.02, - 36.02, - 36.01, - 36.01, - 36.02, - 36.01, - 36.0101, - 35.99, - 35.98, - 35.99, - 35.99, - 35.99, - 35.99, - 35.99, - 35.98, - 35.99, - 35.97, - 35.975, - 35.9839, - 35.98, - 35.945, - 35.95, - 35.954, - 35.96, - 35.9624, - 35.9648, - 35.97, - 35.965, - 35.96, - 35.954, - 35.965, - 35.98, - 35.985, - 35.995, - 35.9924, - 36, - 35.99, - 35.994, - 35.99, - 35.995, - 36.005, - 36.01, - 36.01, - 36.02, - 36.02, - 36.0315, - 36.03, - 36.015, - 35.992, - 35.9901, - 36, - 36.025, - 36.03, - 36.04, - 36.045, - 36.045, - 36.0401, - 36.045, - 36.0417, - 36.035, - 35.99, - 35.98, - 35.9707, - 35.94, - 35.955, - 35.96, - 35.945, - 35.95, - 35.942, - 35.92, - 35.911, - 35.91, - 35.9148, - 35.935, - 35.945, - 35.935, - 35.915, - 35.9, - 35.885, - 35.8901, - 35.9001, - 35.9, - 35.9001, - 35.9077, - 35.915, - 35.9, - 35.9, - 35.91, - 35.91, - 35.915, - 35.915, - 35.9125, - 35.914, - 35.9131, - 35.91, - 35.92, - 35.922, - 35.94, - 35.94, - 35.94, - 35.945, - 35.965, - 35.9725, - 35.99, - 35.9943, - 35.99, - 35.995, - 36.0017, - 36.015, - 36.005, - 35.995, - 35.9901, - 35.98, - 35.98, - 35.98, - 35.965, - 35.964, - 35.965, - 35.975, - 35.985, - 35.98, - 35.975, - 35.985, - 35.98, - 35.95, - 35.955, - 35.96, - 35.95, - 35.945, - 35.95, - 35.95, - 35.95, - 35.95, - 35.955, - 35.94, - 35.945, - 35.93, - 35.93, - 35.91, - 35.91, - 35.915, - 35.92, - 35.9201, - 35.915, - 35.91, - 35.8911, - 35.8948, - 35.903, - 35.9, - 35.905, - 35.915, - 35.92, - 35.9, - 35.9018, - 35.9, - 35.9005, - 35.89, - 35.8936, - 35.8928, - 35.89, - 35.9, - 35.9, - 35.905, - 35.905, - 35.91, - 35.91, - 35.91, - 35.91, - 35.905, - 35.9017, - 35.905, - 35.9187, - 35.92, - 35.93, - 35.935, - 35.9401, - 35.9422, - 35.95, - 35.94, - 35.935, - 35.93, - 35.93, - 35.93, - 35.935, - 35.94, - 35.9402, - 35.94, - 35.934, - 35.93, - 35.94, - 35.945, - 35.965, - 35.96, - 35.9601, - 35.954, - 35.964, - 35.965, - 35.9749, - 35.975, - 35.975, - 35.97, - 35.9748, - 35.97, - 35.9499, - 35.935, - 35.93, - 35.93, - 35.93, - 35.945, - 35.9419, - 35.945, - 35.9428, - 35.93, - 35.93, - 35.93, - 35.93, - 35.93, - 35.925, - 35.924, - 35.9301, - 35.925, - 35.925, - 35.925, - 35.925, - 35.93, - 35.94, - 35.945, - 35.945, - 35.955, - 35.955, - 35.955, - 35.95, - 35.95, - 35.945, - 35.95, - 35.94, - 35.94, - 35.932, - 35.935, - 35.945, - 35.945, - 35.945, - 35.945, - 35.95, - 35.955, - 35.955, - 35.955, - 35.95, - 35.95, - 35.96, - 35.96, - 35.9601, - 35.975, - 35.975, - 35.9701, - 35.975, - 35.98, - 35.985, - 35.985, - 35.975, - 35.97, - 35.96, - 35.964, - 35.9703, - 35.9731, - 35.9719, - 35.975, - 35.984, - 35.98, - 35.985, - 35.985, - 35.98, - 35.984, - 35.9822, - 35.984, - 36, - 35.99, - 35.993, - 35.995, - 36, - 36.01, - 36, - 36, - 36.0048, - 36, - 36, - 36.01, - 36.01, - 36.015, - 36.0227, - 36.02, - 36.025, - 36.02, - 36.02, - 36, - 36, - 36.005, - 36.011, - 36.015, - 36.01, - 36.015, - 36.013, - 36, - 36, - 36, - 35.995, - 35.985, - 35.97, - 35.971, - 35.9725, - 35.965, - 35.95, - 35.965, - 35.975, - 35.95, - 35.95, - 35.955, - 35.97, - 35.98, - 35.985, - 35.985, - 35.9938, - 35.9929, - 36, - 36.0001, - 36.005, - 36, - 36.01, - 36.015, - 36.024, - 36.035, - 36.04, - 36.0434, - 36.04, - 36.04, - 36.04, - 36.055, - 36.07, - 36.055, - 36.045, - 36.045, - 36.045, - 36.0501, - 36.055, - 36.06, - 36.0612, - 36.06, - 36.06, - 36.06, - 36.06, - 36.06, - 36.06, - 36.06, - 36.06, - 36.0501, - 36.06, - 36.06, - 36.06, - 36.065, - 36.06, - 36.0538, - 36.0526, - 36.05, - 36.05, - 36.05, - 36.05, - 36.05, - 36.06, - 36.065, - 36.06, - 36.065, - 36.0705, - 36.04, - 36.04, - 36.045, - 36.044, - 36.04, - 36.0326, - 36.0411, - 36.0438, - 36.04, - 36.044, - 36.04, - 36.04, - 36.04, - 36.035, - 36.0325, - 36.0401, - 36.04, - 36.03, - 36.022, - 36.024, - 36.02, - 36.01, - 36.01, - 36.01, - 36.02, - 36.022, - 36.0221, - 36.0349, - 36.03, - 36.035, - 36.045, - 36.05, - 36.04, - 36.044, - 36.0401, - 36.045, - 36.06, - 36.05, - 36.05, - 36.06, - 36.06, - 36.05, - 36.05, - 36.06, - 36.06, - 36.06, - 36.06, - 36.06, - 36.062, - 36.065, - 36.06, - 36.04, - 36.03, - 36.03, - 36.015, - 36.01, - 35.99, - 35.9928, - 36, - 36, - 36, - 36, - 35.99, - 35.99, - 35.9818, - 35.995, - 36.004, - 36, - 36.01, - 36.01, - 36.019, - 36.0201, - 36.02, - 36, - 36, - 36, - 36.01, - 36.02, - 36.015, - 36.01, - 36.01, - 36.01, - 35.99, - 35.9925, - 35.99, - 35.98, - 35.9701, - 35.945, - 35.9418, - 35.951, - 35.944, - 35.941, - 35.944, - 35.9442, - 35.9644, - 35.97, - 35.975, - 35.965, - 35.97, - 35.97, - 35.96, - 35.96, - 35.96, - 35.97, - 35.965, - 35.97, - 35.975, - 35.97, - 35.9701, - 35.985, - 35.98, - 35.99, - 35.98, - 35.98, - 35.99, - 35.9901, - 35.99, - 35.99, - 35.97, - 35.97, - 35.975, - 35.975, - 35.97, - 35.974, - 35.965, - 35.97, - 35.95, - 35.96, - 36.02, - 36.03, - 36.07, - 36.04, - 36.05, - 36.07, - 36.07, - 36.08, - 36.07, - 36.08, - 36.05, - 36.0501, - 36.06, - 36.09, - 36.095, - 36.145, - 36.16, - 36.15, - 36.15, - 36.15, - 36.13, - 36.14, - 36.15, - 36.15, - 36.14, - 36.17, - 36.2, - 36.2, - 36.22, - 36.21, - 36.2, - 36.22, - 36.235, - 36.26, - 36.245, - 36.24, - 36.24, - 36.24, - 36.25, - 36.3, - 36.28, - 36.275, - 36.3, - 36.275, - 36.275, - 36.29, - 36.3, - 36.32, - 36.33, - 36.3, - 36.28, - 36.275, - 36.28, - 36.275, - 36.31, - 36.31, - 36.3, - 36.31, - 36.32, - 36.32, - 36.34, - 36.34, - 36.34, - 36.375, - 36.37, - 36.38, - 36.4, - 36.38, - 36.37, - 36.37, - 36.41, - 36.37, - 36.365, - 36.38, - 36.38, - 36.3801, - 36.405, - 36.4001, - 36.4, - 36.39, - 36.38, - 36.4, - 36.41, - 36.38, - 36.3606, - 36.365, - 36.35, - 36.35, - 36.32, - 36.32, - 36.32, - 36.33, - 36.34, - 36.34, - 36.35, - 36.34, - 36.34, - 36.32, - 36.32, - 36.33, - 36.33, - 36.335, - 36.3533, - 36.32, - 36.31, - 36.325, - 36.31, - 36.2909, - 36.305, - 36.31, - 36.325, - 36.33, - 36.34, - 36.365, - 36.354, - 36.3401, - 36.35, - 36.344, - 36.345, - 36.3515, - 36.3206, - 36.32, - 36.31, - 36.32, - 36.34, - 36.36, - 36.33, - 36.335, - 36.34, - 36.35, - 36.35, - 36.34, - 36.33, - 36.33, - 36.3302, - 36.3501, - 36.3502, - 36.34, - 36.33, - 36.32, - 36.325, - 36.3326, - 36.338, - 36.32, - 36.32, - 36.3221, - 36.34, - 36.33, - 36.334, - 36.335, - 36.34, - 36.33, - 36.335, - 36.335, - 36.3018, - 36.29, - 36.29, - 36.3, - 36.31, - 36.31, - 36.3, - 36.3, - 36.3, - 36.3, - 36.3, - 36.304, - 36.3, - 36.304, - 36.314, - 36.33, - 36.33, - 36.3201, - 36.31, - 36.314, - 36.325, - 36.325, - 36.32, - 36.32, - 36.31, - 36.295, - 36.3, - 36.3, - 36.3, - 36.3, - 36.3, - 36.2601, - 36.2519, - 36.24, - 36.2403, - 36.25, - 36.25, - 36.255, - 36.28, - 36.28, - 36.265, - 36.26, - 36.23, - 36.2421, - 36.245, - 36.25, - 36.25, - 36.24, - 36.22, - 36.224, - 36.24, - 36.2426, - 36.234, - 36.235, - 36.24, - 36.25, - 36.254, - 36.23, - 36.224, - 36.21, - 36.2, - 36.21, - 36.22, - 36.23, - 36.23, - 36.23, - 36.25, - 36.27, - 36.235, - 36.244, - 36.245, - 36.265, - 36.26, - 36.26, - 36.26, - 36.264, - 36.27, - 36.265, - 36.27, - 36.26, - 36.265, - 36.27, - 36.28, - 36.28, - 36.285, - 36.28, - 36.3, - 36.3212, - 36.3101, - 36.315, - 36.31, - 36.3216, - 36.325, - 36.324, - 36.33, - 36.34, - 36.35, - 36.34, - 36.3421, - 36.34, - 36.34, - 36.34, - 36.33, - 36.33, - 36.33, - 36.33, - 36.325, - 36.3303, - 36.34, - 36.34, - 36.3401, - 36.33, - 36.33, - 36.3423, - 36.34, - 36.3437, - 36.3401, - 36.355, - 36.36, - 36.355, - 36.33, - 36.32, - 36.33, - 36.3324, - 36.33, - 36.334, - 36.3301, - 36.332, - 36.3301, - 36.345, - 36.344, - 36.35, - 36.3601, - 36.3501, - 36.335, - 36.33, - 36.3201, - 36.325, - 36.32, - 36.32, - 36.32, - 36.3225, - 36.32, - 36.312, - 36.31, - 36.31, - 36.31, - 36.31, - 36.314, - 36.3101, - 36.3001, - 36.3001, - 36.3, - 36.294, - 36.3, - 36.29, - 36.29, - 36.29, - 36.2925, - 36.29, - 36.29, - 36.2902, - 36.282, - 36.2701, - 36.27, - 36.27, - 36.27, - 36.2639, - 36.264, - 36.2825, - 36.304, - 36.31, - 36.32, - 36.3201, - 36.33, - 36.355, - 36.36, - 36.34, - 36.365, - 36.37, - 36.365, - 36.36, - 36.3713, - 36.375, - 36.39, - 36.4, - 36.39, - 36.395, - 36.405, - 36.404, - 36.39, - 36.38, - 36.38, - 36.375, - 36.384, - 36.4, - 36.39, - 36.36, - 36.37, - 36.37, - 36.37, - 36.37, - 36.37, - 36.37, - 36.35, - 36.35, - 36.35, - 36.36, - 36.36, - 36.364, - 36.364, - 36.37, - 36.37, - 36.37, - 36.3603, - 36.3631, - 36.36, - 36.3501, - 36.3539, - 36.355, - 36.37, - 36.3725, - 36.365, - 36.365, - 36.36, - 36.364, - 36.37, - 36.364, - 36.35, - 36.345, - 36.34, - 36.33, - 36.33, - 36.34, - 36.34, - 36.3328, - 36.3301, - 36.3401, - 36.34, - 36.34, - 36.34, - 36.33, - 36.33, - 36.3305, - 36.3427, - 36.354, - 36.3501, - 36.3525, - 36.355, - 36.35, - 36.35, - 36.35, - 36.33, - 36.32, - 36.32, - 36.31, - 36.3, - 36.3, - 36.285, - 36.295, - 36.3012, - 36.3, - 36.3, - 36.295, - 36.2915, - 36.27, - 36.27, - 36.27, - 36.265, - 36.27, - 36.28, - 36.28, - 36.28, - 36.28, - 36.285, - 36.28, - 36.28, - 36.271, - 36.27, - 36.2825, - 36.29, - 36.29, - 36.29, - 36.26, - 36.265, - 36.275, - 36.27, - 36.2615, - 36.265, - 36.26, - 36.26, - 36.26, - 36.255, - 36.254, - 36.2603, - 36.26, - 36.26, - 36.24, - 36.24, - 36.23, - 36.22, - 36.22, - 36.23, - 36.23, - 36.23, - 36.23, - 36.23, - 36.23, - 36.23, - 36.22, - 36.22, - 36.23, - 36.23, - 36.22, - 36.214, - 36.22, - 36.2301, - 36.235, - 36.25, - 36.25, - 36.26, - 36.26, - 36.275, - 36.28, - 36.28, - 36.28, - 36.28, - 36.27, - 36.27, - 36.2746, - 36.2801, - 36.28, - 36.28, - 36.2736, - 36.27, - 36.27, - 36.27, - 36.27, - 36.27, - 36.2601, - 36.27, - 36.27, - 36.27, - 36.24, - 36.24, - 36.24, - 36.24, - 36.25, - 36.25, - 36.25, - 36.2515, - 36.265, - 36.2601, - 36.26, - 36.26, - 36.24, - 36.23, - 36.21, - 36.215, - 36.21, - 36.2, - 36.21, - 36.19, - 36.19, - 36.2, - 36.19, - 36.16, - 36.15, - 36.16, - 36.16, - 36.17, - 36.16, - 36.14, - 36.134, - 36.14, - 36.14, - 36.1301, - 36.1312, - 36.1301, - 36.144, - 36.144, - 36.14, - 36.13, - 36.12, - 36.1306, - 36.13, - 36.125, - 36.11, - 36.135, - 36.1403, - 36.1349, - 36.1314, - 36.14, - 36.14, - 36.15, - 36.15, - 36.15, - 36.15, - 36.15, - 36.16, - 36.15, - 36.1539, - 36.1511, - 36.1612, - 36.185, - 36.2, - 36.195, - 36.2, - 36.2013, - 36.2, - 36.205, - 36.2019, - 36.2, - 36.205, - 36.215, - 36.22, - 36.225, - 36.222, - 36.2222, - 36.22, - 36.22, - 36.225, - 36.2301, - 36.235, - 36.2308, - 36.215, - 36.2, - 36.185, - 36.18, - 36.17, - 36.17, - 36.18, - 36.18, - 36.18, - 36.1836, - 36.1935, - 36.1746, - 36.175, - 36.1846, - 36.195, - 36.21, - 36.22, - 36.225, - 36.23, - 36.23, - 36.23, - 36.23, - 36.23, - 36.22, - 36.22, - 36.225, - 36.23, - 36.22, - 36.2019, - 36.19, - 36.19, - 36.19, - 36.19, - 36.19, - 36.18, - 36.1725, - 36.1801, - 36.18, - 36.18, - 36.18, - 36.18, - 36.15, - 36.14, - 36.14, - 36.13, - 36.12, - 36.12, - 36.12, - 36.13, - 36.1401, - 36.1401, - 36.145, - 36.15, - 36.15, - 36.15, - 36.14, - 36.14, - 36.14, - 36.14, - 36.14, - 36.15, - 36.1538, - 36.16, - 36.16, - 36.16, - 36.1601, - 36.17, - 36.16, - 36.15, - 36.15, - 36.15, - 36.15, - 36.16, - 36.16, - 36.16, - 36.16, - 36.16, - 36.16, - 36.1625, - 36.17, - 36.1826, - 36.18, - 36.18, - 36.17, - 36.165, - 36.1601, - 36.1635, - 36.17, - 36.1601, - 36.16, - 36.15, - 36.16, - 36.155, - 36.15, - 36.16, - 36.16, - 36.16, - 36.1701, - 36.175, - 36.1835, - 36.19, - 36.19, - 36.19, - 36.1925, - 36.2001, - 36.2, - 36.2, - 36.2, - 36.19, - 36.19, - 36.18, - 36.18, - 36.18, - 36.19, - 36.2, - 36.2, - 36.1808, - 36.18, - 36.175, - 36.18, - 36.18, - 36.18, - 36.1823, - 36.18, - 36.18, - 36.185, - 36.174, - 36.1799, - 36.18, - 36.18, - 36.18, - 36.17, - 36.17, - 36.1701, - 36.17, - 36.16, - 36.1528, - 36.16, - 36.165, - 36.17, - 36.17, - 36.17, - 36.1701, - 36.1725, - 36.18, - 36.18, - 36.18, - 36.18, - 36.18, - 36.19, - 36.195, - 36.2, - 36.195, - 36.195, - 36.19, - 36.19, - 36.19, - 36.18, - 36.18, - 36.18, - 36.18, - 36.18, - 36.17, - 36.17, - 36.1645, - 36.165, - 36.175, - 36.17, - 36.18, - 36.18, - 36.185, - 36.174, - 36.17, - 36.17, - 36.165, - 36.16, - 36.16, - 36.155, - 36.16, - 36.1695, - 36.17, - 36.17, - 36.165, - 36.16, - 36.17, - 36.17, - 36.175, - 36.18, - 36.18, - 36.18, - 36.19, - 36.195, - 36.19, - 36.195, - 36.19, - 36.195, - 36.191, - 36.1901, - 36.1925, - 36.19, - 36.19, - 36.195, - 36.2, - 36.2, - 36.195, - 36.2, - 36.2, - 36.19, - 36.19, - 36.185, - 36.18, - 36.165, - 36.17, - 36.17, - 36.17, - 36.165, - 36.155, - 36.15, - 36.13, - 36.13, - 36.13, - 36.13, - 36.13, - 36.14, - 36.14, - 36.1439, - 36.155, - 36.16, - 36.155, - 36.15, - 36.1401, - 36.14, - 36.14, - 36.14, - 36.14, - 36.15, - 36.15, - 36.15, - 36.14, - 36.14, - 36.14, - 36.15, - 36.15, - 36.1545, - 36.155, - 36.155, - 36.155, - 36.15, - 36.155, - 36.16, - 36.1637, - 36.164, - 36.16, - 36.16, - 36.155, - 36.1401, - 36.14, - 36.13, - 36.14, - 36.13, - 36.13, - 36.13, - 36.135, - 36.14, - 36.14, - 36.14, - 36.145, - 36.155, - 36.15, - 36.15, - 36.1534, - 36.155, - 36.14, - 36.14, - 36.14, - 36.1433, - 36.145, - 36.145, - 36.14, - 36.145, - 36.15, - 36.15, - 36.1525, - 36.15, - 36.15, - 36.15, - 36.15, - 36.145, - 36.1402, - 36.15, - 36.15, - 36.14, - 36.14, - 36.14, - 36.135, - 36.145, - 36.1436, - 36.15, - 36.15, - 36.15, - 36.15, - 36.15, - 36.15, - 36.15, - 36.15, - 36.15, - 36.14, - 36.145, - 36.1525, - 36.155, - 36.1501, - 36.154, - 36.15, - 36.15, - 36.15, - 36.16, - 36.165, - 36.175, - 36.17, - 36.1725, - 36.18, - 36.165, - 36.164, - 36.164, - 36.155, - 36.151, - 36.1517, - 36.155, - 36.14, - 36.135, - 36.105, - 36.06, - 36.04, - 36.02, - 36, - 36, - 36.0527, - 36.07, - 36.09, - 36.115, - 36.095, - 36.1, - 36.1, - 36.07, - 36.075, - 36.095, - 36.11, - 36.12, - 36.125, - 36.12, - 36.12, - 36.12, - 36.125, - 36.125, - 36.1201, - 36.135, - 36.13, - 36.144, - 36.14, - 36.145, - 36.155, - 36.145, - 36.145, - 36.1341, - 36.13, - 36.13, - 36.135, - 36.135, - 36.14, - 36.135, - 36.125, - 36.13, - 36.135, - 36.13, - 36.115, - 36.11, - 36.09, - 36.09, - 36.1, - 36.112, - 36.125, - 36.1101, - 36.11, - 36.1001, - 36.115, - 36.105, - 36.105, - 36.125, - 36.13, - 36.125, - 36.08, - 36.065, - 36.075, - 36.09, - 36.085, - 36.094, - 36.09, - 36.0938, - 36.085, - 36.085, - 36.07, - 36.084, - 36.07, - 36.09, - 36.11, - 36.1201, - 36.135, - 36.13, - 36.13, - 36.13, - 36.13, - 36.09, - 36.05, - 36.065 - ], - "name": "OHLC", - "opacity": 0.75, - "open": [ - 35.9, - 35.925, - 35.97, - 35.9801, - 36.07, - 36.065, - 36.04, - 36.01, - 36.01, - 36.045, - 36.04, - 36.01, - 36.04, - 35.99, - 35.92, - 35.874, - 35.845, - 35.855, - 35.835, - 35.85, - 35.83, - 35.86, - 35.845, - 35.83, - 35.855, - 35.86, - 35.875, - 35.85, - 35.875, - 35.849, - 35.8243, - 35.79, - 35.795, - 35.8347, - 35.84, - 35.8773, - 35.875, - 35.865, - 35.855, - 35.84, - 35.85, - 35.82, - 35.83, - 35.835, - 35.83, - 35.825, - 35.8475, - 35.84, - 35.825, - 35.865, - 35.84, - 35.825, - 35.815, - 35.875, - 35.875, - 35.885, - 35.875, - 35.855, - 35.8399, - 35.87, - 35.845, - 35.855, - 35.87, - 35.88, - 35.875, - 35.91, - 35.9294, - 35.95, - 35.965, - 35.965, - 35.955, - 35.96, - 35.98, - 35.98, - 35.98, - 35.98, - 35.98, - 35.99, - 35.986, - 35.98, - 35.985, - 35.97, - 36.01, - 35.99, - 35.9981, - 35.985, - 35.96, - 35.9692, - 35.9793, - 35.976, - 35.96, - 35.955, - 35.954, - 35.9792, - 35.9798, - 35.965, - 35.9799, - 35.9794, - 35.9899, - 35.9776, - 35.996, - 35.9864, - 35.97, - 35.9693, - 35.96, - 35.9789, - 35.95, - 35.955, - 35.96, - 35.96, - 35.95, - 35.94, - 35.93, - 35.9599, - 35.94, - 35.934, - 35.9367, - 35.925, - 35.906, - 35.9199, - 35.9299, - 35.94, - 35.945, - 35.9387, - 35.944, - 35.955, - 35.976, - 35.965, - 35.965, - 35.964, - 35.954, - 35.9499, - 35.94, - 35.95, - 35.944, - 35.965, - 35.985, - 35.984, - 36, - 35.995, - 36.005, - 36.015, - 36.02, - 36.025, - 36.015, - 36.02, - 36.015, - 36, - 36.005, - 36.01, - 36.01, - 36.02, - 36.025, - 36.05, - 36.0267, - 36.015, - 36.015, - 36.005, - 36.016, - 35.9993, - 35.99, - 35.9884, - 35.98, - 35.97, - 35.964, - 35.9694, - 35.9999, - 35.995, - 35.9996, - 35.9995, - 35.9997, - 36.015, - 36.0325, - 36.035, - 36.0399, - 36.045, - 36.0397, - 36.04, - 36.025, - 36.025, - 36.005, - 36.014, - 36.01, - 36.005, - 36.0135, - 36.035, - 36.0484, - 36.06, - 36.07, - 36.055, - 36.076, - 36.085, - 36.08, - 36.07, - 36.065, - 36.0582, - 36.025, - 36.04, - 36.035, - 36.034, - 36.0399, - 36.055, - 36.065, - 36.06, - 36.065, - 36.065, - 36.05, - 36.065, - 36.07, - 36.08, - 36.0901, - 36.09, - 36.1, - 36.08, - 36.1, - 36.115, - 36.12, - 36.126, - 36.1428, - 36.13, - 36.125, - 36.115, - 36.125, - 36.115, - 36.11, - 36.115, - 36.105, - 36.1, - 36.1, - 36.0958, - 36.094, - 36.096, - 36.085, - 36.065, - 36.065, - 36.07, - 36.075, - 36.09, - 36.095, - 36.08, - 36.0969, - 36.0825, - 36.08, - 36.075, - 36.065, - 36.076, - 36.065, - 36.07, - 36.0487, - 36.0593, - 36.08, - 36.09, - 36.084, - 36.105, - 36.115, - 36.1176, - 36.12, - 36.115, - 36.115, - 36.105, - 36.1019, - 36.1164, - 36.115, - 36.12, - 36.115, - 36.11, - 36.12, - 36.121, - 36.115, - 36.126, - 36.145, - 36.144, - 36.145, - 36.1399, - 36.145, - 36.145, - 36.125, - 36.1299, - 36.125, - 36.12, - 36.115, - 36.125, - 36.13, - 36.115, - 36.1052, - 36.118, - 36.1, - 36.0901, - 36.086, - 36.085, - 36.085, - 36.085, - 36.08, - 36.075, - 36.085, - 36.0807, - 36.0628, - 36.07, - 36.0688, - 36.055, - 36.06, - 36.065, - 36.065, - 36.06, - 36.06, - 36.061, - 36.06, - 36.06, - 36.0612, - 36.065, - 36.075, - 36.08, - 36.07, - 36.075, - 36.075, - 36.0731, - 36.085, - 36.085, - 36.095, - 36.0965, - 36.1, - 36.115, - 36.115, - 36.13, - 36.1387, - 36.13, - 36.126, - 36.136, - 36.1305, - 36.1415, - 36.142, - 36.125, - 36.125, - 36.13, - 36.115, - 36.115, - 36.125, - 36.135, - 36.14, - 36.1344, - 36.135, - 36.121, - 36.105, - 36.112, - 36.1199, - 36.08, - 36.065, - 36.0501, - 36.065, - 36.0501, - 36.0599, - 36.066, - 36.075, - 36.075, - 36.055, - 36.065, - 36.075, - 36.065, - 36.0801, - 36.0868, - 36.1, - 36.11, - 36.11, - 36.11, - 36.095, - 36.095, - 36.09, - 36.105, - 36.12, - 36.115, - 36.115, - 36.115, - 36.115, - 36.115, - 36.115, - 36.1184, - 36.115, - 36.115, - 36.12, - 36.12, - 36.1079, - 36.095, - 36.0801, - 36.07, - 36.06, - 36.06, - 36.065, - 36.07, - 36.075, - 36.0783, - 36.07, - 36.0735, - 36.1, - 36.1, - 36.105, - 36.115, - 36.12, - 36.105, - 36.105, - 36.095, - 36.085, - 36.0925, - 36.085, - 36.08, - 36.096, - 36.0875, - 36.0983, - 36.091, - 36.096, - 36.095, - 36.095, - 36.1, - 36.095, - 36.095, - 36.095, - 36.095, - 36.1, - 36.095, - 36.095, - 36.1, - 36.095, - 36.085, - 36.085, - 36.075, - 36.075, - 36.075, - 36.0701, - 36.065, - 36.065, - 36.065, - 36.084, - 36.094, - 36.1, - 36.085, - 36.0899, - 36.08, - 36.085, - 36.085, - 36.08, - 36.09, - 36.085, - 36.085, - 36.0878, - 36.085, - 36.085, - 36.095, - 36.08, - 36.07, - 36.0669, - 36.065, - 36.0684, - 36.055, - 36.045, - 36.0592, - 36.07, - 36.0741, - 36.0701, - 36.06, - 36.05, - 36.056, - 36.055, - 36.06, - 36.0598, - 36.066, - 36.07, - 36.065, - 36.055, - 36.05, - 36.02, - 36.0228, - 36.03, - 36.012, - 36.03, - 36.025, - 36.015, - 36.0101, - 36.0001, - 35.995, - 35.9999, - 35.995, - 36, - 35.995, - 35.99, - 35.99, - 35.995, - 35.975, - 35.985, - 35.986, - 35.9891, - 35.9569, - 35.954, - 35.97, - 35.965, - 35.965, - 35.98, - 35.966, - 35.9785, - 35.965, - 35.965, - 35.99, - 35.985, - 35.995, - 36, - 36.0057, - 36, - 35.995, - 35.995, - 35.995, - 36.01, - 36.015, - 36.0193, - 36.025, - 36.026, - 36.035, - 36.0381, - 36.036, - 36.02, - 35.995, - 36, - 36.03, - 36.036, - 36.04, - 36.0477, - 36.045, - 36.045, - 36.06, - 36.05, - 36.045, - 36.03, - 35.995, - 35.985, - 35.9738, - 35.955, - 35.965, - 35.9692, - 35.9545, - 35.955, - 35.945, - 35.92, - 35.91, - 35.9148, - 35.935, - 35.946, - 35.951, - 35.935, - 35.91, - 35.89, - 35.895, - 35.9001, - 35.91, - 35.9005, - 35.9077, - 35.9199, - 35.915, - 35.907, - 35.915, - 35.915, - 35.915, - 35.92, - 35.9125, - 35.914, - 35.915, - 35.91, - 35.925, - 35.922, - 35.945, - 35.945, - 35.9461, - 35.945, - 35.965, - 35.9725, - 35.99, - 35.995, - 35.995, - 35.9953, - 36.005, - 36.015, - 36.02, - 36.0086, - 35.9993, - 35.995, - 35.985, - 35.985, - 35.985, - 35.964, - 35.965, - 35.975, - 35.995, - 35.985, - 35.98, - 35.99, - 36, - 35.9801, - 35.956, - 35.965, - 35.96, - 35.9618, - 35.95, - 35.95, - 35.955, - 35.955, - 35.955, - 35.96, - 35.945, - 35.9412, - 35.9323, - 35.935, - 35.91, - 35.915, - 35.926, - 35.925, - 35.9201, - 35.915, - 35.91, - 35.895, - 35.905, - 35.905, - 35.915, - 35.915, - 35.92, - 35.915, - 35.905, - 35.9, - 35.91, - 35.905, - 35.895, - 35.895, - 35.895, - 35.906, - 35.9091, - 35.905, - 35.91, - 35.91, - 35.915, - 35.9104, - 35.915, - 35.915, - 35.91, - 35.9087, - 35.9199, - 35.925, - 35.93, - 35.937, - 35.95, - 35.9499, - 35.955, - 35.9501, - 35.9459, - 35.94, - 35.935, - 35.935, - 35.935, - 35.9402, - 35.945, - 35.945, - 35.94, - 35.9388, - 35.94, - 35.945, - 35.97, - 35.97, - 35.965, - 35.97, - 35.965, - 35.9699, - 35.9799, - 35.975, - 35.985, - 35.97, - 35.975, - 35.9767, - 35.98, - 35.945, - 35.9359, - 35.93, - 35.93, - 35.9476, - 35.945, - 35.945, - 35.95, - 35.94, - 35.94, - 35.94, - 35.936, - 35.935, - 35.93, - 35.93, - 35.9301, - 35.935, - 35.925, - 35.925, - 35.9298, - 35.935, - 35.94, - 35.95, - 35.945, - 35.96, - 35.955, - 35.96, - 35.96, - 35.95, - 35.9501, - 35.956, - 35.95, - 35.94, - 35.9401, - 35.94, - 35.946, - 35.95, - 35.945, - 35.945, - 35.9584, - 35.96, - 35.955, - 35.955, - 35.97, - 35.9512, - 35.96, - 35.9692, - 35.965, - 35.975, - 35.98, - 35.976, - 35.975, - 35.99, - 35.985, - 35.985, - 35.985, - 35.9776, - 35.975, - 35.965, - 35.975, - 35.975, - 35.979, - 35.98, - 35.99, - 35.98, - 35.985, - 35.985, - 35.985, - 35.985, - 35.985, - 35.985, - 36.005, - 36.0059, - 35.995, - 35.995, - 36.005, - 36.015, - 36.0127, - 36.002, - 36.0086, - 36.005, - 36.005, - 36.0117, - 36.01, - 36.015, - 36.029, - 36.03, - 36.025, - 36.03, - 36.025, - 36.025, - 36.005, - 36.0099, - 36.02, - 36.02, - 36.025, - 36.015, - 36.015, - 36.025, - 36.005, - 36.005, - 36.005, - 35.995, - 35.985, - 35.971, - 35.985, - 35.98, - 35.965, - 35.965, - 35.975, - 35.975, - 35.955, - 35.9599, - 35.97, - 36, - 35.99, - 35.985, - 35.995, - 35.995, - 36.01, - 36.005, - 36.005, - 36.005, - 36.02, - 36.015, - 36.0295, - 36.0399, - 36.05, - 36.0449, - 36.045, - 36.045, - 36.05, - 36.055, - 36.076, - 36.075, - 36.05, - 36.045, - 36.045, - 36.0525, - 36.0579, - 36.06, - 36.0612, - 36.065, - 36.069, - 36.069, - 36.065, - 36.06, - 36.069, - 36.069, - 36.065, - 36.065, - 36.06, - 36.065, - 36.065, - 36.069, - 36.069, - 36.055, - 36.055, - 36.055, - 36.05, - 36.055, - 36.055, - 36.055, - 36.065, - 36.065, - 36.065, - 36.069, - 36.079, - 36.0749, - 36.04, - 36.045, - 36.0573, - 36.04, - 36.035, - 36.0445, - 36.0499, - 36.047, - 36.044, - 36.0422, - 36.05, - 36.045, - 36.045, - 36.035, - 36.045, - 36.05, - 36.045, - 36.0385, - 36.025, - 36.03, - 36.02, - 36.01, - 36.015, - 36.025, - 36.025, - 36.025, - 36.035, - 36.0345, - 36.035, - 36.045, - 36.05, - 36.05, - 36.05, - 36.045, - 36.045, - 36.07, - 36.065, - 36.055, - 36.065, - 36.065, - 36.07, - 36.055, - 36.065, - 36.07, - 36.065, - 36.07, - 36.065, - 36.0699, - 36.07, - 36.065, - 36.065, - 36.045, - 36.035, - 36.035, - 36.0101, - 36.01, - 35.995, - 36.005, - 36.004, - 36.0099, - 36.005, - 36, - 35.995, - 35.995, - 35.995, - 36.005, - 36.005, - 36.015, - 36.015, - 36.019, - 36.025, - 36.025, - 36.025, - 36.005, - 36.005, - 36.0109, - 36.025, - 36.025, - 36.015, - 36.015, - 36.0134, - 36.01, - 35.995, - 36, - 35.995, - 35.98, - 35.975, - 35.9418, - 35.9626, - 35.961, - 35.945, - 35.955, - 35.945, - 35.965, - 35.98, - 35.985, - 35.975, - 35.98, - 35.975, - 35.97, - 35.975, - 35.97, - 35.975, - 35.97, - 35.97, - 35.9895, - 35.975, - 35.98, - 35.99, - 35.985, - 35.995, - 35.99, - 35.995, - 35.991, - 35.995, - 35.995, - 36.005, - 35.99, - 35.98, - 35.975, - 35.985, - 35.975, - 35.985, - 35.975, - 35.975, - 35.995, - 35.96, - 36.044, - 36.04, - 36.11, - 36.05, - 36.05, - 36.07, - 36.07, - 36.125, - 36.07, - 36.09, - 36.085, - 36.08, - 36.0713, - 36.1, - 36.1, - 36.145, - 36.175, - 36.18, - 36.165, - 36.16, - 36.15, - 36.1485, - 36.15, - 36.16, - 36.15, - 36.17, - 36.2101, - 36.21, - 36.235, - 36.24, - 36.21, - 36.235, - 36.235, - 36.285, - 36.2651, - 36.26, - 36.26, - 36.24, - 36.265, - 36.305, - 36.34, - 36.28, - 36.305, - 36.305, - 36.28, - 36.31, - 36.315, - 36.34, - 36.3374, - 36.33, - 36.315, - 36.285, - 36.29, - 36.28, - 36.315, - 36.335, - 36.315, - 36.32, - 36.325, - 36.3207, - 36.345, - 36.35, - 36.35, - 36.38, - 36.3882, - 36.38, - 36.4, - 36.4, - 36.385, - 36.38, - 36.41, - 36.41, - 36.37, - 36.385, - 36.38, - 36.395, - 36.425, - 36.435, - 36.405, - 36.4269, - 36.385, - 36.4, - 36.425, - 36.4075, - 36.3801, - 36.365, - 36.375, - 36.35, - 36.37, - 36.345, - 36.32, - 36.335, - 36.345, - 36.34, - 36.3701, - 36.36, - 36.35, - 36.345, - 36.34, - 36.335, - 36.3303, - 36.34, - 36.36, - 36.36, - 36.33, - 36.3314, - 36.3201, - 36.31, - 36.305, - 36.315, - 36.33, - 36.345, - 36.35, - 36.38, - 36.365, - 36.365, - 36.3517, - 36.35, - 36.345, - 36.365, - 36.35, - 36.325, - 36.34, - 36.325, - 36.34, - 36.365, - 36.36, - 36.335, - 36.34, - 36.356, - 36.3538, - 36.356, - 36.36, - 36.3341, - 36.335, - 36.355, - 36.37, - 36.3513, - 36.345, - 36.3375, - 36.33, - 36.335, - 36.34, - 36.334, - 36.32, - 36.33, - 36.345, - 36.34, - 36.345, - 36.335, - 36.34, - 36.34, - 36.3388, - 36.335, - 36.34, - 36.3181, - 36.295, - 36.3, - 36.3275, - 36.31, - 36.31, - 36.3, - 36.3101, - 36.305, - 36.3, - 36.315, - 36.305, - 36.304, - 36.315, - 36.335, - 36.33, - 36.335, - 36.325, - 36.315, - 36.325, - 36.33, - 36.324, - 36.32, - 36.325, - 36.31, - 36.306, - 36.3107, - 36.3, - 36.3102, - 36.301, - 36.305, - 36.265, - 36.2581, - 36.245, - 36.265, - 36.255, - 36.26, - 36.284, - 36.285, - 36.285, - 36.265, - 36.266, - 36.244, - 36.25, - 36.27, - 36.25, - 36.2404, - 36.245, - 36.225, - 36.24, - 36.245, - 36.2459, - 36.235, - 36.245, - 36.255, - 36.254, - 36.276, - 36.24, - 36.235, - 36.21, - 36.22, - 36.226, - 36.2335, - 36.234, - 36.23, - 36.27, - 36.275, - 36.27, - 36.245, - 36.255, - 36.27, - 36.27, - 36.265, - 36.26, - 36.265, - 36.275, - 36.275, - 36.27, - 36.275, - 36.265, - 36.27, - 36.285, - 36.286, - 36.285, - 36.295, - 36.3, - 36.3212, - 36.324, - 36.315, - 36.329, - 36.325, - 36.325, - 36.329, - 36.3391, - 36.34, - 36.355, - 36.355, - 36.345, - 36.3482, - 36.35, - 36.34, - 36.3401, - 36.334, - 36.33, - 36.33, - 36.33, - 36.335, - 36.3499, - 36.3454, - 36.345, - 36.345, - 36.335, - 36.3499, - 36.344, - 36.346, - 36.345, - 36.36, - 36.37, - 36.36, - 36.355, - 36.3215, - 36.3378, - 36.3324, - 36.346, - 36.3351, - 36.335, - 36.3389, - 36.335, - 36.346, - 36.344, - 36.355, - 36.365, - 36.365, - 36.355, - 36.33, - 36.335, - 36.331, - 36.325, - 36.325, - 36.32, - 36.326, - 36.325, - 36.3281, - 36.31, - 36.316, - 36.314, - 36.3101, - 36.315, - 36.325, - 36.315, - 36.305, - 36.3077, - 36.305, - 36.305, - 36.3, - 36.29, - 36.2902, - 36.2955, - 36.29, - 36.305, - 36.295, - 36.295, - 36.285, - 36.274, - 36.28, - 36.275, - 36.27, - 36.27, - 36.29, - 36.3099, - 36.315, - 36.325, - 36.324, - 36.33, - 36.355, - 36.3647, - 36.365, - 36.365, - 36.395, - 36.38, - 36.36, - 36.386, - 36.3786, - 36.39, - 36.405, - 36.4, - 36.395, - 36.405, - 36.4167, - 36.405, - 36.39, - 36.385, - 36.385, - 36.385, - 36.405, - 36.4027, - 36.39, - 36.375, - 36.3799, - 36.372, - 36.375, - 36.375, - 36.376, - 36.385, - 36.355, - 36.355, - 36.3601, - 36.366, - 36.364, - 36.364, - 36.375, - 36.375, - 36.37, - 36.38, - 36.365, - 36.365, - 36.37, - 36.3581, - 36.36, - 36.374, - 36.38, - 36.3801, - 36.365, - 36.365, - 36.37, - 36.38, - 36.37, - 36.37, - 36.355, - 36.3491, - 36.345, - 36.335, - 36.3481, - 36.3488, - 36.34, - 36.336, - 36.3403, - 36.35, - 36.34, - 36.3498, - 36.345, - 36.336, - 36.3305, - 36.345, - 36.355, - 36.355, - 36.36, - 36.3582, - 36.3591, - 36.355, - 36.355, - 36.355, - 36.33, - 36.32, - 36.32, - 36.31, - 36.306, - 36.306, - 36.295, - 36.3069, - 36.305, - 36.3, - 36.305, - 36.295, - 36.295, - 36.275, - 36.275, - 36.27, - 36.28, - 36.285, - 36.2899, - 36.285, - 36.285, - 36.285, - 36.3, - 36.29, - 36.284, - 36.2786, - 36.285, - 36.295, - 36.296, - 36.296, - 36.295, - 36.265, - 36.2801, - 36.2787, - 36.27, - 36.27, - 36.265, - 36.265, - 36.266, - 36.266, - 36.254, - 36.2603, - 36.27, - 36.2699, - 36.2603, - 36.246, - 36.24, - 36.23, - 36.22, - 36.235, - 36.23, - 36.23, - 36.235, - 36.234, - 36.23, - 36.235, - 36.235, - 36.225, - 36.236, - 36.2301, - 36.23, - 36.22, - 36.225, - 36.235, - 36.24, - 36.25, - 36.255, - 36.265, - 36.265, - 36.275, - 36.285, - 36.289, - 36.2891, - 36.285, - 36.2802, - 36.27, - 36.28, - 36.285, - 36.285, - 36.285, - 36.2822, - 36.275, - 36.27, - 36.275, - 36.2789, - 36.285, - 36.27, - 36.2779, - 36.275, - 36.275, - 36.27, - 36.25, - 36.245, - 36.245, - 36.255, - 36.255, - 36.2503, - 36.255, - 36.265, - 36.265, - 36.265, - 36.265, - 36.2667, - 36.24, - 36.2383, - 36.2242, - 36.22, - 36.21, - 36.215, - 36.21, - 36.195, - 36.2051, - 36.2, - 36.19, - 36.1601, - 36.165, - 36.16, - 36.17, - 36.185, - 36.1604, - 36.135, - 36.145, - 36.145, - 36.14, - 36.135, - 36.1381, - 36.1442, - 36.1471, - 36.16, - 36.14, - 36.14, - 36.1393, - 36.145, - 36.13, - 36.13, - 36.15, - 36.154, - 36.144, - 36.1314, - 36.15, - 36.145, - 36.155, - 36.155, - 36.15, - 36.155, - 36.1512, - 36.16, - 36.16, - 36.157, - 36.155, - 36.1695, - 36.1875, - 36.205, - 36.209, - 36.2, - 36.2099, - 36.21, - 36.215, - 36.2089, - 36.2077, - 36.205, - 36.215, - 36.22, - 36.23, - 36.2275, - 36.23, - 36.235, - 36.2215, - 36.225, - 36.2301, - 36.235, - 36.24, - 36.245, - 36.215, - 36.2, - 36.1875, - 36.186, - 36.17, - 36.18, - 36.185, - 36.185, - 36.1836, - 36.195, - 36.195, - 36.1789, - 36.1869, - 36.1989, - 36.21, - 36.225, - 36.23, - 36.235, - 36.235, - 36.23, - 36.235, - 36.235, - 36.231, - 36.2211, - 36.225, - 36.235, - 36.236, - 36.22, - 36.209, - 36.1927, - 36.191, - 36.1907, - 36.1978, - 36.19, - 36.1807, - 36.185, - 36.185, - 36.185, - 36.18, - 36.185, - 36.1885, - 36.154, - 36.1542, - 36.1468, - 36.135, - 36.125, - 36.135, - 36.135, - 36.146, - 36.1499, - 36.1482, - 36.155, - 36.155, - 36.1537, - 36.155, - 36.14, - 36.15, - 36.145, - 36.145, - 36.1525, - 36.1538, - 36.17, - 36.1631, - 36.16, - 36.175, - 36.175, - 36.1701, - 36.1679, - 36.15, - 36.155, - 36.15, - 36.165, - 36.1668, - 36.165, - 36.161, - 36.165, - 36.165, - 36.165, - 36.17, - 36.1873, - 36.1861, - 36.185, - 36.185, - 36.175, - 36.1699, - 36.17, - 36.175, - 36.165, - 36.1603, - 36.16, - 36.165, - 36.165, - 36.16, - 36.16, - 36.16, - 36.16, - 36.1799, - 36.175, - 36.185, - 36.19, - 36.19, - 36.19, - 36.194, - 36.205, - 36.205, - 36.2023, - 36.205, - 36.2095, - 36.19, - 36.195, - 36.185, - 36.18, - 36.195, - 36.2, - 36.205, - 36.2, - 36.185, - 36.1807, - 36.1869, - 36.18, - 36.185, - 36.185, - 36.185, - 36.185, - 36.19, - 36.19, - 36.1799, - 36.185, - 36.18, - 36.185, - 36.18, - 36.175, - 36.175, - 36.175, - 36.17, - 36.165, - 36.1638, - 36.165, - 36.175, - 36.1815, - 36.172, - 36.175, - 36.1725, - 36.18, - 36.18, - 36.19, - 36.1886, - 36.18, - 36.195, - 36.195, - 36.206, - 36.2, - 36.195, - 36.19, - 36.19, - 36.19, - 36.19, - 36.185, - 36.185, - 36.18, - 36.19, - 36.1801, - 36.18, - 36.1769, - 36.165, - 36.175, - 36.175, - 36.18, - 36.186, - 36.185, - 36.18, - 36.175, - 36.175, - 36.17, - 36.165, - 36.1618, - 36.16, - 36.16, - 36.1695, - 36.18, - 36.17, - 36.17, - 36.1694, - 36.17, - 36.175, - 36.175, - 36.1871, - 36.185, - 36.18, - 36.2, - 36.195, - 36.195, - 36.195, - 36.195, - 36.195, - 36.195, - 36.195, - 36.195, - 36.195, - 36.195, - 36.195, - 36.205, - 36.205, - 36.205, - 36.205, - 36.2002, - 36.2, - 36.195, - 36.195, - 36.195, - 36.18, - 36.175, - 36.1703, - 36.175, - 36.17, - 36.165, - 36.155, - 36.15, - 36.13, - 36.1355, - 36.13, - 36.1344, - 36.14, - 36.1401, - 36.145, - 36.155, - 36.165, - 36.16, - 36.155, - 36.155, - 36.145, - 36.14, - 36.14, - 36.145, - 36.15, - 36.15, - 36.15, - 36.155, - 36.145, - 36.14, - 36.155, - 36.155, - 36.155, - 36.1589, - 36.165, - 36.155, - 36.16, - 36.155, - 36.165, - 36.165, - 36.164, - 36.16, - 36.1619, - 36.16, - 36.155, - 36.1499, - 36.14, - 36.145, - 36.14, - 36.1373, - 36.14, - 36.145, - 36.145, - 36.1401, - 36.145, - 36.145, - 36.155, - 36.1556, - 36.15, - 36.1534, - 36.155, - 36.15, - 36.145, - 36.145, - 36.1482, - 36.15, - 36.156, - 36.145, - 36.145, - 36.1564, - 36.15, - 36.1558, - 36.16, - 36.155, - 36.155, - 36.155, - 36.15, - 36.145, - 36.15, - 36.155, - 36.15, - 36.145, - 36.145, - 36.14, - 36.145, - 36.145, - 36.15, - 36.15, - 36.15, - 36.156, - 36.155, - 36.155, - 36.15, - 36.155, - 36.15, - 36.15, - 36.146, - 36.155, - 36.155, - 36.155, - 36.155, - 36.1586, - 36.155, - 36.155, - 36.165, - 36.165, - 36.175, - 36.185, - 36.175, - 36.1892, - 36.185, - 36.1699, - 36.165, - 36.1689, - 36.165, - 36.155, - 36.155, - 36.16, - 36.145, - 36.1343, - 36.1, - 36.055, - 36.045, - 36.03, - 36.015, - 36.0588, - 36.08, - 36.105, - 36.115, - 36.12, - 36.1, - 36.1001, - 36.105, - 36.08, - 36.095, - 36.11, - 36.13, - 36.1397, - 36.125, - 36.125, - 36.125, - 36.13, - 36.125, - 36.124, - 36.14, - 36.136, - 36.15, - 36.14, - 36.165, - 36.155, - 36.155, - 36.16, - 36.155, - 36.135, - 36.1305, - 36.1379, - 36.135, - 36.145, - 36.16, - 36.135, - 36.13, - 36.135, - 36.14, - 36.125, - 36.115, - 36.1102, - 36.09, - 36.105, - 36.115, - 36.1301, - 36.135, - 36.115, - 36.115, - 36.125, - 36.125, - 36.11, - 36.13, - 36.13, - 36.145, - 36.125, - 36.095, - 36.075, - 36.095, - 36.095, - 36.105, - 36.1, - 36.095, - 36.1001, - 36.085, - 36.11, - 36.095, - 36.085, - 36.09, - 36.12, - 36.13, - 36.135, - 36.145, - 36.135, - 36.145, - 36.15, - 36.13, - 36.095, - 36.08 - ], - "type": "candlestick", - "uid": "62660d6c-b186-4034-ab2e-6701e4999efe", - "x": [ - "2024-03-12T09:30:00-04:00", - "2024-03-12T09:30:23-04:00", - "2024-03-12T09:30:47-04:00", - "2024-03-12T09:31:11-04:00", - "2024-03-12T09:31:34-04:00", - "2024-03-12T09:32:00-04:00", - "2024-03-12T09:32:23-04:00", - "2024-03-12T09:32:46-04:00", - "2024-03-12T09:33:09-04:00", - "2024-03-12T09:33:34-04:00", - "2024-03-12T09:33:58-04:00", - "2024-03-12T09:34:21-04:00", - "2024-03-12T09:34:45-04:00", - "2024-03-12T09:35:08-04:00", - "2024-03-12T09:35:31-04:00", - "2024-03-12T09:35:54-04:00", - "2024-03-12T09:36:18-04:00", - "2024-03-12T09:36:42-04:00", - "2024-03-12T09:37:06-04:00", - "2024-03-12T09:37:29-04:00", - "2024-03-12T09:37:52-04:00", - "2024-03-12T09:38:15-04:00", - "2024-03-12T09:38:38-04:00", - "2024-03-12T09:39:01-04:00", - "2024-03-12T09:39:24-04:00", - "2024-03-12T09:39:47-04:00", - "2024-03-12T09:40:10-04:00", - "2024-03-12T09:40:33-04:00", - "2024-03-12T09:40:56-04:00", - "2024-03-12T09:41:21-04:00", - "2024-03-12T09:41:45-04:00", - "2024-03-12T09:42:08-04:00", - "2024-03-12T09:42:31-04:00", - "2024-03-12T09:42:54-04:00", - "2024-03-12T09:43:18-04:00", - "2024-03-12T09:43:41-04:00", - "2024-03-12T09:44:04-04:00", - "2024-03-12T09:44:27-04:00", - "2024-03-12T09:44:52-04:00", - "2024-03-12T09:45:15-04:00", - "2024-03-12T09:45:38-04:00", - "2024-03-12T09:46:01-04:00", - "2024-03-12T09:46:24-04:00", - "2024-03-12T09:46:47-04:00", - "2024-03-12T09:47:10-04:00", - "2024-03-12T09:47:34-04:00", - "2024-03-12T09:47:58-04:00", - "2024-03-12T09:48:22-04:00", - "2024-03-12T09:48:45-04:00", - "2024-03-12T09:49:08-04:00", - "2024-03-12T09:49:32-04:00", - "2024-03-12T09:49:56-04:00", - "2024-03-12T09:50:19-04:00", - "2024-03-12T09:50:42-04:00", - "2024-03-12T09:51:05-04:00", - "2024-03-12T09:51:28-04:00", - "2024-03-12T09:51:53-04:00", - "2024-03-12T09:52:16-04:00", - "2024-03-12T09:52:40-04:00", - "2024-03-12T09:53:03-04:00", - "2024-03-12T09:53:26-04:00", - "2024-03-12T09:53:50-04:00", - "2024-03-12T09:54:13-04:00", - "2024-03-12T09:54:36-04:00", - "2024-03-12T09:54:59-04:00", - "2024-03-12T09:55:22-04:00", - "2024-03-12T09:55:46-04:00", - "2024-03-12T09:56:09-04:00", - "2024-03-12T09:56:33-04:00", - "2024-03-12T09:56:56-04:00", - "2024-03-12T09:57:19-04:00", - "2024-03-12T09:57:42-04:00", - "2024-03-12T09:58:06-04:00", - "2024-03-12T09:58:29-04:00", - "2024-03-12T09:58:52-04:00", - "2024-03-12T09:59:15-04:00", - "2024-03-12T09:59:39-04:00", - "2024-03-12T10:00:04-04:00", - "2024-03-12T10:00:27-04:00", - "2024-03-12T10:00:51-04:00", - "2024-03-12T10:01:14-04:00", - "2024-03-12T10:01:37-04:00", - "2024-03-12T10:02:00-04:00", - "2024-03-12T10:02:24-04:00", - "2024-03-12T10:02:47-04:00", - "2024-03-12T10:03:10-04:00", - "2024-03-12T10:03:33-04:00", - "2024-03-12T10:03:57-04:00", - "2024-03-12T10:04:20-04:00", - "2024-03-12T10:04:45-04:00", - "2024-03-12T10:05:09-04:00", - "2024-03-12T10:05:33-04:00", - "2024-03-12T10:05:56-04:00", - "2024-03-12T10:06:19-04:00", - "2024-03-12T10:06:42-04:00", - "2024-03-12T10:07:05-04:00", - "2024-03-12T10:07:28-04:00", - "2024-03-12T10:07:51-04:00", - "2024-03-12T10:08:14-04:00", - "2024-03-12T10:08:37-04:00", - "2024-03-12T10:09:00-04:00", - "2024-03-12T10:09:23-04:00", - "2024-03-12T10:09:48-04:00", - "2024-03-12T10:10:11-04:00", - "2024-03-12T10:10:34-04:00", - "2024-03-12T10:10:59-04:00", - "2024-03-12T10:11:22-04:00", - "2024-03-12T10:11:45-04:00", - "2024-03-12T10:12:08-04:00", - "2024-03-12T10:12:31-04:00", - "2024-03-12T10:12:54-04:00", - "2024-03-12T10:13:17-04:00", - "2024-03-12T10:13:40-04:00", - "2024-03-12T10:14:03-04:00", - "2024-03-12T10:14:27-04:00", - "2024-03-12T10:14:50-04:00", - "2024-03-12T10:15:13-04:00", - "2024-03-12T10:15:36-04:00", - "2024-03-12T10:15:59-04:00", - "2024-03-12T10:16:22-04:00", - "2024-03-12T10:16:45-04:00", - "2024-03-12T10:17:08-04:00", - "2024-03-12T10:17:31-04:00", - "2024-03-12T10:17:54-04:00", - "2024-03-12T10:18:17-04:00", - "2024-03-12T10:18:43-04:00", - "2024-03-12T10:19:06-04:00", - "2024-03-12T10:19:29-04:00", - "2024-03-12T10:19:54-04:00", - "2024-03-12T10:20:17-04:00", - "2024-03-12T10:20:40-04:00", - "2024-03-12T10:21:03-04:00", - "2024-03-12T10:21:26-04:00", - "2024-03-12T10:21:49-04:00", - "2024-03-12T10:22:12-04:00", - "2024-03-12T10:22:35-04:00", - "2024-03-12T10:22:58-04:00", - "2024-03-12T10:23:21-04:00", - "2024-03-12T10:23:44-04:00", - "2024-03-12T10:24:07-04:00", - "2024-03-12T10:24:30-04:00", - "2024-03-12T10:24:53-04:00", - "2024-03-12T10:25:17-04:00", - "2024-03-12T10:25:40-04:00", - "2024-03-12T10:26:04-04:00", - "2024-03-12T10:26:27-04:00", - "2024-03-12T10:26:50-04:00", - "2024-03-12T10:27:13-04:00", - "2024-03-12T10:27:36-04:00", - "2024-03-12T10:27:59-04:00", - "2024-03-12T10:28:22-04:00", - "2024-03-12T10:28:45-04:00", - "2024-03-12T10:29:09-04:00", - "2024-03-12T10:29:32-04:00", - "2024-03-12T10:29:55-04:00", - "2024-03-12T10:30:18-04:00", - "2024-03-12T10:30:41-04:00", - "2024-03-12T10:31:04-04:00", - "2024-03-12T10:31:27-04:00", - "2024-03-12T10:31:51-04:00", - "2024-03-12T10:32:14-04:00", - "2024-03-12T10:32:37-04:00", - "2024-03-12T10:33:01-04:00", - "2024-03-12T10:33:24-04:00", - "2024-03-12T10:33:47-04:00", - "2024-03-12T10:34:10-04:00", - "2024-03-12T10:34:33-04:00", - "2024-03-12T10:34:56-04:00", - "2024-03-12T10:35:19-04:00", - "2024-03-12T10:35:44-04:00", - "2024-03-12T10:36:07-04:00", - "2024-03-12T10:36:30-04:00", - "2024-03-12T10:36:53-04:00", - "2024-03-12T10:37:16-04:00", - "2024-03-12T10:37:39-04:00", - "2024-03-12T10:38:02-04:00", - "2024-03-12T10:38:25-04:00", - "2024-03-12T10:38:48-04:00", - "2024-03-12T10:39:11-04:00", - "2024-03-12T10:39:35-04:00", - "2024-03-12T10:39:58-04:00", - "2024-03-12T10:40:21-04:00", - "2024-03-12T10:40:44-04:00", - "2024-03-12T10:41:08-04:00", - "2024-03-12T10:41:32-04:00", - "2024-03-12T10:41:55-04:00", - "2024-03-12T10:42:18-04:00", - "2024-03-12T10:42:41-04:00", - "2024-03-12T10:43:05-04:00", - "2024-03-12T10:43:28-04:00", - "2024-03-12T10:43:53-04:00", - "2024-03-12T10:44:18-04:00", - "2024-03-12T10:44:41-04:00", - "2024-03-12T10:45:04-04:00", - "2024-03-12T10:45:27-04:00", - "2024-03-12T10:45:50-04:00", - "2024-03-12T10:46:13-04:00", - "2024-03-12T10:46:37-04:00", - "2024-03-12T10:47:01-04:00", - "2024-03-12T10:47:24-04:00", - "2024-03-12T10:47:49-04:00", - "2024-03-12T10:48:12-04:00", - "2024-03-12T10:48:35-04:00", - "2024-03-12T10:49:00-04:00", - "2024-03-12T10:49:27-04:00", - "2024-03-12T10:49:52-04:00", - "2024-03-12T10:50:18-04:00", - "2024-03-12T10:50:41-04:00", - "2024-03-12T10:51:06-04:00", - "2024-03-12T10:51:30-04:00", - "2024-03-12T10:51:53-04:00", - "2024-03-12T10:52:21-04:00", - "2024-03-12T10:52:44-04:00", - "2024-03-12T10:53:10-04:00", - "2024-03-12T10:53:36-04:00", - "2024-03-12T10:54:00-04:00", - "2024-03-12T10:54:24-04:00", - "2024-03-12T10:54:48-04:00", - "2024-03-12T10:55:12-04:00", - "2024-03-12T10:55:35-04:00", - "2024-03-12T10:55:58-04:00", - "2024-03-12T10:56:21-04:00", - "2024-03-12T10:56:46-04:00", - "2024-03-12T10:57:09-04:00", - "2024-03-12T10:57:33-04:00", - "2024-03-12T10:57:56-04:00", - "2024-03-12T10:58:19-04:00", - "2024-03-12T10:58:43-04:00", - "2024-03-12T10:59:06-04:00", - "2024-03-12T10:59:31-04:00", - "2024-03-12T10:59:54-04:00", - "2024-03-12T11:00:17-04:00", - "2024-03-12T11:00:40-04:00", - "2024-03-12T11:01:04-04:00", - "2024-03-12T11:01:28-04:00", - "2024-03-12T11:01:51-04:00", - "2024-03-12T11:02:14-04:00", - "2024-03-12T11:02:39-04:00", - "2024-03-12T11:03:03-04:00", - "2024-03-12T11:03:27-04:00", - "2024-03-12T11:03:50-04:00", - "2024-03-12T11:04:13-04:00", - "2024-03-12T11:04:37-04:00", - "2024-03-12T11:05:01-04:00", - "2024-03-12T11:05:24-04:00", - "2024-03-12T11:05:48-04:00", - "2024-03-12T11:06:11-04:00", - "2024-03-12T11:06:37-04:00", - "2024-03-12T11:07:00-04:00", - "2024-03-12T11:07:23-04:00", - "2024-03-12T11:07:46-04:00", - "2024-03-12T11:08:09-04:00", - "2024-03-12T11:08:32-04:00", - "2024-03-12T11:08:57-04:00", - "2024-03-12T11:09:21-04:00", - "2024-03-12T11:09:44-04:00", - "2024-03-12T11:10:09-04:00", - "2024-03-12T11:10:32-04:00", - "2024-03-12T11:10:55-04:00", - "2024-03-12T11:11:19-04:00", - "2024-03-12T11:11:50-04:00", - "2024-03-12T11:12:13-04:00", - "2024-03-12T11:12:36-04:00", - "2024-03-12T11:12:59-04:00", - "2024-03-12T11:13:24-04:00", - "2024-03-12T11:13:48-04:00", - "2024-03-12T11:14:11-04:00", - "2024-03-12T11:14:34-04:00", - "2024-03-12T11:14:57-04:00", - "2024-03-12T11:15:20-04:00", - "2024-03-12T11:15:43-04:00", - "2024-03-12T11:16:07-04:00", - "2024-03-12T11:16:31-04:00", - "2024-03-12T11:16:56-04:00", - "2024-03-12T11:17:21-04:00", - "2024-03-12T11:17:45-04:00", - "2024-03-12T11:18:08-04:00", - "2024-03-12T11:18:31-04:00", - "2024-03-12T11:18:56-04:00", - "2024-03-12T11:19:23-04:00", - "2024-03-12T11:19:46-04:00", - "2024-03-12T11:20:18-04:00", - "2024-03-12T11:20:41-04:00", - "2024-03-12T11:21:05-04:00", - "2024-03-12T11:21:29-04:00", - "2024-03-12T11:21:53-04:00", - "2024-03-12T11:22:19-04:00", - "2024-03-12T11:22:43-04:00", - "2024-03-12T11:23:06-04:00", - "2024-03-12T11:23:33-04:00", - "2024-03-12T11:23:56-04:00", - "2024-03-12T11:24:20-04:00", - "2024-03-12T11:24:45-04:00", - "2024-03-12T11:25:08-04:00", - "2024-03-12T11:25:32-04:00", - "2024-03-12T11:25:55-04:00", - "2024-03-12T11:26:18-04:00", - "2024-03-12T11:26:41-04:00", - "2024-03-12T11:27:11-04:00", - "2024-03-12T11:27:35-04:00", - "2024-03-12T11:27:58-04:00", - "2024-03-12T11:28:24-04:00", - "2024-03-12T11:28:49-04:00", - "2024-03-12T11:29:12-04:00", - "2024-03-12T11:29:37-04:00", - "2024-03-12T11:30:01-04:00", - "2024-03-12T11:30:24-04:00", - "2024-03-12T11:30:47-04:00", - "2024-03-12T11:31:10-04:00", - "2024-03-12T11:31:33-04:00", - "2024-03-12T11:32:00-04:00", - "2024-03-12T11:32:23-04:00", - "2024-03-12T11:32:46-04:00", - "2024-03-12T11:33:11-04:00", - "2024-03-12T11:33:35-04:00", - "2024-03-12T11:34:07-04:00", - "2024-03-12T11:34:41-04:00", - "2024-03-12T11:35:05-04:00", - "2024-03-12T11:35:29-04:00", - "2024-03-12T11:35:52-04:00", - "2024-03-12T11:36:17-04:00", - "2024-03-12T11:36:40-04:00", - "2024-03-12T11:37:03-04:00", - "2024-03-12T11:37:29-04:00", - "2024-03-12T11:37:53-04:00", - "2024-03-12T11:38:20-04:00", - "2024-03-12T11:38:45-04:00", - "2024-03-12T11:39:08-04:00", - "2024-03-12T11:39:32-04:00", - "2024-03-12T11:39:56-04:00", - "2024-03-12T11:40:20-04:00", - "2024-03-12T11:40:43-04:00", - "2024-03-12T11:41:07-04:00", - "2024-03-12T11:41:31-04:00", - "2024-03-12T11:41:55-04:00", - "2024-03-12T11:42:21-04:00", - "2024-03-12T11:42:46-04:00", - "2024-03-12T11:43:09-04:00", - "2024-03-12T11:43:36-04:00", - "2024-03-12T11:43:59-04:00", - "2024-03-12T11:44:27-04:00", - "2024-03-12T11:44:50-04:00", - "2024-03-12T11:45:14-04:00", - "2024-03-12T11:45:40-04:00", - "2024-03-12T11:46:03-04:00", - "2024-03-12T11:46:26-04:00", - "2024-03-12T11:46:49-04:00", - "2024-03-12T11:47:12-04:00", - "2024-03-12T11:47:36-04:00", - "2024-03-12T11:47:59-04:00", - "2024-03-12T11:48:22-04:00", - "2024-03-12T11:48:45-04:00", - "2024-03-12T11:49:09-04:00", - "2024-03-12T11:49:34-04:00", - "2024-03-12T11:49:57-04:00", - "2024-03-12T11:50:25-04:00", - "2024-03-12T11:50:48-04:00", - "2024-03-12T11:51:11-04:00", - "2024-03-12T11:51:40-04:00", - "2024-03-12T11:52:04-04:00", - "2024-03-12T11:52:29-04:00", - "2024-03-12T11:52:54-04:00", - "2024-03-12T11:53:17-04:00", - "2024-03-12T11:53:40-04:00", - "2024-03-12T11:54:10-04:00", - "2024-03-12T11:54:33-04:00", - "2024-03-12T11:54:57-04:00", - "2024-03-12T11:55:35-04:00", - "2024-03-12T11:55:58-04:00", - "2024-03-12T11:56:21-04:00", - "2024-03-12T11:56:45-04:00", - "2024-03-12T11:57:10-04:00", - "2024-03-12T11:57:33-04:00", - "2024-03-12T11:58:00-04:00", - "2024-03-12T11:58:23-04:00", - "2024-03-12T11:58:46-04:00", - "2024-03-12T11:59:09-04:00", - "2024-03-12T11:59:34-04:00", - "2024-03-12T11:59:58-04:00", - "2024-03-12T12:00:25-04:00", - "2024-03-12T12:00:48-04:00", - "2024-03-12T12:01:11-04:00", - "2024-03-12T12:01:38-04:00", - "2024-03-12T12:02:01-04:00", - "2024-03-12T12:02:24-04:00", - "2024-03-12T12:02:50-04:00", - "2024-03-12T12:03:16-04:00", - "2024-03-12T12:03:41-04:00", - "2024-03-12T12:04:05-04:00", - "2024-03-12T12:04:29-04:00", - "2024-03-12T12:04:53-04:00", - "2024-03-12T12:05:24-04:00", - "2024-03-12T12:05:52-04:00", - "2024-03-12T12:06:16-04:00", - "2024-03-12T12:06:39-04:00", - "2024-03-12T12:07:02-04:00", - "2024-03-12T12:07:33-04:00", - "2024-03-12T12:08:00-04:00", - "2024-03-12T12:08:23-04:00", - "2024-03-12T12:08:51-04:00", - "2024-03-12T12:09:14-04:00", - "2024-03-12T12:09:37-04:00", - "2024-03-12T12:10:00-04:00", - "2024-03-12T12:10:26-04:00", - "2024-03-12T12:10:55-04:00", - "2024-03-12T12:11:20-04:00", - "2024-03-12T12:11:43-04:00", - "2024-03-12T12:12:06-04:00", - "2024-03-12T12:12:29-04:00", - "2024-03-12T12:12:54-04:00", - "2024-03-12T12:13:19-04:00", - "2024-03-12T12:13:42-04:00", - "2024-03-12T12:14:15-04:00", - "2024-03-12T12:14:38-04:00", - "2024-03-12T12:15:01-04:00", - "2024-03-12T12:15:25-04:00", - "2024-03-12T12:15:49-04:00", - "2024-03-12T12:16:13-04:00", - "2024-03-12T12:16:38-04:00", - "2024-03-12T12:17:01-04:00", - "2024-03-12T12:17:27-04:00", - "2024-03-12T12:17:52-04:00", - "2024-03-12T12:18:15-04:00", - "2024-03-12T12:18:43-04:00", - "2024-03-12T12:19:07-04:00", - "2024-03-12T12:19:30-04:00", - "2024-03-12T12:19:54-04:00", - "2024-03-12T12:20:17-04:00", - "2024-03-12T12:20:40-04:00", - "2024-03-12T12:21:06-04:00", - "2024-03-12T12:21:31-04:00", - "2024-03-12T12:22:07-04:00", - "2024-03-12T12:22:36-04:00", - "2024-03-12T12:22:59-04:00", - "2024-03-12T12:23:22-04:00", - "2024-03-12T12:23:46-04:00", - "2024-03-12T12:24:09-04:00", - "2024-03-12T12:24:33-04:00", - "2024-03-12T12:24:58-04:00", - "2024-03-12T12:25:21-04:00", - "2024-03-12T12:25:46-04:00", - "2024-03-12T12:26:12-04:00", - "2024-03-12T12:26:36-04:00", - "2024-03-12T12:27:07-04:00", - "2024-03-12T12:27:31-04:00", - "2024-03-12T12:27:56-04:00", - "2024-03-12T12:28:20-04:00", - "2024-03-12T12:28:45-04:00", - "2024-03-12T12:29:08-04:00", - "2024-03-12T12:29:34-04:00", - "2024-03-12T12:30:02-04:00", - "2024-03-12T12:30:27-04:00", - "2024-03-12T12:30:52-04:00", - "2024-03-12T12:31:16-04:00", - "2024-03-12T12:31:39-04:00", - "2024-03-12T12:32:04-04:00", - "2024-03-12T12:32:30-04:00", - "2024-03-12T12:32:54-04:00", - "2024-03-12T12:33:17-04:00", - "2024-03-12T12:33:43-04:00", - "2024-03-12T12:34:07-04:00", - "2024-03-12T12:34:31-04:00", - "2024-03-12T12:34:54-04:00", - "2024-03-12T12:35:17-04:00", - "2024-03-12T12:35:43-04:00", - "2024-03-12T12:36:06-04:00", - "2024-03-12T12:36:31-04:00", - "2024-03-12T12:36:54-04:00", - "2024-03-12T12:37:17-04:00", - "2024-03-12T12:37:41-04:00", - "2024-03-12T12:38:04-04:00", - "2024-03-12T12:38:28-04:00", - "2024-03-12T12:38:52-04:00", - "2024-03-12T12:39:16-04:00", - "2024-03-12T12:39:42-04:00", - "2024-03-12T12:40:06-04:00", - "2024-03-12T12:40:30-04:00", - "2024-03-12T12:40:53-04:00", - "2024-03-12T12:41:16-04:00", - "2024-03-12T12:41:41-04:00", - "2024-03-12T12:42:04-04:00", - "2024-03-12T12:42:27-04:00", - "2024-03-12T12:42:50-04:00", - "2024-03-12T12:43:13-04:00", - "2024-03-12T12:43:39-04:00", - "2024-03-12T12:44:02-04:00", - "2024-03-12T12:44:29-04:00", - "2024-03-12T12:44:54-04:00", - "2024-03-12T12:45:17-04:00", - "2024-03-12T12:45:41-04:00", - "2024-03-12T12:46:04-04:00", - "2024-03-12T12:46:28-04:00", - "2024-03-12T12:46:51-04:00", - "2024-03-12T12:47:15-04:00", - "2024-03-12T12:47:39-04:00", - "2024-03-12T12:48:03-04:00", - "2024-03-12T12:48:29-04:00", - "2024-03-12T12:48:56-04:00", - "2024-03-12T12:49:21-04:00", - "2024-03-12T12:49:44-04:00", - "2024-03-12T12:50:08-04:00", - "2024-03-12T12:50:32-04:00", - "2024-03-12T12:51:06-04:00", - "2024-03-12T12:51:31-04:00", - "2024-03-12T12:51:54-04:00", - "2024-03-12T12:52:17-04:00", - "2024-03-12T12:52:40-04:00", - "2024-03-12T12:53:03-04:00", - "2024-03-12T12:53:28-04:00", - "2024-03-12T12:53:52-04:00", - "2024-03-12T12:54:15-04:00", - "2024-03-12T12:54:38-04:00", - "2024-03-12T12:55:01-04:00", - "2024-03-12T12:55:25-04:00", - "2024-03-12T12:55:49-04:00", - "2024-03-12T12:56:12-04:00", - "2024-03-12T12:56:35-04:00", - "2024-03-12T12:57:00-04:00", - "2024-03-12T12:57:23-04:00", - "2024-03-12T12:57:49-04:00", - "2024-03-12T12:58:14-04:00", - "2024-03-12T12:58:46-04:00", - "2024-03-12T12:59:10-04:00", - "2024-03-12T12:59:36-04:00", - "2024-03-12T13:00:00-04:00", - "2024-03-12T13:00:24-04:00", - "2024-03-12T13:00:51-04:00", - "2024-03-12T13:01:17-04:00", - "2024-03-12T13:01:40-04:00", - "2024-03-12T13:02:03-04:00", - "2024-03-12T13:02:26-04:00", - "2024-03-12T13:02:49-04:00", - "2024-03-12T13:03:12-04:00", - "2024-03-12T13:03:38-04:00", - "2024-03-12T13:04:03-04:00", - "2024-03-12T13:04:26-04:00", - "2024-03-12T13:04:49-04:00", - "2024-03-12T13:05:13-04:00", - "2024-03-12T13:05:37-04:00", - "2024-03-12T13:06:00-04:00", - "2024-03-12T13:06:23-04:00", - "2024-03-12T13:06:48-04:00", - "2024-03-12T13:07:12-04:00", - "2024-03-12T13:07:40-04:00", - "2024-03-12T13:08:03-04:00", - "2024-03-12T13:08:29-04:00", - "2024-03-12T13:08:52-04:00", - "2024-03-12T13:09:16-04:00", - "2024-03-12T13:09:39-04:00", - "2024-03-12T13:10:04-04:00", - "2024-03-12T13:10:33-04:00", - "2024-03-12T13:11:02-04:00", - "2024-03-12T13:11:25-04:00", - "2024-03-12T13:11:48-04:00", - "2024-03-12T13:12:13-04:00", - "2024-03-12T13:12:38-04:00", - "2024-03-12T13:13:15-04:00", - "2024-03-12T13:13:38-04:00", - "2024-03-12T13:14:02-04:00", - "2024-03-12T13:14:28-04:00", - "2024-03-12T13:14:51-04:00", - "2024-03-12T13:15:14-04:00", - "2024-03-12T13:15:37-04:00", - "2024-03-12T13:16:02-04:00", - "2024-03-12T13:16:25-04:00", - "2024-03-12T13:16:56-04:00", - "2024-03-12T13:17:23-04:00", - "2024-03-12T13:17:48-04:00", - "2024-03-12T13:18:12-04:00", - "2024-03-12T13:18:35-04:00", - "2024-03-12T13:18:58-04:00", - "2024-03-12T13:19:21-04:00", - "2024-03-12T13:19:45-04:00", - "2024-03-12T13:20:12-04:00", - "2024-03-12T13:20:37-04:00", - "2024-03-12T13:21:02-04:00", - "2024-03-12T13:21:28-04:00", - "2024-03-12T13:21:51-04:00", - "2024-03-12T13:22:14-04:00", - "2024-03-12T13:22:37-04:00", - "2024-03-12T13:23:03-04:00", - "2024-03-12T13:23:28-04:00", - "2024-03-12T13:23:51-04:00", - "2024-03-12T13:24:14-04:00", - "2024-03-12T13:24:37-04:00", - "2024-03-12T13:25:00-04:00", - "2024-03-12T13:25:26-04:00", - "2024-03-12T13:25:49-04:00", - "2024-03-12T13:26:18-04:00", - "2024-03-12T13:26:51-04:00", - "2024-03-12T13:27:15-04:00", - "2024-03-12T13:27:40-04:00", - "2024-03-12T13:28:03-04:00", - "2024-03-12T13:28:26-04:00", - "2024-03-12T13:28:54-04:00", - "2024-03-12T13:29:17-04:00", - "2024-03-12T13:29:42-04:00", - "2024-03-12T13:30:05-04:00", - "2024-03-12T13:30:29-04:00", - "2024-03-12T13:30:52-04:00", - "2024-03-12T13:31:16-04:00", - "2024-03-12T13:31:39-04:00", - "2024-03-12T13:32:02-04:00", - "2024-03-12T13:32:40-04:00", - "2024-03-12T13:33:03-04:00", - "2024-03-12T13:33:28-04:00", - "2024-03-12T13:33:53-04:00", - "2024-03-12T13:34:17-04:00", - "2024-03-12T13:34:40-04:00", - "2024-03-12T13:35:09-04:00", - "2024-03-12T13:35:36-04:00", - "2024-03-12T13:36:00-04:00", - "2024-03-12T13:36:23-04:00", - "2024-03-12T13:36:46-04:00", - "2024-03-12T13:37:09-04:00", - "2024-03-12T13:37:32-04:00", - "2024-03-12T13:37:55-04:00", - "2024-03-12T13:38:20-04:00", - "2024-03-12T13:38:50-04:00", - "2024-03-12T13:39:13-04:00", - "2024-03-12T13:39:38-04:00", - "2024-03-12T13:40:05-04:00", - "2024-03-12T13:40:28-04:00", - "2024-03-12T13:40:53-04:00", - "2024-03-12T13:41:17-04:00", - "2024-03-12T13:41:42-04:00", - "2024-03-12T13:42:05-04:00", - "2024-03-12T13:42:34-04:00", - "2024-03-12T13:42:58-04:00", - "2024-03-12T13:43:23-04:00", - "2024-03-12T13:43:50-04:00", - "2024-03-12T13:44:13-04:00", - "2024-03-12T13:44:40-04:00", - "2024-03-12T13:45:04-04:00", - "2024-03-12T13:45:28-04:00", - "2024-03-12T13:45:55-04:00", - "2024-03-12T13:46:18-04:00", - "2024-03-12T13:46:41-04:00", - "2024-03-12T13:47:04-04:00", - "2024-03-12T13:47:27-04:00", - "2024-03-12T13:47:51-04:00", - "2024-03-12T13:48:14-04:00", - "2024-03-12T13:48:39-04:00", - "2024-03-12T13:49:03-04:00", - "2024-03-12T13:49:26-04:00", - "2024-03-12T13:49:50-04:00", - "2024-03-12T13:50:13-04:00", - "2024-03-12T13:50:38-04:00", - "2024-03-12T13:51:05-04:00", - "2024-03-12T13:51:31-04:00", - "2024-03-12T13:51:57-04:00", - "2024-03-12T13:52:22-04:00", - "2024-03-12T13:52:52-04:00", - "2024-03-12T13:53:15-04:00", - "2024-03-12T13:53:38-04:00", - "2024-03-12T13:54:08-04:00", - "2024-03-12T13:54:31-04:00", - "2024-03-12T13:54:54-04:00", - "2024-03-12T13:55:18-04:00", - "2024-03-12T13:55:41-04:00", - "2024-03-12T13:56:04-04:00", - "2024-03-12T13:56:28-04:00", - "2024-03-12T13:56:52-04:00", - "2024-03-12T13:57:17-04:00", - "2024-03-12T13:57:41-04:00", - "2024-03-12T13:58:05-04:00", - "2024-03-12T13:58:29-04:00", - "2024-03-12T13:58:53-04:00", - "2024-03-12T13:59:16-04:00", - "2024-03-12T13:59:44-04:00", - "2024-03-12T14:00:08-04:00", - "2024-03-12T14:00:36-04:00", - "2024-03-12T14:01:01-04:00", - "2024-03-12T14:01:25-04:00", - "2024-03-12T14:01:49-04:00", - "2024-03-12T14:02:30-04:00", - "2024-03-12T14:02:53-04:00", - "2024-03-12T14:03:17-04:00", - "2024-03-12T14:03:40-04:00", - "2024-03-12T14:04:05-04:00", - "2024-03-12T14:04:30-04:00", - "2024-03-12T14:04:53-04:00", - "2024-03-12T14:05:20-04:00", - "2024-03-12T14:05:44-04:00", - "2024-03-12T14:06:07-04:00", - "2024-03-12T14:06:30-04:00", - "2024-03-12T14:06:54-04:00", - "2024-03-12T14:07:19-04:00", - "2024-03-12T14:07:43-04:00", - "2024-03-12T14:08:08-04:00", - "2024-03-12T14:08:31-04:00", - "2024-03-12T14:08:57-04:00", - "2024-03-12T14:09:21-04:00", - "2024-03-12T14:09:45-04:00", - "2024-03-12T14:10:08-04:00", - "2024-03-12T14:10:34-04:00", - "2024-03-12T14:10:57-04:00", - "2024-03-12T14:11:22-04:00", - "2024-03-12T14:11:48-04:00", - "2024-03-12T14:12:13-04:00", - "2024-03-12T14:12:36-04:00", - "2024-03-12T14:12:59-04:00", - "2024-03-12T14:13:31-04:00", - "2024-03-12T14:13:54-04:00", - "2024-03-12T14:14:17-04:00", - "2024-03-12T14:14:41-04:00", - "2024-03-12T14:15:04-04:00", - "2024-03-12T14:15:29-04:00", - "2024-03-12T14:15:52-04:00", - "2024-03-12T14:16:18-04:00", - "2024-03-12T14:16:45-04:00", - "2024-03-12T14:17:10-04:00", - "2024-03-12T14:17:35-04:00", - "2024-03-12T14:17:58-04:00", - "2024-03-12T14:18:21-04:00", - "2024-03-12T14:18:52-04:00", - "2024-03-12T14:19:15-04:00", - "2024-03-12T14:19:41-04:00", - "2024-03-12T14:20:05-04:00", - "2024-03-12T14:20:29-04:00", - "2024-03-12T14:20:52-04:00", - "2024-03-12T14:21:15-04:00", - "2024-03-12T14:21:40-04:00", - "2024-03-12T14:22:04-04:00", - "2024-03-12T14:22:32-04:00", - "2024-03-12T14:23:02-04:00", - "2024-03-12T14:23:25-04:00", - "2024-03-12T14:23:50-04:00", - "2024-03-12T14:24:16-04:00", - "2024-03-12T14:24:39-04:00", - "2024-03-12T14:25:02-04:00", - "2024-03-12T14:25:25-04:00", - "2024-03-12T14:25:48-04:00", - "2024-03-12T14:26:11-04:00", - "2024-03-12T14:26:34-04:00", - "2024-03-12T14:26:58-04:00", - "2024-03-12T14:27:21-04:00", - "2024-03-12T14:27:44-04:00", - "2024-03-12T14:28:07-04:00", - "2024-03-12T14:28:30-04:00", - "2024-03-12T14:28:54-04:00", - "2024-03-12T14:29:21-04:00", - "2024-03-12T14:29:50-04:00", - "2024-03-12T14:30:14-04:00", - "2024-03-12T14:30:37-04:00", - "2024-03-12T14:31:00-04:00", - "2024-03-12T14:31:24-04:00", - "2024-03-12T14:31:47-04:00", - "2024-03-12T14:32:16-04:00", - "2024-03-12T14:32:39-04:00", - "2024-03-12T14:33:14-04:00", - "2024-03-12T14:33:38-04:00", - "2024-03-12T14:34:01-04:00", - "2024-03-12T14:34:27-04:00", - "2024-03-12T14:34:52-04:00", - "2024-03-12T14:35:19-04:00", - "2024-03-12T14:35:43-04:00", - "2024-03-12T14:36:17-04:00", - "2024-03-12T14:36:41-04:00", - "2024-03-12T14:37:05-04:00", - "2024-03-12T14:37:29-04:00", - "2024-03-12T14:37:52-04:00", - "2024-03-12T14:38:15-04:00", - "2024-03-12T14:38:38-04:00", - "2024-03-12T14:39:02-04:00", - "2024-03-12T14:39:29-04:00", - "2024-03-12T14:39:52-04:00", - "2024-03-12T14:40:15-04:00", - "2024-03-12T14:40:38-04:00", - "2024-03-12T14:41:02-04:00", - "2024-03-12T14:41:28-04:00", - "2024-03-12T14:41:51-04:00", - "2024-03-12T14:42:16-04:00", - "2024-03-12T14:42:40-04:00", - "2024-03-12T14:43:03-04:00", - "2024-03-12T14:43:26-04:00", - "2024-03-12T14:43:49-04:00", - "2024-03-12T14:44:12-04:00", - "2024-03-12T14:44:35-04:00", - "2024-03-12T14:45:02-04:00", - "2024-03-12T14:45:25-04:00", - "2024-03-12T14:45:48-04:00", - "2024-03-12T14:46:15-04:00", - "2024-03-12T14:46:38-04:00", - "2024-03-12T14:47:03-04:00", - "2024-03-12T14:47:26-04:00", - "2024-03-12T14:47:49-04:00", - "2024-03-12T14:48:14-04:00", - "2024-03-12T14:48:45-04:00", - "2024-03-12T14:49:09-04:00", - "2024-03-12T14:49:32-04:00", - "2024-03-12T14:49:55-04:00", - "2024-03-12T14:50:26-04:00", - "2024-03-12T14:50:49-04:00", - "2024-03-12T14:51:12-04:00", - "2024-03-12T14:51:35-04:00", - "2024-03-12T14:51:59-04:00", - "2024-03-12T14:52:22-04:00", - "2024-03-12T14:52:45-04:00", - "2024-03-12T14:53:24-04:00", - "2024-03-12T14:53:49-04:00", - "2024-03-12T14:54:12-04:00", - "2024-03-12T14:54:35-04:00", - "2024-03-12T14:54:58-04:00", - "2024-03-12T14:55:22-04:00", - "2024-03-12T14:55:45-04:00", - "2024-03-12T14:56:09-04:00", - "2024-03-12T14:56:32-04:00", - "2024-03-12T14:56:59-04:00", - "2024-03-12T14:57:24-04:00", - "2024-03-12T14:57:53-04:00", - "2024-03-12T14:58:16-04:00", - "2024-03-12T14:58:40-04:00", - "2024-03-12T14:59:05-04:00", - "2024-03-12T14:59:28-04:00", - "2024-03-12T14:59:54-04:00", - "2024-03-12T15:00:20-04:00", - "2024-03-12T15:00:44-04:00", - "2024-03-12T15:01:10-04:00", - "2024-03-12T15:01:33-04:00", - "2024-03-12T15:01:58-04:00", - "2024-03-12T15:02:21-04:00", - "2024-03-12T15:02:47-04:00", - "2024-03-12T15:03:10-04:00", - "2024-03-12T15:03:36-04:00", - "2024-03-12T15:03:59-04:00", - "2024-03-12T15:04:22-04:00", - "2024-03-12T15:04:47-04:00", - "2024-03-12T15:05:11-04:00", - "2024-03-12T15:05:35-04:00", - "2024-03-12T15:05:58-04:00", - "2024-03-12T15:06:22-04:00", - "2024-03-12T15:06:45-04:00", - "2024-03-12T15:07:08-04:00", - "2024-03-12T15:07:33-04:00", - "2024-03-12T15:07:56-04:00", - "2024-03-12T15:08:22-04:00", - "2024-03-12T15:08:45-04:00", - "2024-03-12T15:09:09-04:00", - "2024-03-12T15:09:33-04:00", - "2024-03-12T15:09:57-04:00", - "2024-03-12T15:10:21-04:00", - "2024-03-12T15:10:44-04:00", - "2024-03-12T15:11:07-04:00", - "2024-03-12T15:11:31-04:00", - "2024-03-12T15:11:54-04:00", - "2024-03-12T15:12:17-04:00", - "2024-03-12T15:12:44-04:00", - "2024-03-12T15:13:07-04:00", - "2024-03-12T15:13:30-04:00", - "2024-03-12T15:13:54-04:00", - "2024-03-12T15:14:17-04:00", - "2024-03-12T15:14:40-04:00", - "2024-03-12T15:15:03-04:00", - "2024-03-12T15:15:26-04:00", - "2024-03-12T15:15:49-04:00", - "2024-03-12T15:16:13-04:00", - "2024-03-12T15:16:36-04:00", - "2024-03-12T15:17:00-04:00", - "2024-03-12T15:17:29-04:00", - "2024-03-12T15:17:52-04:00", - "2024-03-12T15:18:15-04:00", - "2024-03-12T15:18:39-04:00", - "2024-03-12T15:19:02-04:00", - "2024-03-12T15:19:29-04:00", - "2024-03-12T15:19:54-04:00", - "2024-03-12T15:20:17-04:00", - "2024-03-12T15:20:45-04:00", - "2024-03-12T15:21:11-04:00", - "2024-03-12T15:21:34-04:00", - "2024-03-12T15:21:57-04:00", - "2024-03-12T15:22:20-04:00", - "2024-03-12T15:22:43-04:00", - "2024-03-12T15:23:09-04:00", - "2024-03-12T15:23:32-04:00", - "2024-03-12T15:24:00-04:00", - "2024-03-12T15:24:25-04:00", - "2024-03-12T15:24:48-04:00", - "2024-03-12T15:25:11-04:00", - "2024-03-12T15:25:34-04:00", - "2024-03-12T15:25:58-04:00", - "2024-03-12T15:26:26-04:00", - "2024-03-12T15:26:52-04:00", - "2024-03-12T15:27:15-04:00", - "2024-03-12T15:27:39-04:00", - "2024-03-12T15:28:02-04:00", - "2024-03-12T15:28:31-04:00", - "2024-03-12T15:28:54-04:00", - "2024-03-12T15:29:17-04:00", - "2024-03-12T15:29:42-04:00", - "2024-03-12T15:30:06-04:00", - "2024-03-12T15:30:29-04:00", - "2024-03-12T15:30:53-04:00", - "2024-03-12T15:31:16-04:00", - "2024-03-12T15:31:39-04:00", - "2024-03-12T15:32:02-04:00", - "2024-03-12T15:32:25-04:00", - "2024-03-12T15:32:48-04:00", - "2024-03-12T15:33:14-04:00", - "2024-03-12T15:33:39-04:00", - "2024-03-12T15:34:02-04:00", - "2024-03-12T15:34:25-04:00", - "2024-03-12T15:34:48-04:00", - "2024-03-12T15:35:11-04:00", - "2024-03-12T15:35:34-04:00", - "2024-03-12T15:35:57-04:00", - "2024-03-12T15:36:20-04:00", - "2024-03-12T15:36:43-04:00", - "2024-03-12T15:37:06-04:00", - "2024-03-12T15:37:29-04:00", - "2024-03-12T15:37:52-04:00", - "2024-03-12T15:38:15-04:00", - "2024-03-12T15:38:38-04:00", - "2024-03-12T15:39:01-04:00", - "2024-03-12T15:39:25-04:00", - "2024-03-12T15:39:49-04:00", - "2024-03-12T15:40:13-04:00", - "2024-03-12T15:40:38-04:00", - "2024-03-12T15:41:04-04:00", - "2024-03-12T15:41:27-04:00", - "2024-03-12T15:41:50-04:00", - "2024-03-12T15:42:13-04:00", - "2024-03-12T15:42:37-04:00", - "2024-03-12T15:43:00-04:00", - "2024-03-12T15:43:23-04:00", - "2024-03-12T15:43:48-04:00", - "2024-03-12T15:44:11-04:00", - "2024-03-12T15:44:38-04:00", - "2024-03-12T15:45:01-04:00", - "2024-03-12T15:45:25-04:00", - "2024-03-12T15:45:49-04:00", - "2024-03-12T15:46:12-04:00", - "2024-03-12T15:46:36-04:00", - "2024-03-12T15:46:59-04:00", - "2024-03-12T15:47:22-04:00", - "2024-03-12T15:47:45-04:00", - "2024-03-12T15:48:08-04:00", - "2024-03-12T15:48:31-04:00", - "2024-03-12T15:48:55-04:00", - "2024-03-12T15:49:18-04:00", - "2024-03-12T15:49:44-04:00", - "2024-03-12T15:50:07-04:00", - "2024-03-12T15:50:31-04:00", - "2024-03-12T15:50:55-04:00", - "2024-03-12T15:51:18-04:00", - "2024-03-12T15:51:41-04:00", - "2024-03-12T15:52:04-04:00", - "2024-03-12T15:52:27-04:00", - "2024-03-12T15:52:50-04:00", - "2024-03-12T15:53:13-04:00", - "2024-03-12T15:53:36-04:00", - "2024-03-12T15:53:59-04:00", - "2024-03-12T15:54:22-04:00", - "2024-03-12T15:54:45-04:00", - "2024-03-12T15:55:08-04:00", - "2024-03-12T15:55:31-04:00", - "2024-03-12T15:55:54-04:00", - "2024-03-12T15:56:17-04:00", - "2024-03-12T15:56:40-04:00", - "2024-03-12T15:57:03-04:00", - "2024-03-12T15:57:26-04:00", - "2024-03-12T15:57:49-04:00", - "2024-03-12T15:58:12-04:00", - "2024-03-12T15:58:35-04:00", - "2024-03-12T15:58:58-04:00", - "2024-03-12T15:59:21-04:00", - "2024-03-12T15:59:44-04:00", - "2024-03-13T09:30:00-04:00", - "2024-03-13T09:30:24-04:00", - "2024-03-13T09:30:47-04:00", - "2024-03-13T09:31:12-04:00", - "2024-03-13T09:31:35-04:00", - "2024-03-13T09:31:58-04:00", - "2024-03-13T09:32:22-04:00", - "2024-03-13T09:32:45-04:00", - "2024-03-13T09:33:08-04:00", - "2024-03-13T09:33:31-04:00", - "2024-03-13T09:33:54-04:00", - "2024-03-13T09:34:17-04:00", - "2024-03-13T09:34:40-04:00", - "2024-03-13T09:35:03-04:00", - "2024-03-13T09:35:28-04:00", - "2024-03-13T09:35:51-04:00", - "2024-03-13T09:36:14-04:00", - "2024-03-13T09:36:37-04:00", - "2024-03-13T09:37:00-04:00", - "2024-03-13T09:37:24-04:00", - "2024-03-13T09:37:47-04:00", - "2024-03-13T09:38:12-04:00", - "2024-03-13T09:38:36-04:00", - "2024-03-13T09:38:59-04:00", - "2024-03-13T09:39:22-04:00", - "2024-03-13T09:39:45-04:00", - "2024-03-13T09:40:08-04:00", - "2024-03-13T09:40:31-04:00", - "2024-03-13T09:40:55-04:00", - "2024-03-13T09:41:18-04:00", - "2024-03-13T09:41:45-04:00", - "2024-03-13T09:42:08-04:00", - "2024-03-13T09:42:31-04:00", - "2024-03-13T09:42:54-04:00", - "2024-03-13T09:43:17-04:00", - "2024-03-13T09:43:40-04:00", - "2024-03-13T09:44:03-04:00", - "2024-03-13T09:44:26-04:00", - "2024-03-13T09:44:49-04:00", - "2024-03-13T09:45:12-04:00", - "2024-03-13T09:45:35-04:00", - "2024-03-13T09:45:58-04:00", - "2024-03-13T09:46:21-04:00", - "2024-03-13T09:46:44-04:00", - "2024-03-13T09:47:07-04:00", - "2024-03-13T09:47:30-04:00", - "2024-03-13T09:47:54-04:00", - "2024-03-13T09:48:19-04:00", - "2024-03-13T09:48:42-04:00", - "2024-03-13T09:49:05-04:00", - "2024-03-13T09:49:28-04:00", - "2024-03-13T09:49:51-04:00", - "2024-03-13T09:50:14-04:00", - "2024-03-13T09:50:37-04:00", - "2024-03-13T09:51:00-04:00", - "2024-03-13T09:51:23-04:00", - "2024-03-13T09:51:46-04:00", - "2024-03-13T09:52:09-04:00", - "2024-03-13T09:52:32-04:00", - "2024-03-13T09:52:56-04:00", - "2024-03-13T09:53:19-04:00", - "2024-03-13T09:53:42-04:00", - "2024-03-13T09:54:05-04:00", - "2024-03-13T09:54:28-04:00", - "2024-03-13T09:54:51-04:00", - "2024-03-13T09:55:14-04:00", - "2024-03-13T09:55:37-04:00", - "2024-03-13T09:56:00-04:00", - "2024-03-13T09:56:23-04:00", - "2024-03-13T09:56:46-04:00", - "2024-03-13T09:57:09-04:00", - "2024-03-13T09:57:33-04:00", - "2024-03-13T09:57:57-04:00", - "2024-03-13T09:58:21-04:00", - "2024-03-13T09:58:44-04:00", - "2024-03-13T09:59:07-04:00", - "2024-03-13T09:59:30-04:00", - "2024-03-13T09:59:54-04:00", - "2024-03-13T10:00:17-04:00", - "2024-03-13T10:00:40-04:00", - "2024-03-13T10:01:04-04:00", - "2024-03-13T10:01:27-04:00", - "2024-03-13T10:01:50-04:00", - "2024-03-13T10:02:13-04:00", - "2024-03-13T10:02:36-04:00", - "2024-03-13T10:02:59-04:00", - "2024-03-13T10:03:22-04:00", - "2024-03-13T10:03:45-04:00", - "2024-03-13T10:04:08-04:00", - "2024-03-13T10:04:31-04:00", - "2024-03-13T10:04:54-04:00", - "2024-03-13T10:05:17-04:00", - "2024-03-13T10:05:40-04:00", - "2024-03-13T10:06:03-04:00", - "2024-03-13T10:06:26-04:00", - "2024-03-13T10:06:49-04:00", - "2024-03-13T10:07:12-04:00", - "2024-03-13T10:07:35-04:00", - "2024-03-13T10:07:58-04:00", - "2024-03-13T10:08:21-04:00", - "2024-03-13T10:08:44-04:00", - "2024-03-13T10:09:07-04:00", - "2024-03-13T10:09:31-04:00", - "2024-03-13T10:09:54-04:00", - "2024-03-13T10:10:19-04:00", - "2024-03-13T10:10:44-04:00", - "2024-03-13T10:11:07-04:00", - "2024-03-13T10:11:30-04:00", - "2024-03-13T10:11:54-04:00", - "2024-03-13T10:12:18-04:00", - "2024-03-13T10:12:42-04:00", - "2024-03-13T10:13:05-04:00", - "2024-03-13T10:13:28-04:00", - "2024-03-13T10:13:51-04:00", - "2024-03-13T10:14:16-04:00", - "2024-03-13T10:14:39-04:00", - "2024-03-13T10:15:02-04:00", - "2024-03-13T10:15:26-04:00", - "2024-03-13T10:15:49-04:00", - "2024-03-13T10:16:12-04:00", - "2024-03-13T10:16:35-04:00", - "2024-03-13T10:16:58-04:00", - "2024-03-13T10:17:21-04:00", - "2024-03-13T10:17:44-04:00", - "2024-03-13T10:18:07-04:00", - "2024-03-13T10:18:30-04:00", - "2024-03-13T10:18:54-04:00", - "2024-03-13T10:19:20-04:00", - "2024-03-13T10:19:45-04:00", - "2024-03-13T10:20:08-04:00", - "2024-03-13T10:20:32-04:00", - "2024-03-13T10:20:55-04:00", - "2024-03-13T10:21:18-04:00", - "2024-03-13T10:21:42-04:00", - "2024-03-13T10:22:05-04:00", - "2024-03-13T10:22:28-04:00", - "2024-03-13T10:22:53-04:00", - "2024-03-13T10:23:16-04:00", - "2024-03-13T10:23:39-04:00", - "2024-03-13T10:24:02-04:00", - "2024-03-13T10:24:27-04:00", - "2024-03-13T10:24:51-04:00", - "2024-03-13T10:25:14-04:00", - "2024-03-13T10:25:37-04:00", - "2024-03-13T10:26:00-04:00", - "2024-03-13T10:26:25-04:00", - "2024-03-13T10:26:48-04:00", - "2024-03-13T10:27:11-04:00", - "2024-03-13T10:27:34-04:00", - "2024-03-13T10:27:59-04:00", - "2024-03-13T10:28:22-04:00", - "2024-03-13T10:28:47-04:00", - "2024-03-13T10:29:10-04:00", - "2024-03-13T10:29:35-04:00", - "2024-03-13T10:30:00-04:00", - "2024-03-13T10:30:24-04:00", - "2024-03-13T10:30:47-04:00", - "2024-03-13T10:31:10-04:00", - "2024-03-13T10:31:35-04:00", - "2024-03-13T10:31:58-04:00", - "2024-03-13T10:32:22-04:00", - "2024-03-13T10:32:45-04:00", - "2024-03-13T10:33:10-04:00", - "2024-03-13T10:33:33-04:00", - "2024-03-13T10:34:00-04:00", - "2024-03-13T10:34:26-04:00", - "2024-03-13T10:34:50-04:00", - "2024-03-13T10:35:13-04:00", - "2024-03-13T10:35:36-04:00", - "2024-03-13T10:35:59-04:00", - "2024-03-13T10:36:23-04:00", - "2024-03-13T10:36:46-04:00", - "2024-03-13T10:37:10-04:00", - "2024-03-13T10:37:33-04:00", - "2024-03-13T10:37:56-04:00", - "2024-03-13T10:38:19-04:00", - "2024-03-13T10:38:44-04:00", - "2024-03-13T10:39:07-04:00", - "2024-03-13T10:39:30-04:00", - "2024-03-13T10:39:53-04:00", - "2024-03-13T10:40:16-04:00", - "2024-03-13T10:40:40-04:00", - "2024-03-13T10:41:03-04:00", - "2024-03-13T10:41:26-04:00", - "2024-03-13T10:41:50-04:00", - "2024-03-13T10:42:13-04:00", - "2024-03-13T10:42:37-04:00", - "2024-03-13T10:43:00-04:00", - "2024-03-13T10:43:23-04:00", - "2024-03-13T10:43:47-04:00", - "2024-03-13T10:44:10-04:00", - "2024-03-13T10:44:33-04:00", - "2024-03-13T10:44:56-04:00", - "2024-03-13T10:45:19-04:00", - "2024-03-13T10:45:45-04:00", - "2024-03-13T10:46:08-04:00", - "2024-03-13T10:46:31-04:00", - "2024-03-13T10:46:54-04:00", - "2024-03-13T10:47:17-04:00", - "2024-03-13T10:47:41-04:00", - "2024-03-13T10:48:06-04:00", - "2024-03-13T10:48:29-04:00", - "2024-03-13T10:48:52-04:00", - "2024-03-13T10:49:15-04:00", - "2024-03-13T10:49:39-04:00", - "2024-03-13T10:50:02-04:00", - "2024-03-13T10:50:25-04:00", - "2024-03-13T10:50:48-04:00", - "2024-03-13T10:51:11-04:00", - "2024-03-13T10:51:34-04:00", - "2024-03-13T10:51:57-04:00", - "2024-03-13T10:52:21-04:00", - "2024-03-13T10:52:44-04:00", - "2024-03-13T10:53:07-04:00", - "2024-03-13T10:53:30-04:00", - "2024-03-13T10:53:53-04:00", - "2024-03-13T10:54:16-04:00", - "2024-03-13T10:54:39-04:00", - "2024-03-13T10:55:02-04:00", - "2024-03-13T10:55:25-04:00", - "2024-03-13T10:55:48-04:00", - "2024-03-13T10:56:11-04:00", - "2024-03-13T10:56:34-04:00", - "2024-03-13T10:56:58-04:00", - "2024-03-13T10:57:21-04:00", - "2024-03-13T10:57:44-04:00", - "2024-03-13T10:58:08-04:00", - "2024-03-13T10:58:31-04:00", - "2024-03-13T10:58:54-04:00", - "2024-03-13T10:59:17-04:00", - "2024-03-13T10:59:40-04:00", - "2024-03-13T11:00:03-04:00", - "2024-03-13T11:00:26-04:00", - "2024-03-13T11:00:49-04:00", - "2024-03-13T11:01:13-04:00", - "2024-03-13T11:01:36-04:00", - "2024-03-13T11:01:59-04:00", - "2024-03-13T11:02:22-04:00", - "2024-03-13T11:02:45-04:00", - "2024-03-13T11:03:08-04:00", - "2024-03-13T11:03:32-04:00", - "2024-03-13T11:03:58-04:00", - "2024-03-13T11:04:21-04:00", - "2024-03-13T11:04:44-04:00", - "2024-03-13T11:05:10-04:00", - "2024-03-13T11:05:33-04:00", - "2024-03-13T11:05:57-04:00", - "2024-03-13T11:06:20-04:00", - "2024-03-13T11:06:45-04:00", - "2024-03-13T11:07:08-04:00", - "2024-03-13T11:07:31-04:00", - "2024-03-13T11:07:54-04:00", - "2024-03-13T11:08:17-04:00", - "2024-03-13T11:08:40-04:00", - "2024-03-13T11:09:03-04:00", - "2024-03-13T11:09:31-04:00", - "2024-03-13T11:09:54-04:00", - "2024-03-13T11:10:17-04:00", - "2024-03-13T11:10:40-04:00", - "2024-03-13T11:11:03-04:00", - "2024-03-13T11:11:26-04:00", - "2024-03-13T11:11:51-04:00", - "2024-03-13T11:12:14-04:00", - "2024-03-13T11:12:37-04:00", - "2024-03-13T11:13:00-04:00", - "2024-03-13T11:13:25-04:00", - "2024-03-13T11:13:51-04:00", - "2024-03-13T11:14:14-04:00", - "2024-03-13T11:14:38-04:00", - "2024-03-13T11:15:01-04:00", - "2024-03-13T11:15:24-04:00", - "2024-03-13T11:15:47-04:00", - "2024-03-13T11:16:12-04:00", - "2024-03-13T11:16:35-04:00", - "2024-03-13T11:16:58-04:00", - "2024-03-13T11:17:21-04:00", - "2024-03-13T11:17:44-04:00", - "2024-03-13T11:18:08-04:00", - "2024-03-13T11:18:31-04:00", - "2024-03-13T11:18:57-04:00", - "2024-03-13T11:19:20-04:00", - "2024-03-13T11:19:44-04:00", - "2024-03-13T11:20:07-04:00", - "2024-03-13T11:20:30-04:00", - "2024-03-13T11:20:55-04:00", - "2024-03-13T11:21:18-04:00", - "2024-03-13T11:21:42-04:00", - "2024-03-13T11:22:13-04:00", - "2024-03-13T11:22:36-04:00", - "2024-03-13T11:22:59-04:00", - "2024-03-13T11:23:24-04:00", - "2024-03-13T11:23:47-04:00", - "2024-03-13T11:24:10-04:00", - "2024-03-13T11:24:33-04:00", - "2024-03-13T11:24:56-04:00", - "2024-03-13T11:25:19-04:00", - "2024-03-13T11:25:42-04:00", - "2024-03-13T11:26:07-04:00", - "2024-03-13T11:26:30-04:00", - "2024-03-13T11:26:56-04:00", - "2024-03-13T11:27:19-04:00", - "2024-03-13T11:27:42-04:00", - "2024-03-13T11:28:05-04:00", - "2024-03-13T11:28:30-04:00", - "2024-03-13T11:28:53-04:00", - "2024-03-13T11:29:16-04:00", - "2024-03-13T11:29:39-04:00", - "2024-03-13T11:30:02-04:00", - "2024-03-13T11:30:25-04:00", - "2024-03-13T11:30:51-04:00", - "2024-03-13T11:31:14-04:00", - "2024-03-13T11:31:37-04:00", - "2024-03-13T11:32:00-04:00", - "2024-03-13T11:32:23-04:00", - "2024-03-13T11:32:46-04:00", - "2024-03-13T11:33:09-04:00", - "2024-03-13T11:33:37-04:00", - "2024-03-13T11:34:00-04:00", - "2024-03-13T11:34:23-04:00", - "2024-03-13T11:34:46-04:00", - "2024-03-13T11:35:09-04:00", - "2024-03-13T11:35:32-04:00", - "2024-03-13T11:35:55-04:00", - "2024-03-13T11:36:18-04:00", - "2024-03-13T11:36:41-04:00", - "2024-03-13T11:37:04-04:00", - "2024-03-13T11:37:27-04:00", - "2024-03-13T11:37:50-04:00", - "2024-03-13T11:38:13-04:00", - "2024-03-13T11:38:37-04:00", - "2024-03-13T11:39:00-04:00", - "2024-03-13T11:39:23-04:00", - "2024-03-13T11:39:46-04:00", - "2024-03-13T11:40:09-04:00", - "2024-03-13T11:40:32-04:00", - "2024-03-13T11:40:55-04:00", - "2024-03-13T11:41:18-04:00", - "2024-03-13T11:41:41-04:00", - "2024-03-13T11:42:04-04:00", - "2024-03-13T11:42:27-04:00", - "2024-03-13T11:42:50-04:00", - "2024-03-13T11:43:13-04:00", - "2024-03-13T11:43:36-04:00", - "2024-03-13T11:43:59-04:00", - "2024-03-13T11:44:22-04:00", - "2024-03-13T11:44:45-04:00", - "2024-03-13T11:45:08-04:00", - "2024-03-13T11:45:31-04:00", - "2024-03-13T11:45:54-04:00", - "2024-03-13T11:46:17-04:00", - "2024-03-13T11:46:40-04:00", - "2024-03-13T11:47:03-04:00", - "2024-03-13T11:47:26-04:00", - "2024-03-13T11:47:49-04:00", - "2024-03-13T11:48:13-04:00", - "2024-03-13T11:48:37-04:00", - "2024-03-13T11:49:00-04:00", - "2024-03-13T11:49:23-04:00", - "2024-03-13T11:49:46-04:00", - "2024-03-13T11:50:09-04:00", - "2024-03-13T11:50:32-04:00", - "2024-03-13T11:50:59-04:00", - "2024-03-13T11:51:22-04:00", - "2024-03-13T11:51:45-04:00", - "2024-03-13T11:52:08-04:00", - "2024-03-13T11:52:31-04:00", - "2024-03-13T11:52:54-04:00", - "2024-03-13T11:53:17-04:00", - "2024-03-13T11:53:41-04:00", - "2024-03-13T11:54:04-04:00", - "2024-03-13T11:54:29-04:00", - "2024-03-13T11:54:53-04:00", - "2024-03-13T11:55:16-04:00", - "2024-03-13T11:55:39-04:00", - "2024-03-13T11:56:03-04:00", - "2024-03-13T11:56:26-04:00", - "2024-03-13T11:56:50-04:00", - "2024-03-13T11:57:13-04:00", - "2024-03-13T11:57:36-04:00", - "2024-03-13T11:57:59-04:00", - "2024-03-13T11:58:22-04:00", - "2024-03-13T11:58:45-04:00", - "2024-03-13T11:59:08-04:00", - "2024-03-13T11:59:32-04:00", - "2024-03-13T11:59:55-04:00", - "2024-03-13T12:00:18-04:00", - "2024-03-13T12:00:41-04:00", - "2024-03-13T12:01:04-04:00", - "2024-03-13T12:01:27-04:00", - "2024-03-13T12:01:50-04:00", - "2024-03-13T12:02:13-04:00", - "2024-03-13T12:02:36-04:00", - "2024-03-13T12:02:59-04:00", - "2024-03-13T12:03:23-04:00", - "2024-03-13T12:03:47-04:00", - "2024-03-13T12:04:10-04:00", - "2024-03-13T12:04:33-04:00", - "2024-03-13T12:04:56-04:00", - "2024-03-13T12:05:20-04:00", - "2024-03-13T12:05:43-04:00", - "2024-03-13T12:06:07-04:00", - "2024-03-13T12:06:30-04:00", - "2024-03-13T12:06:53-04:00", - "2024-03-13T12:07:17-04:00", - "2024-03-13T12:07:42-04:00", - "2024-03-13T12:08:05-04:00", - "2024-03-13T12:08:28-04:00", - "2024-03-13T12:08:51-04:00", - "2024-03-13T12:09:14-04:00", - "2024-03-13T12:09:37-04:00", - "2024-03-13T12:10:00-04:00", - "2024-03-13T12:10:25-04:00", - "2024-03-13T12:10:48-04:00", - "2024-03-13T12:11:11-04:00", - "2024-03-13T12:11:35-04:00", - "2024-03-13T12:12:02-04:00", - "2024-03-13T12:12:25-04:00", - "2024-03-13T12:12:48-04:00", - "2024-03-13T12:13:14-04:00", - "2024-03-13T12:13:38-04:00", - "2024-03-13T12:14:02-04:00", - "2024-03-13T12:14:25-04:00", - "2024-03-13T12:14:48-04:00", - "2024-03-13T12:15:11-04:00", - "2024-03-13T12:15:34-04:00", - "2024-03-13T12:15:57-04:00", - "2024-03-13T12:16:20-04:00", - "2024-03-13T12:16:43-04:00", - "2024-03-13T12:17:06-04:00", - "2024-03-13T12:17:29-04:00", - "2024-03-13T12:17:52-04:00", - "2024-03-13T12:18:15-04:00", - "2024-03-13T12:18:39-04:00", - "2024-03-13T12:19:02-04:00", - "2024-03-13T12:19:29-04:00", - "2024-03-13T12:19:52-04:00", - "2024-03-13T12:20:15-04:00", - "2024-03-13T12:20:38-04:00", - "2024-03-13T12:21:03-04:00", - "2024-03-13T12:21:26-04:00", - "2024-03-13T12:21:49-04:00", - "2024-03-13T12:22:14-04:00", - "2024-03-13T12:22:37-04:00", - "2024-03-13T12:23:04-04:00", - "2024-03-13T12:23:27-04:00", - "2024-03-13T12:23:50-04:00", - "2024-03-13T12:24:13-04:00", - "2024-03-13T12:24:37-04:00", - "2024-03-13T12:25:00-04:00", - "2024-03-13T12:25:23-04:00", - "2024-03-13T12:25:47-04:00", - "2024-03-13T12:26:11-04:00", - "2024-03-13T12:26:34-04:00", - "2024-03-13T12:26:57-04:00", - "2024-03-13T12:27:21-04:00", - "2024-03-13T12:27:44-04:00", - "2024-03-13T12:28:07-04:00", - "2024-03-13T12:28:30-04:00", - "2024-03-13T12:28:53-04:00", - "2024-03-13T12:29:16-04:00", - "2024-03-13T12:29:40-04:00", - "2024-03-13T12:30:03-04:00", - "2024-03-13T12:30:26-04:00", - "2024-03-13T12:30:51-04:00", - "2024-03-13T12:31:14-04:00", - "2024-03-13T12:31:37-04:00", - "2024-03-13T12:32:00-04:00", - "2024-03-13T12:32:23-04:00", - "2024-03-13T12:32:46-04:00", - "2024-03-13T12:33:09-04:00", - "2024-03-13T12:33:32-04:00", - "2024-03-13T12:33:55-04:00", - "2024-03-13T12:34:19-04:00", - "2024-03-13T12:34:42-04:00", - "2024-03-13T12:35:05-04:00", - "2024-03-13T12:35:28-04:00", - "2024-03-13T12:35:51-04:00", - "2024-03-13T12:36:16-04:00", - "2024-03-13T12:36:39-04:00", - "2024-03-13T12:37:04-04:00", - "2024-03-13T12:37:28-04:00", - "2024-03-13T12:37:52-04:00", - "2024-03-13T12:38:15-04:00", - "2024-03-13T12:38:38-04:00", - "2024-03-13T12:39:01-04:00", - "2024-03-13T12:39:24-04:00", - "2024-03-13T12:39:48-04:00", - "2024-03-13T12:40:11-04:00", - "2024-03-13T12:40:34-04:00", - "2024-03-13T12:40:57-04:00", - "2024-03-13T12:41:20-04:00", - "2024-03-13T12:41:43-04:00", - "2024-03-13T12:42:07-04:00", - "2024-03-13T12:42:30-04:00", - "2024-03-13T12:42:53-04:00", - "2024-03-13T12:43:16-04:00", - "2024-03-13T12:43:39-04:00", - "2024-03-13T12:44:02-04:00", - "2024-03-13T12:44:25-04:00", - "2024-03-13T12:44:48-04:00", - "2024-03-13T12:45:11-04:00", - "2024-03-13T12:45:34-04:00", - "2024-03-13T12:45:57-04:00", - "2024-03-13T12:46:20-04:00", - "2024-03-13T12:46:50-04:00", - "2024-03-13T12:47:13-04:00", - "2024-03-13T12:47:37-04:00", - "2024-03-13T12:48:00-04:00", - "2024-03-13T12:48:23-04:00", - "2024-03-13T12:48:46-04:00", - "2024-03-13T12:49:09-04:00", - "2024-03-13T12:49:32-04:00", - "2024-03-13T12:49:55-04:00", - "2024-03-13T12:50:18-04:00", - "2024-03-13T12:50:41-04:00", - "2024-03-13T12:51:04-04:00", - "2024-03-13T12:51:29-04:00", - "2024-03-13T12:51:53-04:00", - "2024-03-13T12:52:16-04:00", - "2024-03-13T12:52:40-04:00", - "2024-03-13T12:53:04-04:00", - "2024-03-13T12:53:27-04:00", - "2024-03-13T12:53:50-04:00", - "2024-03-13T12:54:14-04:00", - "2024-03-13T12:54:37-04:00", - "2024-03-13T12:55:00-04:00", - "2024-03-13T12:55:23-04:00", - "2024-03-13T12:55:46-04:00", - "2024-03-13T12:56:09-04:00", - "2024-03-13T12:56:32-04:00", - "2024-03-13T12:56:55-04:00", - "2024-03-13T12:57:18-04:00", - "2024-03-13T12:57:41-04:00", - "2024-03-13T12:58:08-04:00", - "2024-03-13T12:58:31-04:00", - "2024-03-13T12:58:54-04:00", - "2024-03-13T12:59:17-04:00", - "2024-03-13T12:59:40-04:00", - "2024-03-13T13:00:03-04:00", - "2024-03-13T13:00:27-04:00", - "2024-03-13T13:00:50-04:00", - "2024-03-13T13:01:13-04:00", - "2024-03-13T13:01:36-04:00", - "2024-03-13T13:01:59-04:00", - "2024-03-13T13:02:22-04:00", - "2024-03-13T13:02:45-04:00", - "2024-03-13T13:03:08-04:00", - "2024-03-13T13:03:31-04:00", - "2024-03-13T13:03:54-04:00", - "2024-03-13T13:04:19-04:00", - "2024-03-13T13:04:44-04:00", - "2024-03-13T13:05:09-04:00", - "2024-03-13T13:05:32-04:00", - "2024-03-13T13:05:56-04:00", - "2024-03-13T13:06:19-04:00", - "2024-03-13T13:06:42-04:00", - "2024-03-13T13:07:06-04:00", - "2024-03-13T13:07:30-04:00", - "2024-03-13T13:07:53-04:00", - "2024-03-13T13:08:16-04:00", - "2024-03-13T13:08:39-04:00", - "2024-03-13T13:09:03-04:00", - "2024-03-13T13:09:27-04:00", - "2024-03-13T13:09:51-04:00", - "2024-03-13T13:10:14-04:00", - "2024-03-13T13:10:39-04:00", - "2024-03-13T13:11:02-04:00", - "2024-03-13T13:11:26-04:00", - "2024-03-13T13:11:49-04:00", - "2024-03-13T13:12:12-04:00", - "2024-03-13T13:12:36-04:00", - "2024-03-13T13:13:04-04:00", - "2024-03-13T13:13:28-04:00", - "2024-03-13T13:13:51-04:00", - "2024-03-13T13:14:15-04:00", - "2024-03-13T13:14:38-04:00", - "2024-03-13T13:15:01-04:00", - "2024-03-13T13:15:26-04:00", - "2024-03-13T13:15:49-04:00", - "2024-03-13T13:16:12-04:00", - "2024-03-13T13:16:35-04:00", - "2024-03-13T13:16:58-04:00", - "2024-03-13T13:17:21-04:00", - "2024-03-13T13:17:44-04:00", - "2024-03-13T13:18:07-04:00", - "2024-03-13T13:18:31-04:00", - "2024-03-13T13:18:56-04:00", - "2024-03-13T13:19:22-04:00", - "2024-03-13T13:19:46-04:00", - "2024-03-13T13:20:11-04:00", - "2024-03-13T13:20:38-04:00", - "2024-03-13T13:21:01-04:00", - "2024-03-13T13:21:25-04:00", - "2024-03-13T13:21:49-04:00", - "2024-03-13T13:22:16-04:00", - "2024-03-13T13:22:40-04:00", - "2024-03-13T13:23:04-04:00", - "2024-03-13T13:23:27-04:00", - "2024-03-13T13:23:50-04:00", - "2024-03-13T13:24:13-04:00", - "2024-03-13T13:24:36-04:00", - "2024-03-13T13:25:01-04:00", - "2024-03-13T13:25:24-04:00", - "2024-03-13T13:25:47-04:00", - "2024-03-13T13:26:10-04:00", - "2024-03-13T13:26:33-04:00", - "2024-03-13T13:26:56-04:00", - "2024-03-13T13:27:20-04:00", - "2024-03-13T13:27:43-04:00", - "2024-03-13T13:28:06-04:00", - "2024-03-13T13:28:29-04:00", - "2024-03-13T13:28:53-04:00", - "2024-03-13T13:29:17-04:00", - "2024-03-13T13:29:42-04:00", - "2024-03-13T13:30:06-04:00", - "2024-03-13T13:30:30-04:00", - "2024-03-13T13:30:53-04:00", - "2024-03-13T13:31:17-04:00", - "2024-03-13T13:31:41-04:00", - "2024-03-13T13:32:07-04:00", - "2024-03-13T13:32:30-04:00", - "2024-03-13T13:32:53-04:00", - "2024-03-13T13:33:16-04:00", - "2024-03-13T13:33:39-04:00", - "2024-03-13T13:34:02-04:00", - "2024-03-13T13:34:25-04:00", - "2024-03-13T13:34:48-04:00", - "2024-03-13T13:35:11-04:00", - "2024-03-13T13:35:34-04:00", - "2024-03-13T13:35:57-04:00", - "2024-03-13T13:36:24-04:00", - "2024-03-13T13:36:52-04:00", - "2024-03-13T13:37:15-04:00", - "2024-03-13T13:37:38-04:00", - "2024-03-13T13:38:02-04:00", - "2024-03-13T13:38:27-04:00", - "2024-03-13T13:38:51-04:00", - "2024-03-13T13:39:19-04:00", - "2024-03-13T13:39:44-04:00", - "2024-03-13T13:40:07-04:00", - "2024-03-13T13:40:30-04:00", - "2024-03-13T13:40:53-04:00", - "2024-03-13T13:41:16-04:00", - "2024-03-13T13:41:39-04:00", - "2024-03-13T13:42:04-04:00", - "2024-03-13T13:42:29-04:00", - "2024-03-13T13:42:52-04:00", - "2024-03-13T13:43:15-04:00", - "2024-03-13T13:43:38-04:00", - "2024-03-13T13:44:02-04:00", - "2024-03-13T13:44:26-04:00", - "2024-03-13T13:44:49-04:00", - "2024-03-13T13:45:12-04:00", - "2024-03-13T13:45:35-04:00", - "2024-03-13T13:45:58-04:00", - "2024-03-13T13:46:21-04:00", - "2024-03-13T13:46:44-04:00", - "2024-03-13T13:47:08-04:00", - "2024-03-13T13:47:34-04:00", - "2024-03-13T13:47:57-04:00", - "2024-03-13T13:48:21-04:00", - "2024-03-13T13:48:44-04:00", - "2024-03-13T13:49:07-04:00", - "2024-03-13T13:49:30-04:00", - "2024-03-13T13:49:53-04:00", - "2024-03-13T13:50:18-04:00", - "2024-03-13T13:50:41-04:00", - "2024-03-13T13:51:04-04:00", - "2024-03-13T13:51:27-04:00", - "2024-03-13T13:51:50-04:00", - "2024-03-13T13:52:13-04:00", - "2024-03-13T13:52:36-04:00", - "2024-03-13T13:52:59-04:00", - "2024-03-13T13:53:22-04:00", - "2024-03-13T13:53:45-04:00", - "2024-03-13T13:54:08-04:00", - "2024-03-13T13:54:31-04:00", - "2024-03-13T13:54:54-04:00", - "2024-03-13T13:55:19-04:00", - "2024-03-13T13:55:43-04:00", - "2024-03-13T13:56:06-04:00", - "2024-03-13T13:56:29-04:00", - "2024-03-13T13:56:52-04:00", - "2024-03-13T13:57:15-04:00", - "2024-03-13T13:57:38-04:00", - "2024-03-13T13:58:01-04:00", - "2024-03-13T13:58:25-04:00", - "2024-03-13T13:58:48-04:00", - "2024-03-13T13:59:12-04:00", - "2024-03-13T13:59:35-04:00", - "2024-03-13T13:59:58-04:00", - "2024-03-13T14:00:23-04:00", - "2024-03-13T14:00:48-04:00", - "2024-03-13T14:01:12-04:00", - "2024-03-13T14:01:36-04:00", - "2024-03-13T14:02:01-04:00", - "2024-03-13T14:02:24-04:00", - "2024-03-13T14:02:51-04:00", - "2024-03-13T14:03:15-04:00", - "2024-03-13T14:03:38-04:00", - "2024-03-13T14:04:02-04:00", - "2024-03-13T14:04:29-04:00", - "2024-03-13T14:04:52-04:00", - "2024-03-13T14:05:15-04:00", - "2024-03-13T14:05:39-04:00", - "2024-03-13T14:06:05-04:00", - "2024-03-13T14:06:33-04:00", - "2024-03-13T14:06:56-04:00", - "2024-03-13T14:07:21-04:00", - "2024-03-13T14:07:50-04:00", - "2024-03-13T14:08:14-04:00", - "2024-03-13T14:08:37-04:00", - "2024-03-13T14:09:03-04:00", - "2024-03-13T14:09:30-04:00", - "2024-03-13T14:09:53-04:00", - "2024-03-13T14:10:19-04:00", - "2024-03-13T14:10:43-04:00", - "2024-03-13T14:11:06-04:00", - "2024-03-13T14:11:31-04:00", - "2024-03-13T14:11:54-04:00", - "2024-03-13T14:12:17-04:00", - "2024-03-13T14:12:41-04:00", - "2024-03-13T14:13:05-04:00", - "2024-03-13T14:13:28-04:00", - "2024-03-13T14:13:51-04:00", - "2024-03-13T14:14:14-04:00", - "2024-03-13T14:14:39-04:00", - "2024-03-13T14:15:03-04:00", - "2024-03-13T14:15:26-04:00", - "2024-03-13T14:15:49-04:00", - "2024-03-13T14:16:12-04:00", - "2024-03-13T14:16:35-04:00", - "2024-03-13T14:16:58-04:00", - "2024-03-13T14:17:21-04:00", - "2024-03-13T14:17:47-04:00", - "2024-03-13T14:18:10-04:00", - "2024-03-13T14:18:35-04:00", - "2024-03-13T14:19:02-04:00", - "2024-03-13T14:19:25-04:00", - "2024-03-13T14:19:50-04:00", - "2024-03-13T14:20:13-04:00", - "2024-03-13T14:20:38-04:00", - "2024-03-13T14:21:01-04:00", - "2024-03-13T14:21:24-04:00", - "2024-03-13T14:21:47-04:00", - "2024-03-13T14:22:10-04:00", - "2024-03-13T14:22:33-04:00", - "2024-03-13T14:22:58-04:00", - "2024-03-13T14:23:21-04:00", - "2024-03-13T14:23:45-04:00", - "2024-03-13T14:24:11-04:00", - "2024-03-13T14:24:34-04:00", - "2024-03-13T14:24:58-04:00", - "2024-03-13T14:25:21-04:00", - "2024-03-13T14:25:44-04:00", - "2024-03-13T14:26:07-04:00", - "2024-03-13T14:26:30-04:00", - "2024-03-13T14:26:53-04:00", - "2024-03-13T14:27:16-04:00", - "2024-03-13T14:27:41-04:00", - "2024-03-13T14:28:05-04:00", - "2024-03-13T14:28:29-04:00", - "2024-03-13T14:28:52-04:00", - "2024-03-13T14:29:15-04:00", - "2024-03-13T14:29:39-04:00", - "2024-03-13T14:30:02-04:00", - "2024-03-13T14:30:28-04:00", - "2024-03-13T14:30:53-04:00", - "2024-03-13T14:31:17-04:00", - "2024-03-13T14:31:40-04:00", - "2024-03-13T14:32:03-04:00", - "2024-03-13T14:32:27-04:00", - "2024-03-13T14:32:52-04:00", - "2024-03-13T14:33:15-04:00", - "2024-03-13T14:33:40-04:00", - "2024-03-13T14:34:03-04:00", - "2024-03-13T14:34:28-04:00", - "2024-03-13T14:34:52-04:00", - "2024-03-13T14:35:15-04:00", - "2024-03-13T14:35:39-04:00", - "2024-03-13T14:36:02-04:00", - "2024-03-13T14:36:25-04:00", - "2024-03-13T14:36:48-04:00", - "2024-03-13T14:37:12-04:00", - "2024-03-13T14:37:35-04:00", - "2024-03-13T14:37:59-04:00", - "2024-03-13T14:38:22-04:00", - "2024-03-13T14:38:45-04:00", - "2024-03-13T14:39:08-04:00", - "2024-03-13T14:39:33-04:00", - "2024-03-13T14:39:57-04:00", - "2024-03-13T14:40:20-04:00", - "2024-03-13T14:40:43-04:00", - "2024-03-13T14:41:06-04:00", - "2024-03-13T14:41:30-04:00", - "2024-03-13T14:41:56-04:00", - "2024-03-13T14:42:21-04:00", - "2024-03-13T14:42:44-04:00", - "2024-03-13T14:43:07-04:00", - "2024-03-13T14:43:30-04:00", - "2024-03-13T14:43:53-04:00", - "2024-03-13T14:44:16-04:00", - "2024-03-13T14:44:40-04:00", - "2024-03-13T14:45:04-04:00", - "2024-03-13T14:45:29-04:00", - "2024-03-13T14:45:52-04:00", - "2024-03-13T14:46:16-04:00", - "2024-03-13T14:46:40-04:00", - "2024-03-13T14:47:03-04:00", - "2024-03-13T14:47:28-04:00", - "2024-03-13T14:47:53-04:00", - "2024-03-13T14:48:20-04:00", - "2024-03-13T14:48:43-04:00", - "2024-03-13T14:49:06-04:00", - "2024-03-13T14:49:29-04:00", - "2024-03-13T14:49:53-04:00", - "2024-03-13T14:50:16-04:00", - "2024-03-13T14:50:39-04:00", - "2024-03-13T14:51:02-04:00", - "2024-03-13T14:51:28-04:00", - "2024-03-13T14:51:51-04:00", - "2024-03-13T14:52:14-04:00", - "2024-03-13T14:52:39-04:00", - "2024-03-13T14:53:02-04:00", - "2024-03-13T14:53:28-04:00", - "2024-03-13T14:53:51-04:00", - "2024-03-13T14:54:14-04:00", - "2024-03-13T14:54:37-04:00", - "2024-03-13T14:55:04-04:00", - "2024-03-13T14:55:27-04:00", - "2024-03-13T14:55:50-04:00", - "2024-03-13T14:56:13-04:00", - "2024-03-13T14:56:36-04:00", - "2024-03-13T14:57:00-04:00", - "2024-03-13T14:57:23-04:00", - "2024-03-13T14:57:47-04:00", - "2024-03-13T14:58:10-04:00", - "2024-03-13T14:58:33-04:00", - "2024-03-13T14:58:56-04:00", - "2024-03-13T14:59:20-04:00", - "2024-03-13T14:59:43-04:00", - "2024-03-13T15:00:08-04:00", - "2024-03-13T15:00:31-04:00", - "2024-03-13T15:00:59-04:00", - "2024-03-13T15:01:23-04:00", - "2024-03-13T15:01:46-04:00", - "2024-03-13T15:02:09-04:00", - "2024-03-13T15:02:36-04:00", - "2024-03-13T15:03:03-04:00", - "2024-03-13T15:03:28-04:00", - "2024-03-13T15:04:01-04:00", - "2024-03-13T15:04:27-04:00", - "2024-03-13T15:04:52-04:00", - "2024-03-13T15:05:15-04:00", - "2024-03-13T15:05:40-04:00", - "2024-03-13T15:06:03-04:00", - "2024-03-13T15:06:26-04:00", - "2024-03-13T15:06:55-04:00", - "2024-03-13T15:07:19-04:00", - "2024-03-13T15:07:42-04:00", - "2024-03-13T15:08:05-04:00", - "2024-03-13T15:08:28-04:00", - "2024-03-13T15:08:51-04:00", - "2024-03-13T15:09:14-04:00", - "2024-03-13T15:09:37-04:00", - "2024-03-13T15:10:00-04:00", - "2024-03-13T15:10:24-04:00", - "2024-03-13T15:10:47-04:00", - "2024-03-13T15:11:11-04:00", - "2024-03-13T15:11:34-04:00", - "2024-03-13T15:11:57-04:00", - "2024-03-13T15:12:20-04:00", - "2024-03-13T15:12:43-04:00", - "2024-03-13T15:13:08-04:00", - "2024-03-13T15:13:31-04:00", - "2024-03-13T15:13:55-04:00", - "2024-03-13T15:14:19-04:00", - "2024-03-13T15:14:43-04:00", - "2024-03-13T15:15:06-04:00", - "2024-03-13T15:15:29-04:00", - "2024-03-13T15:15:54-04:00", - "2024-03-13T15:16:18-04:00", - "2024-03-13T15:16:42-04:00", - "2024-03-13T15:17:05-04:00", - "2024-03-13T15:17:28-04:00", - "2024-03-13T15:17:52-04:00", - "2024-03-13T15:18:15-04:00", - "2024-03-13T15:18:38-04:00", - "2024-03-13T15:19:02-04:00", - "2024-03-13T15:19:25-04:00", - "2024-03-13T15:19:50-04:00", - "2024-03-13T15:20:13-04:00", - "2024-03-13T15:20:37-04:00", - "2024-03-13T15:21:00-04:00", - "2024-03-13T15:21:23-04:00", - "2024-03-13T15:21:46-04:00", - "2024-03-13T15:22:10-04:00", - "2024-03-13T15:22:33-04:00", - "2024-03-13T15:22:56-04:00", - "2024-03-13T15:23:19-04:00", - "2024-03-13T15:23:42-04:00", - "2024-03-13T15:24:06-04:00", - "2024-03-13T15:24:29-04:00", - "2024-03-13T15:24:52-04:00", - "2024-03-13T15:25:15-04:00", - "2024-03-13T15:25:38-04:00", - "2024-03-13T15:26:02-04:00", - "2024-03-13T15:26:25-04:00", - "2024-03-13T15:26:49-04:00", - "2024-03-13T15:27:12-04:00", - "2024-03-13T15:27:36-04:00", - "2024-03-13T15:28:00-04:00", - "2024-03-13T15:28:23-04:00", - "2024-03-13T15:28:46-04:00", - "2024-03-13T15:29:09-04:00", - "2024-03-13T15:29:33-04:00", - "2024-03-13T15:29:57-04:00", - "2024-03-13T15:30:20-04:00", - "2024-03-13T15:30:43-04:00", - "2024-03-13T15:31:06-04:00", - "2024-03-13T15:31:29-04:00", - "2024-03-13T15:31:52-04:00", - "2024-03-13T15:32:17-04:00", - "2024-03-13T15:32:40-04:00", - "2024-03-13T15:33:04-04:00", - "2024-03-13T15:33:27-04:00", - "2024-03-13T15:33:50-04:00", - "2024-03-13T15:34:13-04:00", - "2024-03-13T15:34:37-04:00", - "2024-03-13T15:35:00-04:00", - "2024-03-13T15:35:24-04:00", - "2024-03-13T15:35:47-04:00", - "2024-03-13T15:36:10-04:00", - "2024-03-13T15:36:33-04:00", - "2024-03-13T15:36:56-04:00", - "2024-03-13T15:37:19-04:00", - "2024-03-13T15:37:42-04:00", - "2024-03-13T15:38:06-04:00", - "2024-03-13T15:38:30-04:00", - "2024-03-13T15:38:54-04:00", - "2024-03-13T15:39:17-04:00", - "2024-03-13T15:39:40-04:00", - "2024-03-13T15:40:03-04:00", - "2024-03-13T15:40:26-04:00", - "2024-03-13T15:40:50-04:00", - "2024-03-13T15:41:14-04:00", - "2024-03-13T15:41:37-04:00", - "2024-03-13T15:42:00-04:00", - "2024-03-13T15:42:25-04:00", - "2024-03-13T15:42:49-04:00", - "2024-03-13T15:43:12-04:00", - "2024-03-13T15:43:36-04:00", - "2024-03-13T15:44:00-04:00", - "2024-03-13T15:44:23-04:00", - "2024-03-13T15:44:46-04:00", - "2024-03-13T15:45:11-04:00", - "2024-03-13T15:45:34-04:00", - "2024-03-13T15:45:57-04:00", - "2024-03-13T15:46:21-04:00", - "2024-03-13T15:46:44-04:00", - "2024-03-13T15:47:07-04:00", - "2024-03-13T15:47:30-04:00", - "2024-03-13T15:47:53-04:00", - "2024-03-13T15:48:16-04:00", - "2024-03-13T15:48:39-04:00", - "2024-03-13T15:49:03-04:00", - "2024-03-13T15:49:26-04:00", - "2024-03-13T15:49:50-04:00", - "2024-03-13T15:50:13-04:00", - "2024-03-13T15:50:36-04:00", - "2024-03-13T15:50:59-04:00", - "2024-03-13T15:51:22-04:00", - "2024-03-13T15:51:45-04:00", - "2024-03-13T15:52:09-04:00", - "2024-03-13T15:52:32-04:00", - "2024-03-13T15:52:55-04:00", - "2024-03-13T15:53:18-04:00", - "2024-03-13T15:53:41-04:00", - "2024-03-13T15:54:05-04:00", - "2024-03-13T15:54:28-04:00", - "2024-03-13T15:54:51-04:00", - "2024-03-13T15:55:14-04:00", - "2024-03-13T15:55:38-04:00", - "2024-03-13T15:56:01-04:00", - "2024-03-13T15:56:24-04:00", - "2024-03-13T15:56:47-04:00", - "2024-03-13T15:57:10-04:00", - "2024-03-13T15:57:33-04:00", - "2024-03-13T15:57:56-04:00", - "2024-03-13T15:58:19-04:00", - "2024-03-13T15:58:42-04:00", - "2024-03-13T15:59:05-04:00", - "2024-03-13T15:59:28-04:00", - "2024-03-13T15:59:51-04:00" - ], - "xaxis": "x", - "yaxis": "y" - }, - { - "marker": { - "color": [ - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#7f7f7f", - "#7f7f7f", - "#7f7f7f", - "#7f7f7f", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#7f7f7f", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#ee534f", - "#ee534f", - "#7f7f7f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#26a69a", - "#ee534f", - "#7f7f7f", - "#26a69a", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#ee534f", - "#26a69a", - "#ee534f", - "#ee534f", - "#26a69a", - "#26a69a", - "#26a69a", - "#7f7f7f", - "#26a69a", - "#ee534f", - "#26a69a", - "#7f7f7f", - "#ee534f", - "#ee534f", - "#ee534f", - "#ee534f" - ], - "line": { - "width": 0 - } - }, - "name": "Volume", - "opacity": 0.5, - "type": "bar", - "uid": "42b5b762-4a9c-41e7-9507-ec15130ca6fe", - "x": [ - "2024-03-12T09:30:00-04:00", - "2024-03-12T09:30:23-04:00", - "2024-03-12T09:30:47-04:00", - "2024-03-12T09:31:11-04:00", - "2024-03-12T09:31:34-04:00", - "2024-03-12T09:32:00-04:00", - "2024-03-12T09:32:23-04:00", - "2024-03-12T09:32:46-04:00", - "2024-03-12T09:33:09-04:00", - "2024-03-12T09:33:34-04:00", - "2024-03-12T09:33:58-04:00", - "2024-03-12T09:34:21-04:00", - "2024-03-12T09:34:45-04:00", - "2024-03-12T09:35:08-04:00", - "2024-03-12T09:35:31-04:00", - "2024-03-12T09:35:54-04:00", - "2024-03-12T09:36:18-04:00", - "2024-03-12T09:36:42-04:00", - "2024-03-12T09:37:06-04:00", - "2024-03-12T09:37:29-04:00", - "2024-03-12T09:37:52-04:00", - "2024-03-12T09:38:15-04:00", - "2024-03-12T09:38:38-04:00", - "2024-03-12T09:39:01-04:00", - "2024-03-12T09:39:24-04:00", - "2024-03-12T09:39:47-04:00", - "2024-03-12T09:40:10-04:00", - "2024-03-12T09:40:33-04:00", - "2024-03-12T09:40:56-04:00", - "2024-03-12T09:41:21-04:00", - "2024-03-12T09:41:45-04:00", - "2024-03-12T09:42:08-04:00", - "2024-03-12T09:42:31-04:00", - "2024-03-12T09:42:54-04:00", - "2024-03-12T09:43:18-04:00", - "2024-03-12T09:43:41-04:00", - "2024-03-12T09:44:04-04:00", - "2024-03-12T09:44:27-04:00", - "2024-03-12T09:44:52-04:00", - "2024-03-12T09:45:15-04:00", - "2024-03-12T09:45:38-04:00", - "2024-03-12T09:46:01-04:00", - "2024-03-12T09:46:24-04:00", - "2024-03-12T09:46:47-04:00", - "2024-03-12T09:47:10-04:00", - "2024-03-12T09:47:34-04:00", - "2024-03-12T09:47:58-04:00", - "2024-03-12T09:48:22-04:00", - "2024-03-12T09:48:45-04:00", - "2024-03-12T09:49:08-04:00", - "2024-03-12T09:49:32-04:00", - "2024-03-12T09:49:56-04:00", - "2024-03-12T09:50:19-04:00", - "2024-03-12T09:50:42-04:00", - "2024-03-12T09:51:05-04:00", - "2024-03-12T09:51:28-04:00", - "2024-03-12T09:51:53-04:00", - "2024-03-12T09:52:16-04:00", - "2024-03-12T09:52:40-04:00", - "2024-03-12T09:53:03-04:00", - "2024-03-12T09:53:26-04:00", - "2024-03-12T09:53:50-04:00", - "2024-03-12T09:54:13-04:00", - "2024-03-12T09:54:36-04:00", - "2024-03-12T09:54:59-04:00", - "2024-03-12T09:55:22-04:00", - "2024-03-12T09:55:46-04:00", - "2024-03-12T09:56:09-04:00", - "2024-03-12T09:56:33-04:00", - "2024-03-12T09:56:56-04:00", - "2024-03-12T09:57:19-04:00", - "2024-03-12T09:57:42-04:00", - "2024-03-12T09:58:06-04:00", - "2024-03-12T09:58:29-04:00", - "2024-03-12T09:58:52-04:00", - "2024-03-12T09:59:15-04:00", - "2024-03-12T09:59:39-04:00", - "2024-03-12T10:00:04-04:00", - "2024-03-12T10:00:27-04:00", - "2024-03-12T10:00:51-04:00", - "2024-03-12T10:01:14-04:00", - "2024-03-12T10:01:37-04:00", - "2024-03-12T10:02:00-04:00", - "2024-03-12T10:02:24-04:00", - "2024-03-12T10:02:47-04:00", - "2024-03-12T10:03:10-04:00", - "2024-03-12T10:03:33-04:00", - "2024-03-12T10:03:57-04:00", - "2024-03-12T10:04:20-04:00", - "2024-03-12T10:04:45-04:00", - "2024-03-12T10:05:09-04:00", - "2024-03-12T10:05:33-04:00", - "2024-03-12T10:05:56-04:00", - "2024-03-12T10:06:19-04:00", - "2024-03-12T10:06:42-04:00", - "2024-03-12T10:07:05-04:00", - "2024-03-12T10:07:28-04:00", - "2024-03-12T10:07:51-04:00", - "2024-03-12T10:08:14-04:00", - "2024-03-12T10:08:37-04:00", - "2024-03-12T10:09:00-04:00", - "2024-03-12T10:09:23-04:00", - "2024-03-12T10:09:48-04:00", - "2024-03-12T10:10:11-04:00", - "2024-03-12T10:10:34-04:00", - "2024-03-12T10:10:59-04:00", - "2024-03-12T10:11:22-04:00", - "2024-03-12T10:11:45-04:00", - "2024-03-12T10:12:08-04:00", - "2024-03-12T10:12:31-04:00", - "2024-03-12T10:12:54-04:00", - "2024-03-12T10:13:17-04:00", - "2024-03-12T10:13:40-04:00", - "2024-03-12T10:14:03-04:00", - "2024-03-12T10:14:27-04:00", - "2024-03-12T10:14:50-04:00", - "2024-03-12T10:15:13-04:00", - "2024-03-12T10:15:36-04:00", - "2024-03-12T10:15:59-04:00", - "2024-03-12T10:16:22-04:00", - "2024-03-12T10:16:45-04:00", - "2024-03-12T10:17:08-04:00", - "2024-03-12T10:17:31-04:00", - "2024-03-12T10:17:54-04:00", - "2024-03-12T10:18:17-04:00", - "2024-03-12T10:18:43-04:00", - "2024-03-12T10:19:06-04:00", - "2024-03-12T10:19:29-04:00", - "2024-03-12T10:19:54-04:00", - "2024-03-12T10:20:17-04:00", - "2024-03-12T10:20:40-04:00", - "2024-03-12T10:21:03-04:00", - "2024-03-12T10:21:26-04:00", - "2024-03-12T10:21:49-04:00", - "2024-03-12T10:22:12-04:00", - "2024-03-12T10:22:35-04:00", - "2024-03-12T10:22:58-04:00", - "2024-03-12T10:23:21-04:00", - "2024-03-12T10:23:44-04:00", - "2024-03-12T10:24:07-04:00", - "2024-03-12T10:24:30-04:00", - "2024-03-12T10:24:53-04:00", - "2024-03-12T10:25:17-04:00", - "2024-03-12T10:25:40-04:00", - "2024-03-12T10:26:04-04:00", - "2024-03-12T10:26:27-04:00", - "2024-03-12T10:26:50-04:00", - "2024-03-12T10:27:13-04:00", - "2024-03-12T10:27:36-04:00", - "2024-03-12T10:27:59-04:00", - "2024-03-12T10:28:22-04:00", - "2024-03-12T10:28:45-04:00", - "2024-03-12T10:29:09-04:00", - "2024-03-12T10:29:32-04:00", - "2024-03-12T10:29:55-04:00", - "2024-03-12T10:30:18-04:00", - "2024-03-12T10:30:41-04:00", - "2024-03-12T10:31:04-04:00", - "2024-03-12T10:31:27-04:00", - "2024-03-12T10:31:51-04:00", - "2024-03-12T10:32:14-04:00", - "2024-03-12T10:32:37-04:00", - "2024-03-12T10:33:01-04:00", - "2024-03-12T10:33:24-04:00", - "2024-03-12T10:33:47-04:00", - "2024-03-12T10:34:10-04:00", - "2024-03-12T10:34:33-04:00", - "2024-03-12T10:34:56-04:00", - "2024-03-12T10:35:19-04:00", - "2024-03-12T10:35:44-04:00", - "2024-03-12T10:36:07-04:00", - "2024-03-12T10:36:30-04:00", - "2024-03-12T10:36:53-04:00", - "2024-03-12T10:37:16-04:00", - "2024-03-12T10:37:39-04:00", - "2024-03-12T10:38:02-04:00", - "2024-03-12T10:38:25-04:00", - "2024-03-12T10:38:48-04:00", - "2024-03-12T10:39:11-04:00", - "2024-03-12T10:39:35-04:00", - "2024-03-12T10:39:58-04:00", - "2024-03-12T10:40:21-04:00", - "2024-03-12T10:40:44-04:00", - "2024-03-12T10:41:08-04:00", - "2024-03-12T10:41:32-04:00", - "2024-03-12T10:41:55-04:00", - "2024-03-12T10:42:18-04:00", - "2024-03-12T10:42:41-04:00", - "2024-03-12T10:43:05-04:00", - "2024-03-12T10:43:28-04:00", - "2024-03-12T10:43:53-04:00", - "2024-03-12T10:44:18-04:00", - "2024-03-12T10:44:41-04:00", - "2024-03-12T10:45:04-04:00", - "2024-03-12T10:45:27-04:00", - "2024-03-12T10:45:50-04:00", - "2024-03-12T10:46:13-04:00", - "2024-03-12T10:46:37-04:00", - "2024-03-12T10:47:01-04:00", - "2024-03-12T10:47:24-04:00", - "2024-03-12T10:47:49-04:00", - "2024-03-12T10:48:12-04:00", - "2024-03-12T10:48:35-04:00", - "2024-03-12T10:49:00-04:00", - "2024-03-12T10:49:27-04:00", - "2024-03-12T10:49:52-04:00", - "2024-03-12T10:50:18-04:00", - "2024-03-12T10:50:41-04:00", - "2024-03-12T10:51:06-04:00", - "2024-03-12T10:51:30-04:00", - "2024-03-12T10:51:53-04:00", - "2024-03-12T10:52:21-04:00", - "2024-03-12T10:52:44-04:00", - "2024-03-12T10:53:10-04:00", - "2024-03-12T10:53:36-04:00", - "2024-03-12T10:54:00-04:00", - "2024-03-12T10:54:24-04:00", - "2024-03-12T10:54:48-04:00", - "2024-03-12T10:55:12-04:00", - "2024-03-12T10:55:35-04:00", - "2024-03-12T10:55:58-04:00", - "2024-03-12T10:56:21-04:00", - "2024-03-12T10:56:46-04:00", - "2024-03-12T10:57:09-04:00", - "2024-03-12T10:57:33-04:00", - "2024-03-12T10:57:56-04:00", - "2024-03-12T10:58:19-04:00", - "2024-03-12T10:58:43-04:00", - "2024-03-12T10:59:06-04:00", - "2024-03-12T10:59:31-04:00", - "2024-03-12T10:59:54-04:00", - "2024-03-12T11:00:17-04:00", - "2024-03-12T11:00:40-04:00", - "2024-03-12T11:01:04-04:00", - "2024-03-12T11:01:28-04:00", - "2024-03-12T11:01:51-04:00", - "2024-03-12T11:02:14-04:00", - "2024-03-12T11:02:39-04:00", - "2024-03-12T11:03:03-04:00", - "2024-03-12T11:03:27-04:00", - "2024-03-12T11:03:50-04:00", - "2024-03-12T11:04:13-04:00", - "2024-03-12T11:04:37-04:00", - "2024-03-12T11:05:01-04:00", - "2024-03-12T11:05:24-04:00", - "2024-03-12T11:05:48-04:00", - "2024-03-12T11:06:11-04:00", - "2024-03-12T11:06:37-04:00", - "2024-03-12T11:07:00-04:00", - "2024-03-12T11:07:23-04:00", - "2024-03-12T11:07:46-04:00", - "2024-03-12T11:08:09-04:00", - "2024-03-12T11:08:32-04:00", - "2024-03-12T11:08:57-04:00", - "2024-03-12T11:09:21-04:00", - "2024-03-12T11:09:44-04:00", - "2024-03-12T11:10:09-04:00", - "2024-03-12T11:10:32-04:00", - "2024-03-12T11:10:55-04:00", - "2024-03-12T11:11:19-04:00", - "2024-03-12T11:11:50-04:00", - "2024-03-12T11:12:13-04:00", - "2024-03-12T11:12:36-04:00", - "2024-03-12T11:12:59-04:00", - "2024-03-12T11:13:24-04:00", - "2024-03-12T11:13:48-04:00", - "2024-03-12T11:14:11-04:00", - "2024-03-12T11:14:34-04:00", - "2024-03-12T11:14:57-04:00", - "2024-03-12T11:15:20-04:00", - "2024-03-12T11:15:43-04:00", - "2024-03-12T11:16:07-04:00", - "2024-03-12T11:16:31-04:00", - "2024-03-12T11:16:56-04:00", - "2024-03-12T11:17:21-04:00", - "2024-03-12T11:17:45-04:00", - "2024-03-12T11:18:08-04:00", - "2024-03-12T11:18:31-04:00", - "2024-03-12T11:18:56-04:00", - "2024-03-12T11:19:23-04:00", - "2024-03-12T11:19:46-04:00", - "2024-03-12T11:20:18-04:00", - "2024-03-12T11:20:41-04:00", - "2024-03-12T11:21:05-04:00", - "2024-03-12T11:21:29-04:00", - "2024-03-12T11:21:53-04:00", - "2024-03-12T11:22:19-04:00", - "2024-03-12T11:22:43-04:00", - "2024-03-12T11:23:06-04:00", - "2024-03-12T11:23:33-04:00", - "2024-03-12T11:23:56-04:00", - "2024-03-12T11:24:20-04:00", - "2024-03-12T11:24:45-04:00", - "2024-03-12T11:25:08-04:00", - "2024-03-12T11:25:32-04:00", - "2024-03-12T11:25:55-04:00", - "2024-03-12T11:26:18-04:00", - "2024-03-12T11:26:41-04:00", - "2024-03-12T11:27:11-04:00", - "2024-03-12T11:27:35-04:00", - "2024-03-12T11:27:58-04:00", - "2024-03-12T11:28:24-04:00", - "2024-03-12T11:28:49-04:00", - "2024-03-12T11:29:12-04:00", - "2024-03-12T11:29:37-04:00", - "2024-03-12T11:30:01-04:00", - "2024-03-12T11:30:24-04:00", - "2024-03-12T11:30:47-04:00", - "2024-03-12T11:31:10-04:00", - "2024-03-12T11:31:33-04:00", - "2024-03-12T11:32:00-04:00", - "2024-03-12T11:32:23-04:00", - "2024-03-12T11:32:46-04:00", - "2024-03-12T11:33:11-04:00", - "2024-03-12T11:33:35-04:00", - "2024-03-12T11:34:07-04:00", - "2024-03-12T11:34:41-04:00", - "2024-03-12T11:35:05-04:00", - "2024-03-12T11:35:29-04:00", - "2024-03-12T11:35:52-04:00", - "2024-03-12T11:36:17-04:00", - "2024-03-12T11:36:40-04:00", - "2024-03-12T11:37:03-04:00", - "2024-03-12T11:37:29-04:00", - "2024-03-12T11:37:53-04:00", - "2024-03-12T11:38:20-04:00", - "2024-03-12T11:38:45-04:00", - "2024-03-12T11:39:08-04:00", - "2024-03-12T11:39:32-04:00", - "2024-03-12T11:39:56-04:00", - "2024-03-12T11:40:20-04:00", - "2024-03-12T11:40:43-04:00", - "2024-03-12T11:41:07-04:00", - "2024-03-12T11:41:31-04:00", - "2024-03-12T11:41:55-04:00", - "2024-03-12T11:42:21-04:00", - "2024-03-12T11:42:46-04:00", - "2024-03-12T11:43:09-04:00", - "2024-03-12T11:43:36-04:00", - "2024-03-12T11:43:59-04:00", - "2024-03-12T11:44:27-04:00", - "2024-03-12T11:44:50-04:00", - "2024-03-12T11:45:14-04:00", - "2024-03-12T11:45:40-04:00", - "2024-03-12T11:46:03-04:00", - "2024-03-12T11:46:26-04:00", - "2024-03-12T11:46:49-04:00", - "2024-03-12T11:47:12-04:00", - "2024-03-12T11:47:36-04:00", - "2024-03-12T11:47:59-04:00", - "2024-03-12T11:48:22-04:00", - "2024-03-12T11:48:45-04:00", - "2024-03-12T11:49:09-04:00", - "2024-03-12T11:49:34-04:00", - "2024-03-12T11:49:57-04:00", - "2024-03-12T11:50:25-04:00", - "2024-03-12T11:50:48-04:00", - "2024-03-12T11:51:11-04:00", - "2024-03-12T11:51:40-04:00", - "2024-03-12T11:52:04-04:00", - "2024-03-12T11:52:29-04:00", - "2024-03-12T11:52:54-04:00", - "2024-03-12T11:53:17-04:00", - "2024-03-12T11:53:40-04:00", - "2024-03-12T11:54:10-04:00", - "2024-03-12T11:54:33-04:00", - "2024-03-12T11:54:57-04:00", - "2024-03-12T11:55:35-04:00", - "2024-03-12T11:55:58-04:00", - "2024-03-12T11:56:21-04:00", - "2024-03-12T11:56:45-04:00", - "2024-03-12T11:57:10-04:00", - "2024-03-12T11:57:33-04:00", - "2024-03-12T11:58:00-04:00", - "2024-03-12T11:58:23-04:00", - "2024-03-12T11:58:46-04:00", - "2024-03-12T11:59:09-04:00", - "2024-03-12T11:59:34-04:00", - "2024-03-12T11:59:58-04:00", - "2024-03-12T12:00:25-04:00", - "2024-03-12T12:00:48-04:00", - "2024-03-12T12:01:11-04:00", - "2024-03-12T12:01:38-04:00", - "2024-03-12T12:02:01-04:00", - "2024-03-12T12:02:24-04:00", - "2024-03-12T12:02:50-04:00", - "2024-03-12T12:03:16-04:00", - "2024-03-12T12:03:41-04:00", - "2024-03-12T12:04:05-04:00", - "2024-03-12T12:04:29-04:00", - "2024-03-12T12:04:53-04:00", - "2024-03-12T12:05:24-04:00", - "2024-03-12T12:05:52-04:00", - "2024-03-12T12:06:16-04:00", - "2024-03-12T12:06:39-04:00", - "2024-03-12T12:07:02-04:00", - "2024-03-12T12:07:33-04:00", - "2024-03-12T12:08:00-04:00", - "2024-03-12T12:08:23-04:00", - "2024-03-12T12:08:51-04:00", - "2024-03-12T12:09:14-04:00", - "2024-03-12T12:09:37-04:00", - "2024-03-12T12:10:00-04:00", - "2024-03-12T12:10:26-04:00", - "2024-03-12T12:10:55-04:00", - "2024-03-12T12:11:20-04:00", - "2024-03-12T12:11:43-04:00", - "2024-03-12T12:12:06-04:00", - "2024-03-12T12:12:29-04:00", - "2024-03-12T12:12:54-04:00", - "2024-03-12T12:13:19-04:00", - "2024-03-12T12:13:42-04:00", - "2024-03-12T12:14:15-04:00", - "2024-03-12T12:14:38-04:00", - "2024-03-12T12:15:01-04:00", - "2024-03-12T12:15:25-04:00", - "2024-03-12T12:15:49-04:00", - "2024-03-12T12:16:13-04:00", - "2024-03-12T12:16:38-04:00", - "2024-03-12T12:17:01-04:00", - "2024-03-12T12:17:27-04:00", - "2024-03-12T12:17:52-04:00", - "2024-03-12T12:18:15-04:00", - "2024-03-12T12:18:43-04:00", - "2024-03-12T12:19:07-04:00", - "2024-03-12T12:19:30-04:00", - "2024-03-12T12:19:54-04:00", - "2024-03-12T12:20:17-04:00", - "2024-03-12T12:20:40-04:00", - "2024-03-12T12:21:06-04:00", - "2024-03-12T12:21:31-04:00", - "2024-03-12T12:22:07-04:00", - "2024-03-12T12:22:36-04:00", - "2024-03-12T12:22:59-04:00", - "2024-03-12T12:23:22-04:00", - "2024-03-12T12:23:46-04:00", - "2024-03-12T12:24:09-04:00", - "2024-03-12T12:24:33-04:00", - "2024-03-12T12:24:58-04:00", - "2024-03-12T12:25:21-04:00", - "2024-03-12T12:25:46-04:00", - "2024-03-12T12:26:12-04:00", - "2024-03-12T12:26:36-04:00", - "2024-03-12T12:27:07-04:00", - "2024-03-12T12:27:31-04:00", - "2024-03-12T12:27:56-04:00", - "2024-03-12T12:28:20-04:00", - "2024-03-12T12:28:45-04:00", - "2024-03-12T12:29:08-04:00", - "2024-03-12T12:29:34-04:00", - "2024-03-12T12:30:02-04:00", - "2024-03-12T12:30:27-04:00", - "2024-03-12T12:30:52-04:00", - "2024-03-12T12:31:16-04:00", - "2024-03-12T12:31:39-04:00", - "2024-03-12T12:32:04-04:00", - "2024-03-12T12:32:30-04:00", - "2024-03-12T12:32:54-04:00", - "2024-03-12T12:33:17-04:00", - "2024-03-12T12:33:43-04:00", - "2024-03-12T12:34:07-04:00", - "2024-03-12T12:34:31-04:00", - "2024-03-12T12:34:54-04:00", - "2024-03-12T12:35:17-04:00", - "2024-03-12T12:35:43-04:00", - "2024-03-12T12:36:06-04:00", - "2024-03-12T12:36:31-04:00", - "2024-03-12T12:36:54-04:00", - "2024-03-12T12:37:17-04:00", - "2024-03-12T12:37:41-04:00", - "2024-03-12T12:38:04-04:00", - "2024-03-12T12:38:28-04:00", - "2024-03-12T12:38:52-04:00", - "2024-03-12T12:39:16-04:00", - "2024-03-12T12:39:42-04:00", - "2024-03-12T12:40:06-04:00", - "2024-03-12T12:40:30-04:00", - "2024-03-12T12:40:53-04:00", - "2024-03-12T12:41:16-04:00", - "2024-03-12T12:41:41-04:00", - "2024-03-12T12:42:04-04:00", - "2024-03-12T12:42:27-04:00", - "2024-03-12T12:42:50-04:00", - "2024-03-12T12:43:13-04:00", - "2024-03-12T12:43:39-04:00", - "2024-03-12T12:44:02-04:00", - "2024-03-12T12:44:29-04:00", - "2024-03-12T12:44:54-04:00", - "2024-03-12T12:45:17-04:00", - "2024-03-12T12:45:41-04:00", - "2024-03-12T12:46:04-04:00", - "2024-03-12T12:46:28-04:00", - "2024-03-12T12:46:51-04:00", - "2024-03-12T12:47:15-04:00", - "2024-03-12T12:47:39-04:00", - "2024-03-12T12:48:03-04:00", - "2024-03-12T12:48:29-04:00", - "2024-03-12T12:48:56-04:00", - "2024-03-12T12:49:21-04:00", - "2024-03-12T12:49:44-04:00", - "2024-03-12T12:50:08-04:00", - "2024-03-12T12:50:32-04:00", - "2024-03-12T12:51:06-04:00", - "2024-03-12T12:51:31-04:00", - "2024-03-12T12:51:54-04:00", - "2024-03-12T12:52:17-04:00", - "2024-03-12T12:52:40-04:00", - "2024-03-12T12:53:03-04:00", - "2024-03-12T12:53:28-04:00", - "2024-03-12T12:53:52-04:00", - "2024-03-12T12:54:15-04:00", - "2024-03-12T12:54:38-04:00", - "2024-03-12T12:55:01-04:00", - "2024-03-12T12:55:25-04:00", - "2024-03-12T12:55:49-04:00", - "2024-03-12T12:56:12-04:00", - "2024-03-12T12:56:35-04:00", - "2024-03-12T12:57:00-04:00", - "2024-03-12T12:57:23-04:00", - "2024-03-12T12:57:49-04:00", - "2024-03-12T12:58:14-04:00", - "2024-03-12T12:58:46-04:00", - "2024-03-12T12:59:10-04:00", - "2024-03-12T12:59:36-04:00", - "2024-03-12T13:00:00-04:00", - "2024-03-12T13:00:24-04:00", - "2024-03-12T13:00:51-04:00", - "2024-03-12T13:01:17-04:00", - "2024-03-12T13:01:40-04:00", - "2024-03-12T13:02:03-04:00", - "2024-03-12T13:02:26-04:00", - "2024-03-12T13:02:49-04:00", - "2024-03-12T13:03:12-04:00", - "2024-03-12T13:03:38-04:00", - "2024-03-12T13:04:03-04:00", - "2024-03-12T13:04:26-04:00", - "2024-03-12T13:04:49-04:00", - "2024-03-12T13:05:13-04:00", - "2024-03-12T13:05:37-04:00", - "2024-03-12T13:06:00-04:00", - "2024-03-12T13:06:23-04:00", - "2024-03-12T13:06:48-04:00", - "2024-03-12T13:07:12-04:00", - "2024-03-12T13:07:40-04:00", - "2024-03-12T13:08:03-04:00", - "2024-03-12T13:08:29-04:00", - "2024-03-12T13:08:52-04:00", - "2024-03-12T13:09:16-04:00", - "2024-03-12T13:09:39-04:00", - "2024-03-12T13:10:04-04:00", - "2024-03-12T13:10:33-04:00", - "2024-03-12T13:11:02-04:00", - "2024-03-12T13:11:25-04:00", - "2024-03-12T13:11:48-04:00", - "2024-03-12T13:12:13-04:00", - "2024-03-12T13:12:38-04:00", - "2024-03-12T13:13:15-04:00", - "2024-03-12T13:13:38-04:00", - "2024-03-12T13:14:02-04:00", - "2024-03-12T13:14:28-04:00", - "2024-03-12T13:14:51-04:00", - "2024-03-12T13:15:14-04:00", - "2024-03-12T13:15:37-04:00", - "2024-03-12T13:16:02-04:00", - "2024-03-12T13:16:25-04:00", - "2024-03-12T13:16:56-04:00", - "2024-03-12T13:17:23-04:00", - "2024-03-12T13:17:48-04:00", - "2024-03-12T13:18:12-04:00", - "2024-03-12T13:18:35-04:00", - "2024-03-12T13:18:58-04:00", - "2024-03-12T13:19:21-04:00", - "2024-03-12T13:19:45-04:00", - "2024-03-12T13:20:12-04:00", - "2024-03-12T13:20:37-04:00", - "2024-03-12T13:21:02-04:00", - "2024-03-12T13:21:28-04:00", - "2024-03-12T13:21:51-04:00", - "2024-03-12T13:22:14-04:00", - "2024-03-12T13:22:37-04:00", - "2024-03-12T13:23:03-04:00", - "2024-03-12T13:23:28-04:00", - "2024-03-12T13:23:51-04:00", - "2024-03-12T13:24:14-04:00", - "2024-03-12T13:24:37-04:00", - "2024-03-12T13:25:00-04:00", - "2024-03-12T13:25:26-04:00", - "2024-03-12T13:25:49-04:00", - "2024-03-12T13:26:18-04:00", - "2024-03-12T13:26:51-04:00", - "2024-03-12T13:27:15-04:00", - "2024-03-12T13:27:40-04:00", - "2024-03-12T13:28:03-04:00", - "2024-03-12T13:28:26-04:00", - "2024-03-12T13:28:54-04:00", - "2024-03-12T13:29:17-04:00", - "2024-03-12T13:29:42-04:00", - "2024-03-12T13:30:05-04:00", - "2024-03-12T13:30:29-04:00", - "2024-03-12T13:30:52-04:00", - "2024-03-12T13:31:16-04:00", - "2024-03-12T13:31:39-04:00", - "2024-03-12T13:32:02-04:00", - "2024-03-12T13:32:40-04:00", - "2024-03-12T13:33:03-04:00", - "2024-03-12T13:33:28-04:00", - "2024-03-12T13:33:53-04:00", - "2024-03-12T13:34:17-04:00", - "2024-03-12T13:34:40-04:00", - "2024-03-12T13:35:09-04:00", - "2024-03-12T13:35:36-04:00", - "2024-03-12T13:36:00-04:00", - "2024-03-12T13:36:23-04:00", - "2024-03-12T13:36:46-04:00", - "2024-03-12T13:37:09-04:00", - "2024-03-12T13:37:32-04:00", - "2024-03-12T13:37:55-04:00", - "2024-03-12T13:38:20-04:00", - "2024-03-12T13:38:50-04:00", - "2024-03-12T13:39:13-04:00", - "2024-03-12T13:39:38-04:00", - "2024-03-12T13:40:05-04:00", - "2024-03-12T13:40:28-04:00", - "2024-03-12T13:40:53-04:00", - "2024-03-12T13:41:17-04:00", - "2024-03-12T13:41:42-04:00", - "2024-03-12T13:42:05-04:00", - "2024-03-12T13:42:34-04:00", - "2024-03-12T13:42:58-04:00", - "2024-03-12T13:43:23-04:00", - "2024-03-12T13:43:50-04:00", - "2024-03-12T13:44:13-04:00", - "2024-03-12T13:44:40-04:00", - "2024-03-12T13:45:04-04:00", - "2024-03-12T13:45:28-04:00", - "2024-03-12T13:45:55-04:00", - "2024-03-12T13:46:18-04:00", - "2024-03-12T13:46:41-04:00", - "2024-03-12T13:47:04-04:00", - "2024-03-12T13:47:27-04:00", - "2024-03-12T13:47:51-04:00", - "2024-03-12T13:48:14-04:00", - "2024-03-12T13:48:39-04:00", - "2024-03-12T13:49:03-04:00", - "2024-03-12T13:49:26-04:00", - "2024-03-12T13:49:50-04:00", - "2024-03-12T13:50:13-04:00", - "2024-03-12T13:50:38-04:00", - "2024-03-12T13:51:05-04:00", - "2024-03-12T13:51:31-04:00", - "2024-03-12T13:51:57-04:00", - "2024-03-12T13:52:22-04:00", - "2024-03-12T13:52:52-04:00", - "2024-03-12T13:53:15-04:00", - "2024-03-12T13:53:38-04:00", - "2024-03-12T13:54:08-04:00", - "2024-03-12T13:54:31-04:00", - "2024-03-12T13:54:54-04:00", - "2024-03-12T13:55:18-04:00", - "2024-03-12T13:55:41-04:00", - "2024-03-12T13:56:04-04:00", - "2024-03-12T13:56:28-04:00", - "2024-03-12T13:56:52-04:00", - "2024-03-12T13:57:17-04:00", - "2024-03-12T13:57:41-04:00", - "2024-03-12T13:58:05-04:00", - "2024-03-12T13:58:29-04:00", - "2024-03-12T13:58:53-04:00", - "2024-03-12T13:59:16-04:00", - "2024-03-12T13:59:44-04:00", - "2024-03-12T14:00:08-04:00", - "2024-03-12T14:00:36-04:00", - "2024-03-12T14:01:01-04:00", - "2024-03-12T14:01:25-04:00", - "2024-03-12T14:01:49-04:00", - "2024-03-12T14:02:30-04:00", - "2024-03-12T14:02:53-04:00", - "2024-03-12T14:03:17-04:00", - "2024-03-12T14:03:40-04:00", - "2024-03-12T14:04:05-04:00", - "2024-03-12T14:04:30-04:00", - "2024-03-12T14:04:53-04:00", - "2024-03-12T14:05:20-04:00", - "2024-03-12T14:05:44-04:00", - "2024-03-12T14:06:07-04:00", - "2024-03-12T14:06:30-04:00", - "2024-03-12T14:06:54-04:00", - "2024-03-12T14:07:19-04:00", - "2024-03-12T14:07:43-04:00", - "2024-03-12T14:08:08-04:00", - "2024-03-12T14:08:31-04:00", - "2024-03-12T14:08:57-04:00", - "2024-03-12T14:09:21-04:00", - "2024-03-12T14:09:45-04:00", - "2024-03-12T14:10:08-04:00", - "2024-03-12T14:10:34-04:00", - "2024-03-12T14:10:57-04:00", - "2024-03-12T14:11:22-04:00", - "2024-03-12T14:11:48-04:00", - "2024-03-12T14:12:13-04:00", - "2024-03-12T14:12:36-04:00", - "2024-03-12T14:12:59-04:00", - "2024-03-12T14:13:31-04:00", - "2024-03-12T14:13:54-04:00", - "2024-03-12T14:14:17-04:00", - "2024-03-12T14:14:41-04:00", - "2024-03-12T14:15:04-04:00", - "2024-03-12T14:15:29-04:00", - "2024-03-12T14:15:52-04:00", - "2024-03-12T14:16:18-04:00", - "2024-03-12T14:16:45-04:00", - "2024-03-12T14:17:10-04:00", - "2024-03-12T14:17:35-04:00", - "2024-03-12T14:17:58-04:00", - "2024-03-12T14:18:21-04:00", - "2024-03-12T14:18:52-04:00", - "2024-03-12T14:19:15-04:00", - "2024-03-12T14:19:41-04:00", - "2024-03-12T14:20:05-04:00", - "2024-03-12T14:20:29-04:00", - "2024-03-12T14:20:52-04:00", - "2024-03-12T14:21:15-04:00", - "2024-03-12T14:21:40-04:00", - "2024-03-12T14:22:04-04:00", - "2024-03-12T14:22:32-04:00", - "2024-03-12T14:23:02-04:00", - "2024-03-12T14:23:25-04:00", - "2024-03-12T14:23:50-04:00", - "2024-03-12T14:24:16-04:00", - "2024-03-12T14:24:39-04:00", - "2024-03-12T14:25:02-04:00", - "2024-03-12T14:25:25-04:00", - "2024-03-12T14:25:48-04:00", - "2024-03-12T14:26:11-04:00", - "2024-03-12T14:26:34-04:00", - "2024-03-12T14:26:58-04:00", - "2024-03-12T14:27:21-04:00", - "2024-03-12T14:27:44-04:00", - "2024-03-12T14:28:07-04:00", - "2024-03-12T14:28:30-04:00", - "2024-03-12T14:28:54-04:00", - "2024-03-12T14:29:21-04:00", - "2024-03-12T14:29:50-04:00", - "2024-03-12T14:30:14-04:00", - "2024-03-12T14:30:37-04:00", - "2024-03-12T14:31:00-04:00", - "2024-03-12T14:31:24-04:00", - "2024-03-12T14:31:47-04:00", - "2024-03-12T14:32:16-04:00", - "2024-03-12T14:32:39-04:00", - "2024-03-12T14:33:14-04:00", - "2024-03-12T14:33:38-04:00", - "2024-03-12T14:34:01-04:00", - "2024-03-12T14:34:27-04:00", - "2024-03-12T14:34:52-04:00", - "2024-03-12T14:35:19-04:00", - "2024-03-12T14:35:43-04:00", - "2024-03-12T14:36:17-04:00", - "2024-03-12T14:36:41-04:00", - "2024-03-12T14:37:05-04:00", - "2024-03-12T14:37:29-04:00", - "2024-03-12T14:37:52-04:00", - "2024-03-12T14:38:15-04:00", - "2024-03-12T14:38:38-04:00", - "2024-03-12T14:39:02-04:00", - "2024-03-12T14:39:29-04:00", - "2024-03-12T14:39:52-04:00", - "2024-03-12T14:40:15-04:00", - "2024-03-12T14:40:38-04:00", - "2024-03-12T14:41:02-04:00", - "2024-03-12T14:41:28-04:00", - "2024-03-12T14:41:51-04:00", - "2024-03-12T14:42:16-04:00", - "2024-03-12T14:42:40-04:00", - "2024-03-12T14:43:03-04:00", - "2024-03-12T14:43:26-04:00", - "2024-03-12T14:43:49-04:00", - "2024-03-12T14:44:12-04:00", - "2024-03-12T14:44:35-04:00", - "2024-03-12T14:45:02-04:00", - "2024-03-12T14:45:25-04:00", - "2024-03-12T14:45:48-04:00", - "2024-03-12T14:46:15-04:00", - "2024-03-12T14:46:38-04:00", - "2024-03-12T14:47:03-04:00", - "2024-03-12T14:47:26-04:00", - "2024-03-12T14:47:49-04:00", - "2024-03-12T14:48:14-04:00", - "2024-03-12T14:48:45-04:00", - "2024-03-12T14:49:09-04:00", - "2024-03-12T14:49:32-04:00", - "2024-03-12T14:49:55-04:00", - "2024-03-12T14:50:26-04:00", - "2024-03-12T14:50:49-04:00", - "2024-03-12T14:51:12-04:00", - "2024-03-12T14:51:35-04:00", - "2024-03-12T14:51:59-04:00", - "2024-03-12T14:52:22-04:00", - "2024-03-12T14:52:45-04:00", - "2024-03-12T14:53:24-04:00", - "2024-03-12T14:53:49-04:00", - "2024-03-12T14:54:12-04:00", - "2024-03-12T14:54:35-04:00", - "2024-03-12T14:54:58-04:00", - "2024-03-12T14:55:22-04:00", - "2024-03-12T14:55:45-04:00", - "2024-03-12T14:56:09-04:00", - "2024-03-12T14:56:32-04:00", - "2024-03-12T14:56:59-04:00", - "2024-03-12T14:57:24-04:00", - "2024-03-12T14:57:53-04:00", - "2024-03-12T14:58:16-04:00", - "2024-03-12T14:58:40-04:00", - "2024-03-12T14:59:05-04:00", - "2024-03-12T14:59:28-04:00", - "2024-03-12T14:59:54-04:00", - "2024-03-12T15:00:20-04:00", - "2024-03-12T15:00:44-04:00", - "2024-03-12T15:01:10-04:00", - "2024-03-12T15:01:33-04:00", - "2024-03-12T15:01:58-04:00", - "2024-03-12T15:02:21-04:00", - "2024-03-12T15:02:47-04:00", - "2024-03-12T15:03:10-04:00", - "2024-03-12T15:03:36-04:00", - "2024-03-12T15:03:59-04:00", - "2024-03-12T15:04:22-04:00", - "2024-03-12T15:04:47-04:00", - "2024-03-12T15:05:11-04:00", - "2024-03-12T15:05:35-04:00", - "2024-03-12T15:05:58-04:00", - "2024-03-12T15:06:22-04:00", - "2024-03-12T15:06:45-04:00", - "2024-03-12T15:07:08-04:00", - "2024-03-12T15:07:33-04:00", - "2024-03-12T15:07:56-04:00", - "2024-03-12T15:08:22-04:00", - "2024-03-12T15:08:45-04:00", - "2024-03-12T15:09:09-04:00", - "2024-03-12T15:09:33-04:00", - "2024-03-12T15:09:57-04:00", - "2024-03-12T15:10:21-04:00", - "2024-03-12T15:10:44-04:00", - "2024-03-12T15:11:07-04:00", - "2024-03-12T15:11:31-04:00", - "2024-03-12T15:11:54-04:00", - "2024-03-12T15:12:17-04:00", - "2024-03-12T15:12:44-04:00", - "2024-03-12T15:13:07-04:00", - "2024-03-12T15:13:30-04:00", - "2024-03-12T15:13:54-04:00", - "2024-03-12T15:14:17-04:00", - "2024-03-12T15:14:40-04:00", - "2024-03-12T15:15:03-04:00", - "2024-03-12T15:15:26-04:00", - "2024-03-12T15:15:49-04:00", - "2024-03-12T15:16:13-04:00", - "2024-03-12T15:16:36-04:00", - "2024-03-12T15:17:00-04:00", - "2024-03-12T15:17:29-04:00", - "2024-03-12T15:17:52-04:00", - "2024-03-12T15:18:15-04:00", - "2024-03-12T15:18:39-04:00", - "2024-03-12T15:19:02-04:00", - "2024-03-12T15:19:29-04:00", - "2024-03-12T15:19:54-04:00", - "2024-03-12T15:20:17-04:00", - "2024-03-12T15:20:45-04:00", - "2024-03-12T15:21:11-04:00", - "2024-03-12T15:21:34-04:00", - "2024-03-12T15:21:57-04:00", - "2024-03-12T15:22:20-04:00", - "2024-03-12T15:22:43-04:00", - "2024-03-12T15:23:09-04:00", - "2024-03-12T15:23:32-04:00", - "2024-03-12T15:24:00-04:00", - "2024-03-12T15:24:25-04:00", - "2024-03-12T15:24:48-04:00", - "2024-03-12T15:25:11-04:00", - "2024-03-12T15:25:34-04:00", - "2024-03-12T15:25:58-04:00", - "2024-03-12T15:26:26-04:00", - "2024-03-12T15:26:52-04:00", - "2024-03-12T15:27:15-04:00", - "2024-03-12T15:27:39-04:00", - "2024-03-12T15:28:02-04:00", - "2024-03-12T15:28:31-04:00", - "2024-03-12T15:28:54-04:00", - "2024-03-12T15:29:17-04:00", - "2024-03-12T15:29:42-04:00", - "2024-03-12T15:30:06-04:00", - "2024-03-12T15:30:29-04:00", - "2024-03-12T15:30:53-04:00", - "2024-03-12T15:31:16-04:00", - "2024-03-12T15:31:39-04:00", - "2024-03-12T15:32:02-04:00", - "2024-03-12T15:32:25-04:00", - "2024-03-12T15:32:48-04:00", - "2024-03-12T15:33:14-04:00", - "2024-03-12T15:33:39-04:00", - "2024-03-12T15:34:02-04:00", - "2024-03-12T15:34:25-04:00", - "2024-03-12T15:34:48-04:00", - "2024-03-12T15:35:11-04:00", - "2024-03-12T15:35:34-04:00", - "2024-03-12T15:35:57-04:00", - "2024-03-12T15:36:20-04:00", - "2024-03-12T15:36:43-04:00", - "2024-03-12T15:37:06-04:00", - "2024-03-12T15:37:29-04:00", - "2024-03-12T15:37:52-04:00", - "2024-03-12T15:38:15-04:00", - "2024-03-12T15:38:38-04:00", - "2024-03-12T15:39:01-04:00", - "2024-03-12T15:39:25-04:00", - "2024-03-12T15:39:49-04:00", - "2024-03-12T15:40:13-04:00", - "2024-03-12T15:40:38-04:00", - "2024-03-12T15:41:04-04:00", - "2024-03-12T15:41:27-04:00", - "2024-03-12T15:41:50-04:00", - "2024-03-12T15:42:13-04:00", - "2024-03-12T15:42:37-04:00", - "2024-03-12T15:43:00-04:00", - "2024-03-12T15:43:23-04:00", - "2024-03-12T15:43:48-04:00", - "2024-03-12T15:44:11-04:00", - "2024-03-12T15:44:38-04:00", - "2024-03-12T15:45:01-04:00", - "2024-03-12T15:45:25-04:00", - "2024-03-12T15:45:49-04:00", - "2024-03-12T15:46:12-04:00", - "2024-03-12T15:46:36-04:00", - "2024-03-12T15:46:59-04:00", - "2024-03-12T15:47:22-04:00", - "2024-03-12T15:47:45-04:00", - "2024-03-12T15:48:08-04:00", - "2024-03-12T15:48:31-04:00", - "2024-03-12T15:48:55-04:00", - "2024-03-12T15:49:18-04:00", - "2024-03-12T15:49:44-04:00", - "2024-03-12T15:50:07-04:00", - "2024-03-12T15:50:31-04:00", - "2024-03-12T15:50:55-04:00", - "2024-03-12T15:51:18-04:00", - "2024-03-12T15:51:41-04:00", - "2024-03-12T15:52:04-04:00", - "2024-03-12T15:52:27-04:00", - "2024-03-12T15:52:50-04:00", - "2024-03-12T15:53:13-04:00", - "2024-03-12T15:53:36-04:00", - "2024-03-12T15:53:59-04:00", - "2024-03-12T15:54:22-04:00", - "2024-03-12T15:54:45-04:00", - "2024-03-12T15:55:08-04:00", - "2024-03-12T15:55:31-04:00", - "2024-03-12T15:55:54-04:00", - "2024-03-12T15:56:17-04:00", - "2024-03-12T15:56:40-04:00", - "2024-03-12T15:57:03-04:00", - "2024-03-12T15:57:26-04:00", - "2024-03-12T15:57:49-04:00", - "2024-03-12T15:58:12-04:00", - "2024-03-12T15:58:35-04:00", - "2024-03-12T15:58:58-04:00", - "2024-03-12T15:59:21-04:00", - "2024-03-12T15:59:44-04:00", - "2024-03-13T09:30:00-04:00", - "2024-03-13T09:30:24-04:00", - "2024-03-13T09:30:47-04:00", - "2024-03-13T09:31:12-04:00", - "2024-03-13T09:31:35-04:00", - "2024-03-13T09:31:58-04:00", - "2024-03-13T09:32:22-04:00", - "2024-03-13T09:32:45-04:00", - "2024-03-13T09:33:08-04:00", - "2024-03-13T09:33:31-04:00", - "2024-03-13T09:33:54-04:00", - "2024-03-13T09:34:17-04:00", - "2024-03-13T09:34:40-04:00", - "2024-03-13T09:35:03-04:00", - "2024-03-13T09:35:28-04:00", - "2024-03-13T09:35:51-04:00", - "2024-03-13T09:36:14-04:00", - "2024-03-13T09:36:37-04:00", - "2024-03-13T09:37:00-04:00", - "2024-03-13T09:37:24-04:00", - "2024-03-13T09:37:47-04:00", - "2024-03-13T09:38:12-04:00", - "2024-03-13T09:38:36-04:00", - "2024-03-13T09:38:59-04:00", - "2024-03-13T09:39:22-04:00", - "2024-03-13T09:39:45-04:00", - "2024-03-13T09:40:08-04:00", - "2024-03-13T09:40:31-04:00", - "2024-03-13T09:40:55-04:00", - "2024-03-13T09:41:18-04:00", - "2024-03-13T09:41:45-04:00", - "2024-03-13T09:42:08-04:00", - "2024-03-13T09:42:31-04:00", - "2024-03-13T09:42:54-04:00", - "2024-03-13T09:43:17-04:00", - "2024-03-13T09:43:40-04:00", - "2024-03-13T09:44:03-04:00", - "2024-03-13T09:44:26-04:00", - "2024-03-13T09:44:49-04:00", - "2024-03-13T09:45:12-04:00", - "2024-03-13T09:45:35-04:00", - "2024-03-13T09:45:58-04:00", - "2024-03-13T09:46:21-04:00", - "2024-03-13T09:46:44-04:00", - "2024-03-13T09:47:07-04:00", - "2024-03-13T09:47:30-04:00", - "2024-03-13T09:47:54-04:00", - "2024-03-13T09:48:19-04:00", - "2024-03-13T09:48:42-04:00", - "2024-03-13T09:49:05-04:00", - "2024-03-13T09:49:28-04:00", - "2024-03-13T09:49:51-04:00", - "2024-03-13T09:50:14-04:00", - "2024-03-13T09:50:37-04:00", - "2024-03-13T09:51:00-04:00", - "2024-03-13T09:51:23-04:00", - "2024-03-13T09:51:46-04:00", - "2024-03-13T09:52:09-04:00", - "2024-03-13T09:52:32-04:00", - "2024-03-13T09:52:56-04:00", - "2024-03-13T09:53:19-04:00", - "2024-03-13T09:53:42-04:00", - "2024-03-13T09:54:05-04:00", - "2024-03-13T09:54:28-04:00", - "2024-03-13T09:54:51-04:00", - "2024-03-13T09:55:14-04:00", - "2024-03-13T09:55:37-04:00", - "2024-03-13T09:56:00-04:00", - "2024-03-13T09:56:23-04:00", - "2024-03-13T09:56:46-04:00", - "2024-03-13T09:57:09-04:00", - "2024-03-13T09:57:33-04:00", - "2024-03-13T09:57:57-04:00", - "2024-03-13T09:58:21-04:00", - "2024-03-13T09:58:44-04:00", - "2024-03-13T09:59:07-04:00", - "2024-03-13T09:59:30-04:00", - "2024-03-13T09:59:54-04:00", - "2024-03-13T10:00:17-04:00", - "2024-03-13T10:00:40-04:00", - "2024-03-13T10:01:04-04:00", - "2024-03-13T10:01:27-04:00", - "2024-03-13T10:01:50-04:00", - "2024-03-13T10:02:13-04:00", - "2024-03-13T10:02:36-04:00", - "2024-03-13T10:02:59-04:00", - "2024-03-13T10:03:22-04:00", - "2024-03-13T10:03:45-04:00", - "2024-03-13T10:04:08-04:00", - "2024-03-13T10:04:31-04:00", - "2024-03-13T10:04:54-04:00", - "2024-03-13T10:05:17-04:00", - "2024-03-13T10:05:40-04:00", - "2024-03-13T10:06:03-04:00", - "2024-03-13T10:06:26-04:00", - "2024-03-13T10:06:49-04:00", - "2024-03-13T10:07:12-04:00", - "2024-03-13T10:07:35-04:00", - "2024-03-13T10:07:58-04:00", - "2024-03-13T10:08:21-04:00", - "2024-03-13T10:08:44-04:00", - "2024-03-13T10:09:07-04:00", - "2024-03-13T10:09:31-04:00", - "2024-03-13T10:09:54-04:00", - "2024-03-13T10:10:19-04:00", - "2024-03-13T10:10:44-04:00", - "2024-03-13T10:11:07-04:00", - "2024-03-13T10:11:30-04:00", - "2024-03-13T10:11:54-04:00", - "2024-03-13T10:12:18-04:00", - "2024-03-13T10:12:42-04:00", - "2024-03-13T10:13:05-04:00", - "2024-03-13T10:13:28-04:00", - "2024-03-13T10:13:51-04:00", - "2024-03-13T10:14:16-04:00", - "2024-03-13T10:14:39-04:00", - "2024-03-13T10:15:02-04:00", - "2024-03-13T10:15:26-04:00", - "2024-03-13T10:15:49-04:00", - "2024-03-13T10:16:12-04:00", - "2024-03-13T10:16:35-04:00", - "2024-03-13T10:16:58-04:00", - "2024-03-13T10:17:21-04:00", - "2024-03-13T10:17:44-04:00", - "2024-03-13T10:18:07-04:00", - "2024-03-13T10:18:30-04:00", - "2024-03-13T10:18:54-04:00", - "2024-03-13T10:19:20-04:00", - "2024-03-13T10:19:45-04:00", - "2024-03-13T10:20:08-04:00", - "2024-03-13T10:20:32-04:00", - "2024-03-13T10:20:55-04:00", - "2024-03-13T10:21:18-04:00", - "2024-03-13T10:21:42-04:00", - "2024-03-13T10:22:05-04:00", - "2024-03-13T10:22:28-04:00", - "2024-03-13T10:22:53-04:00", - "2024-03-13T10:23:16-04:00", - "2024-03-13T10:23:39-04:00", - "2024-03-13T10:24:02-04:00", - "2024-03-13T10:24:27-04:00", - "2024-03-13T10:24:51-04:00", - "2024-03-13T10:25:14-04:00", - "2024-03-13T10:25:37-04:00", - "2024-03-13T10:26:00-04:00", - "2024-03-13T10:26:25-04:00", - "2024-03-13T10:26:48-04:00", - "2024-03-13T10:27:11-04:00", - "2024-03-13T10:27:34-04:00", - "2024-03-13T10:27:59-04:00", - "2024-03-13T10:28:22-04:00", - "2024-03-13T10:28:47-04:00", - "2024-03-13T10:29:10-04:00", - "2024-03-13T10:29:35-04:00", - "2024-03-13T10:30:00-04:00", - "2024-03-13T10:30:24-04:00", - "2024-03-13T10:30:47-04:00", - "2024-03-13T10:31:10-04:00", - "2024-03-13T10:31:35-04:00", - "2024-03-13T10:31:58-04:00", - "2024-03-13T10:32:22-04:00", - "2024-03-13T10:32:45-04:00", - "2024-03-13T10:33:10-04:00", - "2024-03-13T10:33:33-04:00", - "2024-03-13T10:34:00-04:00", - "2024-03-13T10:34:26-04:00", - "2024-03-13T10:34:50-04:00", - "2024-03-13T10:35:13-04:00", - "2024-03-13T10:35:36-04:00", - "2024-03-13T10:35:59-04:00", - "2024-03-13T10:36:23-04:00", - "2024-03-13T10:36:46-04:00", - "2024-03-13T10:37:10-04:00", - "2024-03-13T10:37:33-04:00", - "2024-03-13T10:37:56-04:00", - "2024-03-13T10:38:19-04:00", - "2024-03-13T10:38:44-04:00", - "2024-03-13T10:39:07-04:00", - "2024-03-13T10:39:30-04:00", - "2024-03-13T10:39:53-04:00", - "2024-03-13T10:40:16-04:00", - "2024-03-13T10:40:40-04:00", - "2024-03-13T10:41:03-04:00", - "2024-03-13T10:41:26-04:00", - "2024-03-13T10:41:50-04:00", - "2024-03-13T10:42:13-04:00", - "2024-03-13T10:42:37-04:00", - "2024-03-13T10:43:00-04:00", - "2024-03-13T10:43:23-04:00", - "2024-03-13T10:43:47-04:00", - "2024-03-13T10:44:10-04:00", - "2024-03-13T10:44:33-04:00", - "2024-03-13T10:44:56-04:00", - "2024-03-13T10:45:19-04:00", - "2024-03-13T10:45:45-04:00", - "2024-03-13T10:46:08-04:00", - "2024-03-13T10:46:31-04:00", - "2024-03-13T10:46:54-04:00", - "2024-03-13T10:47:17-04:00", - "2024-03-13T10:47:41-04:00", - "2024-03-13T10:48:06-04:00", - "2024-03-13T10:48:29-04:00", - "2024-03-13T10:48:52-04:00", - "2024-03-13T10:49:15-04:00", - "2024-03-13T10:49:39-04:00", - "2024-03-13T10:50:02-04:00", - "2024-03-13T10:50:25-04:00", - "2024-03-13T10:50:48-04:00", - "2024-03-13T10:51:11-04:00", - "2024-03-13T10:51:34-04:00", - "2024-03-13T10:51:57-04:00", - "2024-03-13T10:52:21-04:00", - "2024-03-13T10:52:44-04:00", - "2024-03-13T10:53:07-04:00", - "2024-03-13T10:53:30-04:00", - "2024-03-13T10:53:53-04:00", - "2024-03-13T10:54:16-04:00", - "2024-03-13T10:54:39-04:00", - "2024-03-13T10:55:02-04:00", - "2024-03-13T10:55:25-04:00", - "2024-03-13T10:55:48-04:00", - "2024-03-13T10:56:11-04:00", - "2024-03-13T10:56:34-04:00", - "2024-03-13T10:56:58-04:00", - "2024-03-13T10:57:21-04:00", - "2024-03-13T10:57:44-04:00", - "2024-03-13T10:58:08-04:00", - "2024-03-13T10:58:31-04:00", - "2024-03-13T10:58:54-04:00", - "2024-03-13T10:59:17-04:00", - "2024-03-13T10:59:40-04:00", - "2024-03-13T11:00:03-04:00", - "2024-03-13T11:00:26-04:00", - "2024-03-13T11:00:49-04:00", - "2024-03-13T11:01:13-04:00", - "2024-03-13T11:01:36-04:00", - "2024-03-13T11:01:59-04:00", - "2024-03-13T11:02:22-04:00", - "2024-03-13T11:02:45-04:00", - "2024-03-13T11:03:08-04:00", - "2024-03-13T11:03:32-04:00", - "2024-03-13T11:03:58-04:00", - "2024-03-13T11:04:21-04:00", - "2024-03-13T11:04:44-04:00", - "2024-03-13T11:05:10-04:00", - "2024-03-13T11:05:33-04:00", - "2024-03-13T11:05:57-04:00", - "2024-03-13T11:06:20-04:00", - "2024-03-13T11:06:45-04:00", - "2024-03-13T11:07:08-04:00", - "2024-03-13T11:07:31-04:00", - "2024-03-13T11:07:54-04:00", - "2024-03-13T11:08:17-04:00", - "2024-03-13T11:08:40-04:00", - "2024-03-13T11:09:03-04:00", - "2024-03-13T11:09:31-04:00", - "2024-03-13T11:09:54-04:00", - "2024-03-13T11:10:17-04:00", - "2024-03-13T11:10:40-04:00", - "2024-03-13T11:11:03-04:00", - "2024-03-13T11:11:26-04:00", - "2024-03-13T11:11:51-04:00", - "2024-03-13T11:12:14-04:00", - "2024-03-13T11:12:37-04:00", - "2024-03-13T11:13:00-04:00", - "2024-03-13T11:13:25-04:00", - "2024-03-13T11:13:51-04:00", - "2024-03-13T11:14:14-04:00", - "2024-03-13T11:14:38-04:00", - "2024-03-13T11:15:01-04:00", - "2024-03-13T11:15:24-04:00", - "2024-03-13T11:15:47-04:00", - "2024-03-13T11:16:12-04:00", - "2024-03-13T11:16:35-04:00", - "2024-03-13T11:16:58-04:00", - "2024-03-13T11:17:21-04:00", - "2024-03-13T11:17:44-04:00", - "2024-03-13T11:18:08-04:00", - "2024-03-13T11:18:31-04:00", - "2024-03-13T11:18:57-04:00", - "2024-03-13T11:19:20-04:00", - "2024-03-13T11:19:44-04:00", - "2024-03-13T11:20:07-04:00", - "2024-03-13T11:20:30-04:00", - "2024-03-13T11:20:55-04:00", - "2024-03-13T11:21:18-04:00", - "2024-03-13T11:21:42-04:00", - "2024-03-13T11:22:13-04:00", - "2024-03-13T11:22:36-04:00", - "2024-03-13T11:22:59-04:00", - "2024-03-13T11:23:24-04:00", - "2024-03-13T11:23:47-04:00", - "2024-03-13T11:24:10-04:00", - "2024-03-13T11:24:33-04:00", - "2024-03-13T11:24:56-04:00", - "2024-03-13T11:25:19-04:00", - "2024-03-13T11:25:42-04:00", - "2024-03-13T11:26:07-04:00", - "2024-03-13T11:26:30-04:00", - "2024-03-13T11:26:56-04:00", - "2024-03-13T11:27:19-04:00", - "2024-03-13T11:27:42-04:00", - "2024-03-13T11:28:05-04:00", - "2024-03-13T11:28:30-04:00", - "2024-03-13T11:28:53-04:00", - "2024-03-13T11:29:16-04:00", - "2024-03-13T11:29:39-04:00", - "2024-03-13T11:30:02-04:00", - "2024-03-13T11:30:25-04:00", - "2024-03-13T11:30:51-04:00", - "2024-03-13T11:31:14-04:00", - "2024-03-13T11:31:37-04:00", - "2024-03-13T11:32:00-04:00", - "2024-03-13T11:32:23-04:00", - "2024-03-13T11:32:46-04:00", - "2024-03-13T11:33:09-04:00", - "2024-03-13T11:33:37-04:00", - "2024-03-13T11:34:00-04:00", - "2024-03-13T11:34:23-04:00", - "2024-03-13T11:34:46-04:00", - "2024-03-13T11:35:09-04:00", - "2024-03-13T11:35:32-04:00", - "2024-03-13T11:35:55-04:00", - "2024-03-13T11:36:18-04:00", - "2024-03-13T11:36:41-04:00", - "2024-03-13T11:37:04-04:00", - "2024-03-13T11:37:27-04:00", - "2024-03-13T11:37:50-04:00", - "2024-03-13T11:38:13-04:00", - "2024-03-13T11:38:37-04:00", - "2024-03-13T11:39:00-04:00", - "2024-03-13T11:39:23-04:00", - "2024-03-13T11:39:46-04:00", - "2024-03-13T11:40:09-04:00", - "2024-03-13T11:40:32-04:00", - "2024-03-13T11:40:55-04:00", - "2024-03-13T11:41:18-04:00", - "2024-03-13T11:41:41-04:00", - "2024-03-13T11:42:04-04:00", - "2024-03-13T11:42:27-04:00", - "2024-03-13T11:42:50-04:00", - "2024-03-13T11:43:13-04:00", - "2024-03-13T11:43:36-04:00", - "2024-03-13T11:43:59-04:00", - "2024-03-13T11:44:22-04:00", - "2024-03-13T11:44:45-04:00", - "2024-03-13T11:45:08-04:00", - "2024-03-13T11:45:31-04:00", - "2024-03-13T11:45:54-04:00", - "2024-03-13T11:46:17-04:00", - "2024-03-13T11:46:40-04:00", - "2024-03-13T11:47:03-04:00", - "2024-03-13T11:47:26-04:00", - "2024-03-13T11:47:49-04:00", - "2024-03-13T11:48:13-04:00", - "2024-03-13T11:48:37-04:00", - "2024-03-13T11:49:00-04:00", - "2024-03-13T11:49:23-04:00", - "2024-03-13T11:49:46-04:00", - "2024-03-13T11:50:09-04:00", - "2024-03-13T11:50:32-04:00", - "2024-03-13T11:50:59-04:00", - "2024-03-13T11:51:22-04:00", - "2024-03-13T11:51:45-04:00", - "2024-03-13T11:52:08-04:00", - "2024-03-13T11:52:31-04:00", - "2024-03-13T11:52:54-04:00", - "2024-03-13T11:53:17-04:00", - "2024-03-13T11:53:41-04:00", - "2024-03-13T11:54:04-04:00", - "2024-03-13T11:54:29-04:00", - "2024-03-13T11:54:53-04:00", - "2024-03-13T11:55:16-04:00", - "2024-03-13T11:55:39-04:00", - "2024-03-13T11:56:03-04:00", - "2024-03-13T11:56:26-04:00", - "2024-03-13T11:56:50-04:00", - "2024-03-13T11:57:13-04:00", - "2024-03-13T11:57:36-04:00", - "2024-03-13T11:57:59-04:00", - "2024-03-13T11:58:22-04:00", - "2024-03-13T11:58:45-04:00", - "2024-03-13T11:59:08-04:00", - "2024-03-13T11:59:32-04:00", - "2024-03-13T11:59:55-04:00", - "2024-03-13T12:00:18-04:00", - "2024-03-13T12:00:41-04:00", - "2024-03-13T12:01:04-04:00", - "2024-03-13T12:01:27-04:00", - "2024-03-13T12:01:50-04:00", - "2024-03-13T12:02:13-04:00", - "2024-03-13T12:02:36-04:00", - "2024-03-13T12:02:59-04:00", - "2024-03-13T12:03:23-04:00", - "2024-03-13T12:03:47-04:00", - "2024-03-13T12:04:10-04:00", - "2024-03-13T12:04:33-04:00", - "2024-03-13T12:04:56-04:00", - "2024-03-13T12:05:20-04:00", - "2024-03-13T12:05:43-04:00", - "2024-03-13T12:06:07-04:00", - "2024-03-13T12:06:30-04:00", - "2024-03-13T12:06:53-04:00", - "2024-03-13T12:07:17-04:00", - "2024-03-13T12:07:42-04:00", - "2024-03-13T12:08:05-04:00", - "2024-03-13T12:08:28-04:00", - "2024-03-13T12:08:51-04:00", - "2024-03-13T12:09:14-04:00", - "2024-03-13T12:09:37-04:00", - "2024-03-13T12:10:00-04:00", - "2024-03-13T12:10:25-04:00", - "2024-03-13T12:10:48-04:00", - "2024-03-13T12:11:11-04:00", - "2024-03-13T12:11:35-04:00", - "2024-03-13T12:12:02-04:00", - "2024-03-13T12:12:25-04:00", - "2024-03-13T12:12:48-04:00", - "2024-03-13T12:13:14-04:00", - "2024-03-13T12:13:38-04:00", - "2024-03-13T12:14:02-04:00", - "2024-03-13T12:14:25-04:00", - "2024-03-13T12:14:48-04:00", - "2024-03-13T12:15:11-04:00", - "2024-03-13T12:15:34-04:00", - "2024-03-13T12:15:57-04:00", - "2024-03-13T12:16:20-04:00", - "2024-03-13T12:16:43-04:00", - "2024-03-13T12:17:06-04:00", - "2024-03-13T12:17:29-04:00", - "2024-03-13T12:17:52-04:00", - "2024-03-13T12:18:15-04:00", - "2024-03-13T12:18:39-04:00", - "2024-03-13T12:19:02-04:00", - "2024-03-13T12:19:29-04:00", - "2024-03-13T12:19:52-04:00", - "2024-03-13T12:20:15-04:00", - "2024-03-13T12:20:38-04:00", - "2024-03-13T12:21:03-04:00", - "2024-03-13T12:21:26-04:00", - "2024-03-13T12:21:49-04:00", - "2024-03-13T12:22:14-04:00", - "2024-03-13T12:22:37-04:00", - "2024-03-13T12:23:04-04:00", - "2024-03-13T12:23:27-04:00", - "2024-03-13T12:23:50-04:00", - "2024-03-13T12:24:13-04:00", - "2024-03-13T12:24:37-04:00", - "2024-03-13T12:25:00-04:00", - "2024-03-13T12:25:23-04:00", - "2024-03-13T12:25:47-04:00", - "2024-03-13T12:26:11-04:00", - "2024-03-13T12:26:34-04:00", - "2024-03-13T12:26:57-04:00", - "2024-03-13T12:27:21-04:00", - "2024-03-13T12:27:44-04:00", - "2024-03-13T12:28:07-04:00", - "2024-03-13T12:28:30-04:00", - "2024-03-13T12:28:53-04:00", - "2024-03-13T12:29:16-04:00", - "2024-03-13T12:29:40-04:00", - "2024-03-13T12:30:03-04:00", - "2024-03-13T12:30:26-04:00", - "2024-03-13T12:30:51-04:00", - "2024-03-13T12:31:14-04:00", - "2024-03-13T12:31:37-04:00", - "2024-03-13T12:32:00-04:00", - "2024-03-13T12:32:23-04:00", - "2024-03-13T12:32:46-04:00", - "2024-03-13T12:33:09-04:00", - "2024-03-13T12:33:32-04:00", - "2024-03-13T12:33:55-04:00", - "2024-03-13T12:34:19-04:00", - "2024-03-13T12:34:42-04:00", - "2024-03-13T12:35:05-04:00", - "2024-03-13T12:35:28-04:00", - "2024-03-13T12:35:51-04:00", - "2024-03-13T12:36:16-04:00", - "2024-03-13T12:36:39-04:00", - "2024-03-13T12:37:04-04:00", - "2024-03-13T12:37:28-04:00", - "2024-03-13T12:37:52-04:00", - "2024-03-13T12:38:15-04:00", - "2024-03-13T12:38:38-04:00", - "2024-03-13T12:39:01-04:00", - "2024-03-13T12:39:24-04:00", - "2024-03-13T12:39:48-04:00", - "2024-03-13T12:40:11-04:00", - "2024-03-13T12:40:34-04:00", - "2024-03-13T12:40:57-04:00", - "2024-03-13T12:41:20-04:00", - "2024-03-13T12:41:43-04:00", - "2024-03-13T12:42:07-04:00", - "2024-03-13T12:42:30-04:00", - "2024-03-13T12:42:53-04:00", - "2024-03-13T12:43:16-04:00", - "2024-03-13T12:43:39-04:00", - "2024-03-13T12:44:02-04:00", - "2024-03-13T12:44:25-04:00", - "2024-03-13T12:44:48-04:00", - "2024-03-13T12:45:11-04:00", - "2024-03-13T12:45:34-04:00", - "2024-03-13T12:45:57-04:00", - "2024-03-13T12:46:20-04:00", - "2024-03-13T12:46:50-04:00", - "2024-03-13T12:47:13-04:00", - "2024-03-13T12:47:37-04:00", - "2024-03-13T12:48:00-04:00", - "2024-03-13T12:48:23-04:00", - "2024-03-13T12:48:46-04:00", - "2024-03-13T12:49:09-04:00", - "2024-03-13T12:49:32-04:00", - "2024-03-13T12:49:55-04:00", - "2024-03-13T12:50:18-04:00", - "2024-03-13T12:50:41-04:00", - "2024-03-13T12:51:04-04:00", - "2024-03-13T12:51:29-04:00", - "2024-03-13T12:51:53-04:00", - "2024-03-13T12:52:16-04:00", - "2024-03-13T12:52:40-04:00", - "2024-03-13T12:53:04-04:00", - "2024-03-13T12:53:27-04:00", - "2024-03-13T12:53:50-04:00", - "2024-03-13T12:54:14-04:00", - "2024-03-13T12:54:37-04:00", - "2024-03-13T12:55:00-04:00", - "2024-03-13T12:55:23-04:00", - "2024-03-13T12:55:46-04:00", - "2024-03-13T12:56:09-04:00", - "2024-03-13T12:56:32-04:00", - "2024-03-13T12:56:55-04:00", - "2024-03-13T12:57:18-04:00", - "2024-03-13T12:57:41-04:00", - "2024-03-13T12:58:08-04:00", - "2024-03-13T12:58:31-04:00", - "2024-03-13T12:58:54-04:00", - "2024-03-13T12:59:17-04:00", - "2024-03-13T12:59:40-04:00", - "2024-03-13T13:00:03-04:00", - "2024-03-13T13:00:27-04:00", - "2024-03-13T13:00:50-04:00", - "2024-03-13T13:01:13-04:00", - "2024-03-13T13:01:36-04:00", - "2024-03-13T13:01:59-04:00", - "2024-03-13T13:02:22-04:00", - "2024-03-13T13:02:45-04:00", - "2024-03-13T13:03:08-04:00", - "2024-03-13T13:03:31-04:00", - "2024-03-13T13:03:54-04:00", - "2024-03-13T13:04:19-04:00", - "2024-03-13T13:04:44-04:00", - "2024-03-13T13:05:09-04:00", - "2024-03-13T13:05:32-04:00", - "2024-03-13T13:05:56-04:00", - "2024-03-13T13:06:19-04:00", - "2024-03-13T13:06:42-04:00", - "2024-03-13T13:07:06-04:00", - "2024-03-13T13:07:30-04:00", - "2024-03-13T13:07:53-04:00", - "2024-03-13T13:08:16-04:00", - "2024-03-13T13:08:39-04:00", - "2024-03-13T13:09:03-04:00", - "2024-03-13T13:09:27-04:00", - "2024-03-13T13:09:51-04:00", - "2024-03-13T13:10:14-04:00", - "2024-03-13T13:10:39-04:00", - "2024-03-13T13:11:02-04:00", - "2024-03-13T13:11:26-04:00", - "2024-03-13T13:11:49-04:00", - "2024-03-13T13:12:12-04:00", - "2024-03-13T13:12:36-04:00", - "2024-03-13T13:13:04-04:00", - "2024-03-13T13:13:28-04:00", - "2024-03-13T13:13:51-04:00", - "2024-03-13T13:14:15-04:00", - "2024-03-13T13:14:38-04:00", - "2024-03-13T13:15:01-04:00", - "2024-03-13T13:15:26-04:00", - "2024-03-13T13:15:49-04:00", - "2024-03-13T13:16:12-04:00", - "2024-03-13T13:16:35-04:00", - "2024-03-13T13:16:58-04:00", - "2024-03-13T13:17:21-04:00", - "2024-03-13T13:17:44-04:00", - "2024-03-13T13:18:07-04:00", - "2024-03-13T13:18:31-04:00", - "2024-03-13T13:18:56-04:00", - "2024-03-13T13:19:22-04:00", - "2024-03-13T13:19:46-04:00", - "2024-03-13T13:20:11-04:00", - "2024-03-13T13:20:38-04:00", - "2024-03-13T13:21:01-04:00", - "2024-03-13T13:21:25-04:00", - "2024-03-13T13:21:49-04:00", - "2024-03-13T13:22:16-04:00", - "2024-03-13T13:22:40-04:00", - "2024-03-13T13:23:04-04:00", - "2024-03-13T13:23:27-04:00", - "2024-03-13T13:23:50-04:00", - "2024-03-13T13:24:13-04:00", - "2024-03-13T13:24:36-04:00", - "2024-03-13T13:25:01-04:00", - "2024-03-13T13:25:24-04:00", - "2024-03-13T13:25:47-04:00", - "2024-03-13T13:26:10-04:00", - "2024-03-13T13:26:33-04:00", - "2024-03-13T13:26:56-04:00", - "2024-03-13T13:27:20-04:00", - "2024-03-13T13:27:43-04:00", - "2024-03-13T13:28:06-04:00", - "2024-03-13T13:28:29-04:00", - "2024-03-13T13:28:53-04:00", - "2024-03-13T13:29:17-04:00", - "2024-03-13T13:29:42-04:00", - "2024-03-13T13:30:06-04:00", - "2024-03-13T13:30:30-04:00", - "2024-03-13T13:30:53-04:00", - "2024-03-13T13:31:17-04:00", - "2024-03-13T13:31:41-04:00", - "2024-03-13T13:32:07-04:00", - "2024-03-13T13:32:30-04:00", - "2024-03-13T13:32:53-04:00", - "2024-03-13T13:33:16-04:00", - "2024-03-13T13:33:39-04:00", - "2024-03-13T13:34:02-04:00", - "2024-03-13T13:34:25-04:00", - "2024-03-13T13:34:48-04:00", - "2024-03-13T13:35:11-04:00", - "2024-03-13T13:35:34-04:00", - "2024-03-13T13:35:57-04:00", - "2024-03-13T13:36:24-04:00", - "2024-03-13T13:36:52-04:00", - "2024-03-13T13:37:15-04:00", - "2024-03-13T13:37:38-04:00", - "2024-03-13T13:38:02-04:00", - "2024-03-13T13:38:27-04:00", - "2024-03-13T13:38:51-04:00", - "2024-03-13T13:39:19-04:00", - "2024-03-13T13:39:44-04:00", - "2024-03-13T13:40:07-04:00", - "2024-03-13T13:40:30-04:00", - "2024-03-13T13:40:53-04:00", - "2024-03-13T13:41:16-04:00", - "2024-03-13T13:41:39-04:00", - "2024-03-13T13:42:04-04:00", - "2024-03-13T13:42:29-04:00", - "2024-03-13T13:42:52-04:00", - "2024-03-13T13:43:15-04:00", - "2024-03-13T13:43:38-04:00", - "2024-03-13T13:44:02-04:00", - "2024-03-13T13:44:26-04:00", - "2024-03-13T13:44:49-04:00", - "2024-03-13T13:45:12-04:00", - "2024-03-13T13:45:35-04:00", - "2024-03-13T13:45:58-04:00", - "2024-03-13T13:46:21-04:00", - "2024-03-13T13:46:44-04:00", - "2024-03-13T13:47:08-04:00", - "2024-03-13T13:47:34-04:00", - "2024-03-13T13:47:57-04:00", - "2024-03-13T13:48:21-04:00", - "2024-03-13T13:48:44-04:00", - "2024-03-13T13:49:07-04:00", - "2024-03-13T13:49:30-04:00", - "2024-03-13T13:49:53-04:00", - "2024-03-13T13:50:18-04:00", - "2024-03-13T13:50:41-04:00", - "2024-03-13T13:51:04-04:00", - "2024-03-13T13:51:27-04:00", - "2024-03-13T13:51:50-04:00", - "2024-03-13T13:52:13-04:00", - "2024-03-13T13:52:36-04:00", - "2024-03-13T13:52:59-04:00", - "2024-03-13T13:53:22-04:00", - "2024-03-13T13:53:45-04:00", - "2024-03-13T13:54:08-04:00", - "2024-03-13T13:54:31-04:00", - "2024-03-13T13:54:54-04:00", - "2024-03-13T13:55:19-04:00", - "2024-03-13T13:55:43-04:00", - "2024-03-13T13:56:06-04:00", - "2024-03-13T13:56:29-04:00", - "2024-03-13T13:56:52-04:00", - "2024-03-13T13:57:15-04:00", - "2024-03-13T13:57:38-04:00", - "2024-03-13T13:58:01-04:00", - "2024-03-13T13:58:25-04:00", - "2024-03-13T13:58:48-04:00", - "2024-03-13T13:59:12-04:00", - "2024-03-13T13:59:35-04:00", - "2024-03-13T13:59:58-04:00", - "2024-03-13T14:00:23-04:00", - "2024-03-13T14:00:48-04:00", - "2024-03-13T14:01:12-04:00", - "2024-03-13T14:01:36-04:00", - "2024-03-13T14:02:01-04:00", - "2024-03-13T14:02:24-04:00", - "2024-03-13T14:02:51-04:00", - "2024-03-13T14:03:15-04:00", - "2024-03-13T14:03:38-04:00", - "2024-03-13T14:04:02-04:00", - "2024-03-13T14:04:29-04:00", - "2024-03-13T14:04:52-04:00", - "2024-03-13T14:05:15-04:00", - "2024-03-13T14:05:39-04:00", - "2024-03-13T14:06:05-04:00", - "2024-03-13T14:06:33-04:00", - "2024-03-13T14:06:56-04:00", - "2024-03-13T14:07:21-04:00", - "2024-03-13T14:07:50-04:00", - "2024-03-13T14:08:14-04:00", - "2024-03-13T14:08:37-04:00", - "2024-03-13T14:09:03-04:00", - "2024-03-13T14:09:30-04:00", - "2024-03-13T14:09:53-04:00", - "2024-03-13T14:10:19-04:00", - "2024-03-13T14:10:43-04:00", - "2024-03-13T14:11:06-04:00", - "2024-03-13T14:11:31-04:00", - "2024-03-13T14:11:54-04:00", - "2024-03-13T14:12:17-04:00", - "2024-03-13T14:12:41-04:00", - "2024-03-13T14:13:05-04:00", - "2024-03-13T14:13:28-04:00", - "2024-03-13T14:13:51-04:00", - "2024-03-13T14:14:14-04:00", - "2024-03-13T14:14:39-04:00", - "2024-03-13T14:15:03-04:00", - "2024-03-13T14:15:26-04:00", - "2024-03-13T14:15:49-04:00", - "2024-03-13T14:16:12-04:00", - "2024-03-13T14:16:35-04:00", - "2024-03-13T14:16:58-04:00", - "2024-03-13T14:17:21-04:00", - "2024-03-13T14:17:47-04:00", - "2024-03-13T14:18:10-04:00", - "2024-03-13T14:18:35-04:00", - "2024-03-13T14:19:02-04:00", - "2024-03-13T14:19:25-04:00", - "2024-03-13T14:19:50-04:00", - "2024-03-13T14:20:13-04:00", - "2024-03-13T14:20:38-04:00", - "2024-03-13T14:21:01-04:00", - "2024-03-13T14:21:24-04:00", - "2024-03-13T14:21:47-04:00", - "2024-03-13T14:22:10-04:00", - "2024-03-13T14:22:33-04:00", - "2024-03-13T14:22:58-04:00", - "2024-03-13T14:23:21-04:00", - "2024-03-13T14:23:45-04:00", - "2024-03-13T14:24:11-04:00", - "2024-03-13T14:24:34-04:00", - "2024-03-13T14:24:58-04:00", - "2024-03-13T14:25:21-04:00", - "2024-03-13T14:25:44-04:00", - "2024-03-13T14:26:07-04:00", - "2024-03-13T14:26:30-04:00", - "2024-03-13T14:26:53-04:00", - "2024-03-13T14:27:16-04:00", - "2024-03-13T14:27:41-04:00", - "2024-03-13T14:28:05-04:00", - "2024-03-13T14:28:29-04:00", - "2024-03-13T14:28:52-04:00", - "2024-03-13T14:29:15-04:00", - "2024-03-13T14:29:39-04:00", - "2024-03-13T14:30:02-04:00", - "2024-03-13T14:30:28-04:00", - "2024-03-13T14:30:53-04:00", - "2024-03-13T14:31:17-04:00", - "2024-03-13T14:31:40-04:00", - "2024-03-13T14:32:03-04:00", - "2024-03-13T14:32:27-04:00", - "2024-03-13T14:32:52-04:00", - "2024-03-13T14:33:15-04:00", - "2024-03-13T14:33:40-04:00", - "2024-03-13T14:34:03-04:00", - "2024-03-13T14:34:28-04:00", - "2024-03-13T14:34:52-04:00", - "2024-03-13T14:35:15-04:00", - "2024-03-13T14:35:39-04:00", - "2024-03-13T14:36:02-04:00", - "2024-03-13T14:36:25-04:00", - "2024-03-13T14:36:48-04:00", - "2024-03-13T14:37:12-04:00", - "2024-03-13T14:37:35-04:00", - "2024-03-13T14:37:59-04:00", - "2024-03-13T14:38:22-04:00", - "2024-03-13T14:38:45-04:00", - "2024-03-13T14:39:08-04:00", - "2024-03-13T14:39:33-04:00", - "2024-03-13T14:39:57-04:00", - "2024-03-13T14:40:20-04:00", - "2024-03-13T14:40:43-04:00", - "2024-03-13T14:41:06-04:00", - "2024-03-13T14:41:30-04:00", - "2024-03-13T14:41:56-04:00", - "2024-03-13T14:42:21-04:00", - "2024-03-13T14:42:44-04:00", - "2024-03-13T14:43:07-04:00", - "2024-03-13T14:43:30-04:00", - "2024-03-13T14:43:53-04:00", - "2024-03-13T14:44:16-04:00", - "2024-03-13T14:44:40-04:00", - "2024-03-13T14:45:04-04:00", - "2024-03-13T14:45:29-04:00", - "2024-03-13T14:45:52-04:00", - "2024-03-13T14:46:16-04:00", - "2024-03-13T14:46:40-04:00", - "2024-03-13T14:47:03-04:00", - "2024-03-13T14:47:28-04:00", - "2024-03-13T14:47:53-04:00", - "2024-03-13T14:48:20-04:00", - "2024-03-13T14:48:43-04:00", - "2024-03-13T14:49:06-04:00", - "2024-03-13T14:49:29-04:00", - "2024-03-13T14:49:53-04:00", - "2024-03-13T14:50:16-04:00", - "2024-03-13T14:50:39-04:00", - "2024-03-13T14:51:02-04:00", - "2024-03-13T14:51:28-04:00", - "2024-03-13T14:51:51-04:00", - "2024-03-13T14:52:14-04:00", - "2024-03-13T14:52:39-04:00", - "2024-03-13T14:53:02-04:00", - "2024-03-13T14:53:28-04:00", - "2024-03-13T14:53:51-04:00", - "2024-03-13T14:54:14-04:00", - "2024-03-13T14:54:37-04:00", - "2024-03-13T14:55:04-04:00", - "2024-03-13T14:55:27-04:00", - "2024-03-13T14:55:50-04:00", - "2024-03-13T14:56:13-04:00", - "2024-03-13T14:56:36-04:00", - "2024-03-13T14:57:00-04:00", - "2024-03-13T14:57:23-04:00", - "2024-03-13T14:57:47-04:00", - "2024-03-13T14:58:10-04:00", - "2024-03-13T14:58:33-04:00", - "2024-03-13T14:58:56-04:00", - "2024-03-13T14:59:20-04:00", - "2024-03-13T14:59:43-04:00", - "2024-03-13T15:00:08-04:00", - "2024-03-13T15:00:31-04:00", - "2024-03-13T15:00:59-04:00", - "2024-03-13T15:01:23-04:00", - "2024-03-13T15:01:46-04:00", - "2024-03-13T15:02:09-04:00", - "2024-03-13T15:02:36-04:00", - "2024-03-13T15:03:03-04:00", - "2024-03-13T15:03:28-04:00", - "2024-03-13T15:04:01-04:00", - "2024-03-13T15:04:27-04:00", - "2024-03-13T15:04:52-04:00", - "2024-03-13T15:05:15-04:00", - "2024-03-13T15:05:40-04:00", - "2024-03-13T15:06:03-04:00", - "2024-03-13T15:06:26-04:00", - "2024-03-13T15:06:55-04:00", - "2024-03-13T15:07:19-04:00", - "2024-03-13T15:07:42-04:00", - "2024-03-13T15:08:05-04:00", - "2024-03-13T15:08:28-04:00", - "2024-03-13T15:08:51-04:00", - "2024-03-13T15:09:14-04:00", - "2024-03-13T15:09:37-04:00", - "2024-03-13T15:10:00-04:00", - "2024-03-13T15:10:24-04:00", - "2024-03-13T15:10:47-04:00", - "2024-03-13T15:11:11-04:00", - "2024-03-13T15:11:34-04:00", - "2024-03-13T15:11:57-04:00", - "2024-03-13T15:12:20-04:00", - "2024-03-13T15:12:43-04:00", - "2024-03-13T15:13:08-04:00", - "2024-03-13T15:13:31-04:00", - "2024-03-13T15:13:55-04:00", - "2024-03-13T15:14:19-04:00", - "2024-03-13T15:14:43-04:00", - "2024-03-13T15:15:06-04:00", - "2024-03-13T15:15:29-04:00", - "2024-03-13T15:15:54-04:00", - "2024-03-13T15:16:18-04:00", - "2024-03-13T15:16:42-04:00", - "2024-03-13T15:17:05-04:00", - "2024-03-13T15:17:28-04:00", - "2024-03-13T15:17:52-04:00", - "2024-03-13T15:18:15-04:00", - "2024-03-13T15:18:38-04:00", - "2024-03-13T15:19:02-04:00", - "2024-03-13T15:19:25-04:00", - "2024-03-13T15:19:50-04:00", - "2024-03-13T15:20:13-04:00", - "2024-03-13T15:20:37-04:00", - "2024-03-13T15:21:00-04:00", - "2024-03-13T15:21:23-04:00", - "2024-03-13T15:21:46-04:00", - "2024-03-13T15:22:10-04:00", - "2024-03-13T15:22:33-04:00", - "2024-03-13T15:22:56-04:00", - "2024-03-13T15:23:19-04:00", - "2024-03-13T15:23:42-04:00", - "2024-03-13T15:24:06-04:00", - "2024-03-13T15:24:29-04:00", - "2024-03-13T15:24:52-04:00", - "2024-03-13T15:25:15-04:00", - "2024-03-13T15:25:38-04:00", - "2024-03-13T15:26:02-04:00", - "2024-03-13T15:26:25-04:00", - "2024-03-13T15:26:49-04:00", - "2024-03-13T15:27:12-04:00", - "2024-03-13T15:27:36-04:00", - "2024-03-13T15:28:00-04:00", - "2024-03-13T15:28:23-04:00", - "2024-03-13T15:28:46-04:00", - "2024-03-13T15:29:09-04:00", - "2024-03-13T15:29:33-04:00", - "2024-03-13T15:29:57-04:00", - "2024-03-13T15:30:20-04:00", - "2024-03-13T15:30:43-04:00", - "2024-03-13T15:31:06-04:00", - "2024-03-13T15:31:29-04:00", - "2024-03-13T15:31:52-04:00", - "2024-03-13T15:32:17-04:00", - "2024-03-13T15:32:40-04:00", - "2024-03-13T15:33:04-04:00", - "2024-03-13T15:33:27-04:00", - "2024-03-13T15:33:50-04:00", - "2024-03-13T15:34:13-04:00", - "2024-03-13T15:34:37-04:00", - "2024-03-13T15:35:00-04:00", - "2024-03-13T15:35:24-04:00", - "2024-03-13T15:35:47-04:00", - "2024-03-13T15:36:10-04:00", - "2024-03-13T15:36:33-04:00", - "2024-03-13T15:36:56-04:00", - "2024-03-13T15:37:19-04:00", - "2024-03-13T15:37:42-04:00", - "2024-03-13T15:38:06-04:00", - "2024-03-13T15:38:30-04:00", - "2024-03-13T15:38:54-04:00", - "2024-03-13T15:39:17-04:00", - "2024-03-13T15:39:40-04:00", - "2024-03-13T15:40:03-04:00", - "2024-03-13T15:40:26-04:00", - "2024-03-13T15:40:50-04:00", - "2024-03-13T15:41:14-04:00", - "2024-03-13T15:41:37-04:00", - "2024-03-13T15:42:00-04:00", - "2024-03-13T15:42:25-04:00", - "2024-03-13T15:42:49-04:00", - "2024-03-13T15:43:12-04:00", - "2024-03-13T15:43:36-04:00", - "2024-03-13T15:44:00-04:00", - "2024-03-13T15:44:23-04:00", - "2024-03-13T15:44:46-04:00", - "2024-03-13T15:45:11-04:00", - "2024-03-13T15:45:34-04:00", - "2024-03-13T15:45:57-04:00", - "2024-03-13T15:46:21-04:00", - "2024-03-13T15:46:44-04:00", - "2024-03-13T15:47:07-04:00", - "2024-03-13T15:47:30-04:00", - "2024-03-13T15:47:53-04:00", - "2024-03-13T15:48:16-04:00", - "2024-03-13T15:48:39-04:00", - "2024-03-13T15:49:03-04:00", - "2024-03-13T15:49:26-04:00", - "2024-03-13T15:49:50-04:00", - "2024-03-13T15:50:13-04:00", - "2024-03-13T15:50:36-04:00", - "2024-03-13T15:50:59-04:00", - "2024-03-13T15:51:22-04:00", - "2024-03-13T15:51:45-04:00", - "2024-03-13T15:52:09-04:00", - "2024-03-13T15:52:32-04:00", - "2024-03-13T15:52:55-04:00", - "2024-03-13T15:53:18-04:00", - "2024-03-13T15:53:41-04:00", - "2024-03-13T15:54:05-04:00", - "2024-03-13T15:54:28-04:00", - "2024-03-13T15:54:51-04:00", - "2024-03-13T15:55:14-04:00", - "2024-03-13T15:55:38-04:00", - "2024-03-13T15:56:01-04:00", - "2024-03-13T15:56:24-04:00", - "2024-03-13T15:56:47-04:00", - "2024-03-13T15:57:10-04:00", - "2024-03-13T15:57:33-04:00", - "2024-03-13T15:57:56-04:00", - "2024-03-13T15:58:19-04:00", - "2024-03-13T15:58:42-04:00", - "2024-03-13T15:59:05-04:00", - "2024-03-13T15:59:28-04:00", - "2024-03-13T15:59:51-04:00" - ], - "xaxis": "x2", - "y": [ - 416236, - 25178, - 14986, - 55330, - 58479, - 14678, - 8343, - 12135, - 8869, - 17815, - 30000, - 18355, - 30810, - 12663, - 26084, - 25839, - 22069, - 20753, - 19214, - 11365, - 12336, - 24996, - 11780, - 55434, - 11220, - 29712, - 12041, - 8128, - 17893, - 19092, - 48731, - 22195, - 15130, - 9117, - 25770, - 11280, - 10203, - 7641, - 13077, - 7457, - 16816, - 29172, - 9795, - 14253, - 2530, - 11501, - 9654, - 6358, - 28029, - 9942, - 10790, - 10334, - 25212, - 14528, - 11897, - 35484, - 12819, - 7857, - 13444, - 8500, - 14343, - 12726, - 22166, - 18611, - 36814, - 20174, - 21808, - 27979, - 21663, - 8362, - 8325, - 20474, - 13688, - 19575, - 18721, - 9931, - 26343, - 26108, - 15231, - 13956, - 5055, - 52097, - 21761, - 15637, - 16266, - 13626, - 7815, - 4441, - 12291, - 6200, - 31698, - 21654, - 10026, - 14227, - 9519, - 35308, - 24362, - 23604, - 11811, - 51544, - 21060, - 25255, - 8239, - 14483, - 11959, - 21581, - 12091, - 20261, - 27015, - 14199, - 23198, - 12537, - 20461, - 19864, - 22709, - 19341, - 12828, - 20712, - 10076, - 12869, - 29472, - 36821, - 8052, - 7354, - 7117, - 32853, - 14624, - 28289, - 22703, - 28245, - 34174, - 17928, - 11635, - 6282, - 23394, - 28054, - 34596, - 12122, - 11555, - 21700, - 9815, - 22207, - 35327, - 12248, - 24344, - 55755, - 14615, - 25950, - 20408, - 15930, - 23468, - 47575, - 79309, - 27774, - 13917, - 29766, - 9433, - 14812, - 55372, - 8387, - 19710, - 5323, - 21801, - 48302, - 29047, - 26152, - 14668, - 13341, - 19744, - 26696, - 19972, - 14858, - 10758, - 6488, - 11293, - 37934, - 10511, - 26237, - 26917, - 13211, - 14018, - 15144, - 13562, - 11608, - 15010, - 23961, - 26666, - 17220, - 25373, - 13796, - 27958, - 19858, - 15937, - 28725, - 21746, - 27069, - 34197, - 13480, - 5820, - 19576, - 18928, - 36299, - 28769, - 26333, - 7040, - 5490, - 27540, - 3362, - 13653, - 28973, - 139228, - 4906, - 13421, - 7641, - 114809, - 14434, - 7333, - 40747, - 35804, - 12028, - 11997, - 7881, - 3524, - 7276, - 2654, - 10616, - 8055, - 9111, - 15940, - 9649, - 19545, - 10404, - 27673, - 26523, - 5384, - 13553, - 15445, - 6919, - 21745, - 11247, - 10686, - 17662, - 10388, - 5129, - 10578, - 9572, - 5841, - 18942, - 32547, - 14536, - 13559, - 7202, - 9990, - 10491, - 3616, - 14030, - 7129, - 8160, - 32445, - 8499, - 14495, - 17154, - 7169, - 19744, - 4897, - 2255, - 31730, - 4596, - 5215, - 20925, - 11543, - 19495, - 14039, - 18184, - 9781, - 14376, - 6677, - 8762, - 8004, - 15700, - 10869, - 7908, - 14419, - 8315, - 13268, - 7466, - 10776, - 9265, - 9012, - 8535, - 10524, - 12066, - 10260, - 22082, - 4879, - 23724, - 12522, - 26753, - 15118, - 4302, - 13095, - 16881, - 4461, - 7902, - 9815, - 4230, - 29754, - 9602, - 4523, - 18357, - 2089, - 6202, - 21463, - 8083, - 4739, - 15669, - 8219, - 18181, - 12229, - 15078, - 23736, - 58948, - 14253, - 12216, - 2915, - 11360, - 13029, - 3495, - 45565, - 25194, - 39268, - 9963, - 8355, - 50155, - 10743, - 10639, - 23662, - 8457, - 36418, - 1567, - 22403, - 27122, - 9095, - 14268, - 38486, - 46258, - 37348, - 21785, - 28389, - 24218, - 26207, - 36275, - 22476, - 43786, - 10551, - 17177, - 16005, - 19607, - 29526, - 19247, - 19078, - 25461, - 4209, - 17858, - 3303, - 7514, - 8735, - 8400, - 6045, - 26384, - 2170, - 2209, - 2690, - 4045, - 24064, - 7607, - 13564, - 3067, - 33476, - 15236, - 12540, - 17937, - 18045, - 25246, - 23139, - 13221, - 10478, - 6420, - 6842, - 4126, - 37101, - 16074, - 15712, - 9529, - 14209, - 15018, - 25890, - 6102, - 18939, - 10072, - 21330, - 10048, - 9067, - 8012, - 16399, - 13397, - 11097, - 8774, - 2859, - 1955, - 7230, - 40348, - 13075, - 5585, - 11383, - 7642, - 11653, - 4402, - 22371, - 11954, - 25203, - 6772, - 13915, - 32359, - 11878, - 14708, - 5806, - 3954, - 20409, - 24844, - 8087, - 3733, - 33635, - 10903, - 2909, - 9297, - 7120, - 7468, - 25137, - 30062, - 5789, - 111, - 6548, - 4647, - 26014, - 33897, - 21387, - 11732, - 45123, - 4563, - 30474, - 16446, - 34070, - 16441, - 9186, - 6078, - 32433, - 28018, - 7148, - 3662, - 30445, - 17664, - 27083, - 2165, - 9271, - 22653, - 21161, - 19607, - 5374, - 21569, - 24594, - 12984, - 20409, - 23909, - 3578, - 41952, - 22444, - 33816, - 8447, - 6822, - 11289, - 2805, - 23447, - 1202, - 24215, - 10016, - 13363, - 9530, - 68640, - 11443, - 14148, - 10011, - 9523, - 7002, - 13436, - 6965, - 10842, - 20114, - 20850, - 12357, - 6620, - 3171, - 14153, - 12620, - 10092, - 5700, - 2900, - 13077, - 25549, - 14294, - 24577, - 11171, - 29204, - 5034, - 7088, - 31747, - 21489, - 10266, - 18456, - 20070, - 2598, - 3189, - 3120, - 1632, - 14084, - 20311, - 2800, - 18822, - 17669, - 12223, - 2880, - 14468, - 5714, - 8997, - 78708, - 9152, - 13982, - 12215, - 19766, - 8020, - 25080, - 6762, - 33850, - 9441, - 12673, - 21152, - 11296, - 20028, - 9283, - 13514, - 3034, - 19239, - 2848, - 10833, - 11094, - 19439, - 10369, - 18064, - 2205, - 4165, - 3520, - 5490, - 7834, - 28606, - 8223, - 18304, - 3604, - 3655, - 23595, - 17628, - 3747, - 10767, - 8788, - 7975, - 9745, - 10416, - 16352, - 26929, - 11202, - 5603, - 17921, - 7614, - 13425, - 20318, - 12040, - 12658, - 10180, - 5816, - 6814, - 9474, - 3395, - 27534, - 16167, - 6868, - 6155, - 9058, - 49847, - 3913, - 4777, - 3282, - 2997, - 10938, - 24021, - 1110, - 9348, - 1727, - 24723, - 3068, - 18842, - 4373, - 5978, - 14561, - 2492, - 27510, - 10800, - 2181, - 23429, - 27532, - 700, - 3066, - 8031, - 3152, - 2999, - 13403, - 6694, - 3424, - 1249, - 10059, - 11933, - 4426, - 4349, - 700, - 5213, - 41135, - 8771, - 2650, - 18775, - 6373, - 3824, - 3403, - 13468, - 10168, - 21676, - 18599, - 6294, - 5353, - 41019, - 24380, - 8431, - 3425, - 2978, - 16013, - 2901, - 1755, - 7193, - 22391, - 19040, - 2859, - 19080, - 6780, - 6688, - 3506, - 20579, - 3966, - 16883, - 2933, - 11128, - 10628, - 4757, - 7181, - 15959, - 18225, - 16426, - 2400, - 10518, - 8427, - 2477, - 2087, - 700, - 1808, - 25036, - 8889, - 10710, - 7584, - 19886, - 19666, - 24401, - 2848, - 8433, - 4611, - 1705, - 15523, - 4393, - 5750, - 3178, - 16948, - 3779, - 11483, - 9355, - 21303, - 13552, - 25999, - 5705, - 14551, - 4120, - 30640, - 13773, - 3183, - 3450, - 2260, - 4896, - 4251, - 2295, - 3802, - 14127, - 44191, - 16385, - 1650, - 11683, - 7279, - 4209, - 4018, - 4020, - 21485, - 15792, - 4191, - 5681, - 35308, - 8276, - 19754, - 28183, - 12571, - 2541, - 3391, - 12492, - 8447, - 8031, - 2517, - 4777, - 55940, - 4801, - 5439, - 17929, - 4825, - 18922, - 2500, - 10415, - 18876, - 21237, - 26935, - 4172, - 6354, - 4386, - 19575, - 7070, - 5975, - 10045, - 6988, - 6912, - 26647, - 24423, - 11871, - 27431, - 5238, - 11753, - 6882, - 11061, - 19877, - 1643, - 19727, - 33629, - 10565, - 10415, - 20668, - 11764, - 22786, - 20660, - 10606, - 14791, - 17754, - 4799, - 2696, - 20422, - 4439, - 13191, - 16806, - 38136, - 3290, - 4403, - 2428, - 17149, - 9645, - 8682, - 8439, - 24389, - 3340, - 16809, - 42537, - 12922, - 19363, - 2968, - 40103, - 15716, - 14463, - 15595, - 6592, - 29459, - 12241, - 5617, - 4302, - 3037, - 6099, - 33766, - 5376, - 2911, - 14136, - 33799, - 11846, - 10432, - 3928, - 8943, - 6539, - 23631, - 3591, - 1552, - 5867, - 2002, - 19368, - 2779, - 2004, - 5099, - 4161, - 4482, - 4850, - 18115, - 8037, - 4248, - 3517, - 15517, - 9095, - 37182, - 7719, - 7123, - 11732, - 10155, - 14856, - 7334, - 5033, - 3060, - 2654, - 5687, - 5166, - 13402, - 32920, - 12844, - 5462, - 8299, - 30280, - 14835, - 15193, - 13833, - 15036, - 24797, - 20290, - 2973, - 7797, - 23100, - 11858, - 6002, - 78899, - 28163, - 14426, - 37626, - 3704, - 8193, - 28318, - 17923, - 44859, - 18724, - 12379, - 7373, - 16337, - 20656, - 10973, - 5349, - 5728, - 15260, - 12554, - 6410, - 28402, - 12105, - 50363, - 24696, - 6900, - 10280, - 15299, - 16743, - 23282, - 18373, - 6384, - 33207, - 39134, - 38619, - 23222, - 21035, - 16419, - 5179, - 26520, - 3788, - 27810, - 1897, - 10953, - 10660, - 41678, - 2990, - 26583, - 11787, - 3416, - 21729, - 13740, - 3063, - 2129, - 35750, - 36550, - 3148, - 36008, - 13813, - 106275, - 33235, - 54637, - 26516, - 18584, - 21489, - 29879, - 21377, - 8613, - 37843, - 20710, - 40374, - 24343, - 15512, - 19494, - 15301, - 9801, - 25115, - 16667, - 54900, - 13381, - 33579, - 6506, - 20297, - 15515, - 46696, - 85498, - 27902, - 55839, - 63198, - 104774, - 93394, - 71164, - 61894, - 95939, - 80910, - 69120, - 173346, - 180101, - 129192, - 475627, - 32338, - 21396, - 15500, - 20847, - 13634, - 48953, - 41839, - 15669, - 6652, - 25761, - 15562, - 8720, - 31236, - 19948, - 25705, - 50391, - 34615, - 36396, - 21052, - 38016, - 43877, - 7880, - 12486, - 19088, - 26849, - 44926, - 13209, - 28755, - 43426, - 29975, - 22692, - 38281, - 103785, - 27536, - 11100, - 29525, - 19363, - 25264, - 52472, - 61143, - 55617, - 31298, - 28110, - 30477, - 36409, - 12636, - 60877, - 18101, - 16730, - 28503, - 53927, - 37760, - 170811, - 40275, - 47909, - 20492, - 49692, - 26737, - 31034, - 33158, - 78710, - 37599, - 72529, - 37229, - 42449, - 67780, - 68836, - 42009, - 26357, - 34378, - 22377, - 52357, - 18991, - 12545, - 19088, - 36625, - 56742, - 53676, - 26181, - 35823, - 32757, - 58957, - 18462, - 33732, - 52396, - 15745, - 24424, - 33591, - 27996, - 18960, - 17627, - 36237, - 30509, - 17491, - 25493, - 26619, - 17011, - 32581, - 14745, - 13959, - 8233, - 27924, - 26318, - 23288, - 26181, - 14505, - 11625, - 19023, - 23383, - 19932, - 11022, - 23014, - 17668, - 25813, - 14983, - 10040, - 21834, - 9452, - 13334, - 13331, - 24193, - 21161, - 12799, - 20287, - 15319, - 11963, - 13552, - 14386, - 16529, - 18714, - 18447, - 14855, - 12471, - 9976, - 12894, - 27399, - 24145, - 22440, - 46970, - 26815, - 11431, - 13648, - 15220, - 17858, - 14745, - 16066, - 20146, - 13617, - 12505, - 13370, - 15697, - 11792, - 9506, - 21798, - 23497, - 15824, - 10635, - 12503, - 34998, - 3986, - 21630, - 11676, - 37869, - 21436, - 5875, - 12346, - 7129, - 7550, - 29732, - 3894, - 33222, - 12109, - 9603, - 14922, - 9266, - 14537, - 9302, - 8916, - 17740, - 32371, - 16131, - 13678, - 8191, - 19294, - 7857, - 21199, - 20466, - 21369, - 67726, - 15305, - 10951, - 25479, - 25776, - 20813, - 25832, - 9519, - 26065, - 11796, - 25287, - 16584, - 15956, - 11727, - 16734, - 32902, - 20103, - 19469, - 43648, - 27836, - 38863, - 9522, - 54234, - 26315, - 64511, - 87257, - 33644, - 29499, - 14762, - 7916, - 7780, - 29160, - 25118, - 4576, - 32320, - 11951, - 23642, - 11388, - 8300, - 13341, - 31398, - 60859, - 30853, - 31217, - 34640, - 33067, - 11035, - 9860, - 6781, - 7393, - 34847, - 59947, - 23276, - 27966, - 19044, - 15468, - 33837, - 6629, - 10207, - 16257, - 24720, - 35405, - 14355, - 28905, - 16012, - 26560, - 3787, - 7847, - 22347, - 9228, - 4753, - 6346, - 37917, - 18085, - 6321, - 12269, - 47339, - 36670, - 14726, - 36405, - 8040, - 9827, - 156112, - 24057, - 8761, - 45947, - 24612, - 18048, - 2350, - 14713, - 19030, - 10479, - 6792, - 15622, - 8087, - 5408, - 8838, - 17337, - 3414, - 16456, - 96428, - 8869, - 25171, - 10931, - 9385, - 8416, - 3414, - 5084, - 28171, - 27784, - 27354, - 5600, - 12137, - 13704, - 25336, - 24551, - 15701, - 6277, - 8187, - 13548, - 18973, - 15011, - 13546, - 9392, - 5974, - 33201, - 14802, - 17987, - 15271, - 15746, - 22795, - 24725, - 22476, - 29685, - 30886, - 8752, - 45722, - 56574, - 17868, - 16327, - 24044, - 19520, - 23922, - 55295, - 56725, - 38012, - 15871, - 17107, - 25551, - 23432, - 34623, - 14917, - 22772, - 6648, - 16219, - 27331, - 21395, - 21319, - 23588, - 27537, - 48845, - 26108, - 22235, - 21251, - 9436, - 22008, - 16864, - 22936, - 36107, - 10297, - 23534, - 8529, - 35119, - 11515, - 7289, - 3800, - 32636, - 18295, - 17421, - 16811, - 21641, - 4800, - 32347, - 19144, - 7693, - 13769, - 3765, - 26595, - 16335, - 8260, - 18825, - 10926, - 12188, - 23057, - 23120, - 32915, - 14051, - 23249, - 15472, - 5460, - 21703, - 9409, - 14624, - 10886, - 4054, - 4388, - 5559, - 26346, - 5441, - 34940, - 18835, - 5498, - 12496, - 11854, - 8990, - 17230, - 4536, - 15610, - 32858, - 16151, - 23928, - 18068, - 46294, - 14034, - 35538, - 21988, - 7878, - 13194, - 9078, - 18714, - 10255, - 22905, - 20085, - 17075, - 54039, - 11466, - 9089, - 10031, - 17269, - 10469, - 44982, - 23902, - 10671, - 41345, - 59031, - 19692, - 19278, - 7066, - 18090, - 19222, - 15462, - 12115, - 6355, - 16359, - 5107, - 2768, - 6528, - 4963, - 17291, - 10596, - 9962, - 9891, - 16004, - 36289, - 11335, - 35176, - 22221, - 58079, - 10972, - 4699, - 8571, - 8574, - 45905, - 8952, - 16399, - 22339, - 27960, - 14481, - 11827, - 17427, - 16891, - 16465, - 2993, - 20667, - 15740, - 18743, - 20875, - 18582, - 19092, - 7185, - 7739, - 23814, - 4633, - 29429, - 15880, - 13049, - 14151, - 12913, - 3996, - 20707, - 9120, - 24757, - 6284, - 29484, - 50766, - 23999, - 7675, - 14671, - 11004, - 69156, - 22775, - 11217, - 43775, - 7611, - 16994, - 15488, - 14665, - 20621, - 38755, - 20150, - 15082, - 46656, - 30746, - 49764, - 49348, - 21675, - 28798, - 8959, - 18294, - 17320, - 5720, - 15270, - 34720, - 22922, - 6377, - 18425, - 17267, - 32200, - 34254, - 19180, - 18023, - 8677, - 35958, - 23325, - 19045, - 9098, - 28255, - 68126, - 43343, - 38624, - 30659, - 18311, - 23438, - 83670, - 9478, - 8863, - 18365, - 24100, - 27832, - 17718, - 21542, - 16450, - 21690, - 6871, - 19364, - 15537, - 21653, - 10957, - 15734, - 21812, - 25203, - 19586, - 31887, - 20473, - 17598, - 34019, - 11592, - 19055, - 9740, - 18244, - 22675, - 13025, - 9472, - 11166, - 25479, - 45420, - 18095, - 15265, - 13138, - 35387, - 34616, - 35500, - 46243, - 20860, - 18186, - 34546, - 26738, - 21161, - 17478, - 11185, - 10972, - 2975, - 71538, - 21749, - 13385, - 20420, - 34585, - 6420, - 11560, - 10707, - 30748, - 20470, - 12007, - 24871, - 20574, - 9572, - 17030, - 9475, - 17560, - 64978, - 44412, - 11422, - 14766, - 12561, - 9881, - 13926, - 24451, - 21408, - 12207, - 12749, - 42168, - 22065, - 35984, - 12876, - 25049, - 46069, - 27132, - 18480, - 29301, - 20932, - 23959, - 6611, - 10407, - 11275, - 9226, - 7839, - 22906, - 60167, - 10456, - 10734, - 18652, - 8229, - 37096, - 20509, - 6373, - 36608, - 36895, - 15173, - 15238, - 15808, - 13801, - 10210, - 34055, - 7127, - 7307, - 11478, - 5654, - 5177, - 3574, - 51692, - 7164, - 7626, - 7559, - 7999, - 31800, - 12355, - 17846, - 15051, - 7797, - 5440, - 8095, - 20834, - 7632, - 16557, - 8620, - 9099, - 4107, - 18018, - 17684, - 8882, - 47139, - 4605, - 13287, - 6649, - 10146, - 1396, - 1674, - 2134, - 26980, - 21349, - 5553, - 12800, - 4964, - 9641, - 12800, - 14037, - 6309, - 20816, - 3029, - 15400, - 3440, - 3200, - 2728, - 1500, - 16996, - 3864, - 1072, - 20909, - 7896, - 3258, - 5162, - 5798, - 14699, - 1331, - 2043, - 4016, - 23950, - 28033, - 3604, - 12986, - 3420, - 7460, - 9744, - 11416, - 11111, - 3552, - 6708, - 11793, - 5292, - 18750, - 3819, - 10264, - 5436, - 13040, - 5879, - 14368, - 14649, - 3757, - 8223, - 8283, - 2845, - 3734, - 4967, - 12896, - 6858, - 9621, - 16264, - 3656, - 12707, - 10523, - 9191, - 4400, - 12624, - 3473, - 4796, - 9109, - 9022, - 2180, - 21171, - 3265, - 30978, - 9769, - 3056, - 18367, - 20457, - 8831, - 7086, - 14734, - 6237, - 6721, - 6661, - 2682, - 4352, - 14884, - 33904, - 6260, - 4685, - 5775, - 4985, - 10640, - 13286, - 9262, - 16192, - 6234, - 10074, - 36286, - 5390, - 8772, - 12505, - 14131, - 24948, - 18989, - 34455, - 7290, - 8203, - 7690, - 19940, - 8603, - 19798, - 23565, - 4461, - 4852, - 36434, - 12339, - 4112, - 8499, - 17187, - 8198, - 4453, - 23922, - 5300, - 48091, - 5193, - 6079, - 3000, - 18068, - 33678, - 3858, - 4086, - 10148, - 6646, - 19819, - 6137, - 4668, - 5481, - 12141, - 13842, - 9691, - 8860, - 22640, - 6378, - 10235, - 2763, - 5606, - 9377, - 28363, - 20077, - 17650, - 21839, - 10305, - 13940, - 16927, - 27842, - 27438, - 6758, - 12205, - 3507, - 12109, - 15544, - 20714, - 6281, - 23362, - 4664, - 39344, - 4146, - 6082, - 6808, - 6437, - 25702, - 5916, - 15516, - 5659, - 6902, - 27432, - 15027, - 9317, - 8349, - 10755, - 26064, - 16241, - 13017, - 23002, - 10204, - 7575, - 14264, - 14931, - 5644, - 22616, - 14046, - 4457, - 10330, - 14642, - 9352, - 6287, - 12527, - 19051, - 5957, - 37126, - 33189, - 47401, - 3853, - 8451, - 3839, - 32231, - 6428, - 19518, - 23148, - 16427, - 18837, - 35373, - 12907, - 7213, - 17333, - 9320, - 21276, - 32239, - 18539, - 7986, - 13705, - 15883, - 11172, - 18816, - 107755, - 34732, - 35509, - 41421, - 40263, - 39706, - 77293, - 32939, - 32063, - 48638, - 39651, - 41295, - 93511, - 22948, - 28290, - 14303, - 17882, - 30666, - 25217, - 23958, - 30102, - 20002, - 38260, - 29836, - 25383, - 15016, - 17920, - 64544, - 47154, - 25532, - 38169, - 28697, - 15758, - 7637, - 38804, - 3257, - 19091, - 56128, - 21264, - 27453, - 8112, - 34781, - 20038, - 14436, - 16958, - 22841, - 32343, - 19934, - 30003, - 37193, - 49481, - 12261, - 50836, - 42809, - 44285, - 32862, - 58629, - 65941, - 58022, - 74353, - 86248, - 39549, - 44154, - 53011, - 45585, - 29004, - 52130, - 55405, - 46785, - 87761, - 42286, - 55595, - 82929, - 69550, - 89512, - 85767, - 95103, - 140972, - 120386, - 139068, - 545827, - 734354, - 321567 - ], - "yaxis": "y2" - } - ], - "layout": { - "height": 350, - "legend": { - "orientation": "h", - "traceorder": "normal", - "x": 1, - "xanchor": "right", - "y": 1.02, - "yanchor": "bottom" - }, - "margin": { - "b": 30, - "l": 30, - "r": 30, - "t": 30 - }, - "showlegend": true, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#d6dfef" - }, - "error_y": { - "color": "#d6dfef" - }, - "marker": { - "line": { - "color": "#212226", - "width": 0.5 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#212226", - "width": 0.5 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#A2B1C6", - "gridcolor": "#313439", - "linecolor": "#313439", - "minorgridcolor": "#313439", - "startlinecolor": "#A2B1C6" - }, - "baxis": { - "endlinecolor": "#A2B1C6", - "gridcolor": "#313439", - "linecolor": "#313439", - "minorgridcolor": "#313439", - "startlinecolor": "#A2B1C6" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "heatmapgl": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmapgl" - } - ], - "histogram": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "marker": { - "line": { - "color": "#313439" - } - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "line": { - "color": "#313439" - } - }, - "type": "scattergl" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#313439" - }, - "line": { - "color": "#212226" - } - }, - "header": { - "fill": { - "color": "#2a3f5f" - }, - "line": { - "color": "#212226" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#d6dfef", - "arrowhead": 0, - "arrowwidth": 1 - }, - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#1f77b4", - "#ff7f0e", - "#2ca02c", - "#dc3912", - "#9467bd", - "#8c564b", - "#e377c2", - "#7f7f7f", - "#bcbd22", - "#17becf" - ], - "font": { - "color": "#d6dfef" - }, - "geo": { - "bgcolor": "#212226", - "lakecolor": "#212226", - "landcolor": "#212226", - "showlakes": true, - "showland": true, - "subunitcolor": "#313439" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "dark" - }, - "paper_bgcolor": "#212226", - "plot_bgcolor": "#212226", - "polar": { - "angularaxis": { - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "" - }, - "bgcolor": "#212226", - "radialaxis": { - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#212226", - "gridcolor": "#313439", - "gridwidth": 2, - "linecolor": "#313439", - "showbackground": true, - "ticks": "", - "zerolinecolor": "#aec0d6" - }, - "yaxis": { - "backgroundcolor": "#212226", - "gridcolor": "#313439", - "gridwidth": 2, - "linecolor": "#313439", - "showbackground": true, - "ticks": "", - "zerolinecolor": "#aec0d6" - }, - "zaxis": { - "backgroundcolor": "#212226", - "gridcolor": "#313439", - "gridwidth": 2, - "linecolor": "#313439", - "showbackground": true, - "ticks": "", - "zerolinecolor": "#aec0d6" - } - }, - "shapedefaults": { - "line": { - "color": "#d6dfef" - } - }, - "sliderdefaults": { - "bgcolor": "#aec0d6", - "bordercolor": "#212226", - "borderwidth": 1, - "tickwidth": 0 - }, - "ternary": { - "aaxis": { - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "" - }, - "baxis": { - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "" - }, - "bgcolor": "#212226", - "caxis": { - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "updatemenudefaults": { - "bgcolor": "#313439", - "borderwidth": 0 - }, - "xaxis": { - "automargin": true, - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "#313439", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "#313439", - "zerolinewidth": 2 - } - } - }, - "width": 1280, - "xaxis": { - "anchor": "y", - "domain": [ - 0, - 1 - ], - "matches": "x2", - "rangebreaks": [ - { - "bounds": [ - "2024-03-12T09:30:46-04:00", - "2024-03-12T09:30:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:31:10-04:00", - "2024-03-12T09:31:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:31:57-04:00", - "2024-03-12T09:32:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:33:32-04:00", - "2024-03-12T09:33:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:33:57-04:00", - "2024-03-12T09:33:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:34:44-04:00", - "2024-03-12T09:34:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:36:17-04:00", - "2024-03-12T09:36:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:36:41-04:00", - "2024-03-12T09:36:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:37:05-04:00", - "2024-03-12T09:37:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:41:19-04:00", - "2024-03-12T09:41:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:41:44-04:00", - "2024-03-12T09:41:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:43:17-04:00", - "2024-03-12T09:43:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:44:50-04:00", - "2024-03-12T09:44:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:47:33-04:00", - "2024-03-12T09:47:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:47:57-04:00", - "2024-03-12T09:47:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:48:21-04:00", - "2024-03-12T09:48:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:49:31-04:00", - "2024-03-12T09:49:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:49:55-04:00", - "2024-03-12T09:49:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:51:51-04:00", - "2024-03-12T09:51:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:52:39-04:00", - "2024-03-12T09:52:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:53:49-04:00", - "2024-03-12T09:53:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:55:45-04:00", - "2024-03-12T09:55:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:56:32-04:00", - "2024-03-12T09:56:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:58:05-04:00", - "2024-03-12T09:58:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:59:38-04:00", - "2024-03-12T09:59:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:00:02-04:00", - "2024-03-12T10:00:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:00:50-04:00", - "2024-03-12T10:00:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:02:23-04:00", - "2024-03-12T10:02:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:03:56-04:00", - "2024-03-12T10:03:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:04:43-04:00", - "2024-03-12T10:04:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:05:08-04:00", - "2024-03-12T10:05:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:05:32-04:00", - "2024-03-12T10:05:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:09:46-04:00", - "2024-03-12T10:09:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:10:57-04:00", - "2024-03-12T10:10:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:14:26-04:00", - "2024-03-12T10:14:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:18:40-04:00", - "2024-03-12T10:18:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:19:52-04:00", - "2024-03-12T10:19:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:25:16-04:00", - "2024-03-12T10:25:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:26:03-04:00", - "2024-03-12T10:26:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:29:08-04:00", - "2024-03-12T10:29:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:31:50-04:00", - "2024-03-12T10:31:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:33:00-04:00", - "2024-03-12T10:33:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:35:42-04:00", - "2024-03-12T10:35:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:39:34-04:00", - "2024-03-12T10:39:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:41:07-04:00", - "2024-03-12T10:41:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:41:31-04:00", - "2024-03-12T10:41:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:43:04-04:00", - "2024-03-12T10:43:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:43:51-04:00", - "2024-03-12T10:43:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:44:16-04:00", - "2024-03-12T10:44:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:46:36-04:00", - "2024-03-12T10:46:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:47:00-04:00", - "2024-03-12T10:47:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:47:47-04:00", - "2024-03-12T10:47:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:48:58-04:00", - "2024-03-12T10:49:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:49:23-04:00", - "2024-03-12T10:49:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:49:50-04:00", - "2024-03-12T10:49:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:50:15-04:00", - "2024-03-12T10:50:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:51:04-04:00", - "2024-03-12T10:51:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:51:29-04:00", - "2024-03-12T10:51:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:52:16-04:00", - "2024-03-12T10:52:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:53:07-04:00", - "2024-03-12T10:53:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:53:33-04:00", - "2024-03-12T10:53:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:53:59-04:00", - "2024-03-12T10:54:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:54:23-04:00", - "2024-03-12T10:54:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:54:47-04:00", - "2024-03-12T10:54:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:55:11-04:00", - "2024-03-12T10:55:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:56:44-04:00", - "2024-03-12T10:56:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:57:32-04:00", - "2024-03-12T10:57:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:58:42-04:00", - "2024-03-12T10:58:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:59:29-04:00", - "2024-03-12T10:59:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:01:03-04:00", - "2024-03-12T11:01:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:01:27-04:00", - "2024-03-12T11:01:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:02:37-04:00", - "2024-03-12T11:02:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:03:02-04:00", - "2024-03-12T11:03:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:03:26-04:00", - "2024-03-12T11:03:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:04:36-04:00", - "2024-03-12T11:04:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:05:00-04:00", - "2024-03-12T11:05:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:05:47-04:00", - "2024-03-12T11:05:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:06:34-04:00", - "2024-03-12T11:06:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:08:55-04:00", - "2024-03-12T11:08:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:09:20-04:00", - "2024-03-12T11:09:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:10:07-04:00", - "2024-03-12T11:10:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:11:18-04:00", - "2024-03-12T11:11:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:11:42-04:00", - "2024-03-12T11:11:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:13:22-04:00", - "2024-03-12T11:13:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:13:47-04:00", - "2024-03-12T11:13:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:16:06-04:00", - "2024-03-12T11:16:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:16:30-04:00", - "2024-03-12T11:16:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:16:54-04:00", - "2024-03-12T11:16:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:17:19-04:00", - "2024-03-12T11:17:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:17:44-04:00", - "2024-03-12T11:17:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:18:54-04:00", - "2024-03-12T11:18:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:19:19-04:00", - "2024-03-12T11:19:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:20:09-04:00", - "2024-03-12T11:20:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:21:04-04:00", - "2024-03-12T11:21:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:21:28-04:00", - "2024-03-12T11:21:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:21:52-04:00", - "2024-03-12T11:21:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:22:16-04:00", - "2024-03-12T11:22:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:22:42-04:00", - "2024-03-12T11:22:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:23:29-04:00", - "2024-03-12T11:23:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:24:19-04:00", - "2024-03-12T11:24:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:24:43-04:00", - "2024-03-12T11:24:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:25:31-04:00", - "2024-03-12T11:25:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:27:04-04:00", - "2024-03-12T11:27:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:27:34-04:00", - "2024-03-12T11:27:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:28:21-04:00", - "2024-03-12T11:28:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:28:47-04:00", - "2024-03-12T11:28:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:29:35-04:00", - "2024-03-12T11:29:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:30:00-04:00", - "2024-03-12T11:30:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:31:56-04:00", - "2024-03-12T11:32:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:33:09-04:00", - "2024-03-12T11:33:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:33:34-04:00", - "2024-03-12T11:33:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:33:58-04:00", - "2024-03-12T11:34:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:34:30-04:00", - "2024-03-12T11:34:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:35:04-04:00", - "2024-03-12T11:35:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:35:28-04:00", - "2024-03-12T11:35:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:36:15-04:00", - "2024-03-12T11:36:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:37:26-04:00", - "2024-03-12T11:37:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:37:52-04:00", - "2024-03-12T11:37:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:38:16-04:00", - "2024-03-12T11:38:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:38:43-04:00", - "2024-03-12T11:38:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:39:31-04:00", - "2024-03-12T11:39:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:39:55-04:00", - "2024-03-12T11:39:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:40:19-04:00", - "2024-03-12T11:40:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:41:06-04:00", - "2024-03-12T11:41:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:41:30-04:00", - "2024-03-12T11:41:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:41:54-04:00", - "2024-03-12T11:41:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:42:18-04:00", - "2024-03-12T11:42:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:42:44-04:00", - "2024-03-12T11:42:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:43:32-04:00", - "2024-03-12T11:43:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:44:22-04:00", - "2024-03-12T11:44:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:45:13-04:00", - "2024-03-12T11:45:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:45:37-04:00", - "2024-03-12T11:45:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:47:35-04:00", - "2024-03-12T11:47:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:49:08-04:00", - "2024-03-12T11:49:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:49:32-04:00", - "2024-03-12T11:49:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:50:20-04:00", - "2024-03-12T11:50:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:51:34-04:00", - "2024-03-12T11:51:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:52:03-04:00", - "2024-03-12T11:52:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:52:27-04:00", - "2024-03-12T11:52:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:52:52-04:00", - "2024-03-12T11:52:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:54:03-04:00", - "2024-03-12T11:54:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:54:56-04:00", - "2024-03-12T11:54:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:55:20-04:00", - "2024-03-12T11:55:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:56:44-04:00", - "2024-03-12T11:56:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:57:08-04:00", - "2024-03-12T11:57:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:57:56-04:00", - "2024-03-12T11:58:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:59:32-04:00", - "2024-03-12T11:59:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:59:57-04:00", - "2024-03-12T11:59:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:00:21-04:00", - "2024-03-12T12:00:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:01:34-04:00", - "2024-03-12T12:01:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:02:47-04:00", - "2024-03-12T12:02:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:03:13-04:00", - "2024-03-12T12:03:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:03:39-04:00", - "2024-03-12T12:03:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:04:04-04:00", - "2024-03-12T12:04:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:04:28-04:00", - "2024-03-12T12:04:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:04:52-04:00", - "2024-03-12T12:04:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:05:16-04:00", - "2024-03-12T12:05:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:05:47-04:00", - "2024-03-12T12:05:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:06:15-04:00", - "2024-03-12T12:06:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:07:25-04:00", - "2024-03-12T12:07:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:07:56-04:00", - "2024-03-12T12:08:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:08:46-04:00", - "2024-03-12T12:08:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:10:23-04:00", - "2024-03-12T12:10:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:10:49-04:00", - "2024-03-12T12:10:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:11:18-04:00", - "2024-03-12T12:11:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:12:52-04:00", - "2024-03-12T12:12:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:13:17-04:00", - "2024-03-12T12:13:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:14:05-04:00", - "2024-03-12T12:14:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:15:24-04:00", - "2024-03-12T12:15:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:15:48-04:00", - "2024-03-12T12:15:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:16:12-04:00", - "2024-03-12T12:16:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:16:36-04:00", - "2024-03-12T12:16:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:17:24-04:00", - "2024-03-12T12:17:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:17:50-04:00", - "2024-03-12T12:17:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:18:38-04:00", - "2024-03-12T12:18:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:19:06-04:00", - "2024-03-12T12:19:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:19:53-04:00", - "2024-03-12T12:19:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:21:03-04:00", - "2024-03-12T12:21:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:21:29-04:00", - "2024-03-12T12:21:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:21:54-04:00", - "2024-03-12T12:22:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:22:30-04:00", - "2024-03-12T12:22:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:23:45-04:00", - "2024-03-12T12:23:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:24:32-04:00", - "2024-03-12T12:24:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:24:56-04:00", - "2024-03-12T12:24:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:25:44-04:00", - "2024-03-12T12:25:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:26:09-04:00", - "2024-03-12T12:26:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:26:35-04:00", - "2024-03-12T12:26:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:26:59-04:00", - "2024-03-12T12:27:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:27:30-04:00", - "2024-03-12T12:27:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:27:54-04:00", - "2024-03-12T12:27:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:28:19-04:00", - "2024-03-12T12:28:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:28:43-04:00", - "2024-03-12T12:28:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:29:31-04:00", - "2024-03-12T12:29:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:29:57-04:00", - "2024-03-12T12:30:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:30:25-04:00", - "2024-03-12T12:30:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:30:50-04:00", - "2024-03-12T12:30:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:31:15-04:00", - "2024-03-12T12:31:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:32:02-04:00", - "2024-03-12T12:32:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:32:27-04:00", - "2024-03-12T12:32:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:32:53-04:00", - "2024-03-12T12:32:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:33:40-04:00", - "2024-03-12T12:33:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:34:06-04:00", - "2024-03-12T12:34:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:34:30-04:00", - "2024-03-12T12:34:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:35:40-04:00", - "2024-03-12T12:35:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:36:29-04:00", - "2024-03-12T12:36:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:37:40-04:00", - "2024-03-12T12:37:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:38:27-04:00", - "2024-03-12T12:38:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:38:51-04:00", - "2024-03-12T12:38:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:39:15-04:00", - "2024-03-12T12:39:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:39:39-04:00", - "2024-03-12T12:39:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:40:05-04:00", - "2024-03-12T12:40:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:40:29-04:00", - "2024-03-12T12:40:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:41:39-04:00", - "2024-03-12T12:41:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:43:36-04:00", - "2024-03-12T12:43:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:44:25-04:00", - "2024-03-12T12:44:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:44:52-04:00", - "2024-03-12T12:44:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:45:40-04:00", - "2024-03-12T12:45:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:46:27-04:00", - "2024-03-12T12:46:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:47:14-04:00", - "2024-03-12T12:47:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:47:38-04:00", - "2024-03-12T12:47:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:48:02-04:00", - "2024-03-12T12:48:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:48:26-04:00", - "2024-03-12T12:48:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:48:52-04:00", - "2024-03-12T12:48:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:49:19-04:00", - "2024-03-12T12:49:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:50:07-04:00", - "2024-03-12T12:50:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:50:31-04:00", - "2024-03-12T12:50:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:50:55-04:00", - "2024-03-12T12:51:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:51:29-04:00", - "2024-03-12T12:51:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:53:26-04:00", - "2024-03-12T12:53:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:53:51-04:00", - "2024-03-12T12:53:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:55:24-04:00", - "2024-03-12T12:55:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:55:48-04:00", - "2024-03-12T12:55:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:56:58-04:00", - "2024-03-12T12:57:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:57:46-04:00", - "2024-03-12T12:57:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:58:12-04:00", - "2024-03-12T12:58:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:58:37-04:00", - "2024-03-12T12:58:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:59:09-04:00", - "2024-03-12T12:59:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:59:33-04:00", - "2024-03-12T12:59:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:59:59-04:00", - "2024-03-12T13:00:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:00:23-04:00", - "2024-03-12T13:00:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:00:47-04:00", - "2024-03-12T13:00:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:01:14-04:00", - "2024-03-12T13:01:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:03:35-04:00", - "2024-03-12T13:03:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:04:01-04:00", - "2024-03-12T13:04:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:05:12-04:00", - "2024-03-12T13:05:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:05:36-04:00", - "2024-03-12T13:05:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:06:46-04:00", - "2024-03-12T13:06:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:07:11-04:00", - "2024-03-12T13:07:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:07:35-04:00", - "2024-03-12T13:07:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:08:26-04:00", - "2024-03-12T13:08:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:09:15-04:00", - "2024-03-12T13:09:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:10:02-04:00", - "2024-03-12T13:10:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:10:27-04:00", - "2024-03-12T13:10:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:10:56-04:00", - "2024-03-12T13:11:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:12:11-04:00", - "2024-03-12T13:12:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:12:36-04:00", - "2024-03-12T13:12:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:13:01-04:00", - "2024-03-12T13:13:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:14:01-04:00", - "2024-03-12T13:14:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:14:25-04:00", - "2024-03-12T13:14:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:16:00-04:00", - "2024-03-12T13:16:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:16:48-04:00", - "2024-03-12T13:16:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:17:19-04:00", - "2024-03-12T13:17:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:17:46-04:00", - "2024-03-12T13:17:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:18:11-04:00", - "2024-03-12T13:18:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:19:44-04:00", - "2024-03-12T13:19:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:20:08-04:00", - "2024-03-12T13:20:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:20:35-04:00", - "2024-03-12T13:20:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:21:00-04:00", - "2024-03-12T13:21:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:21:25-04:00", - "2024-03-12T13:21:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:23:00-04:00", - "2024-03-12T13:23:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:23:26-04:00", - "2024-03-12T13:23:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:25:23-04:00", - "2024-03-12T13:25:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:26:12-04:00", - "2024-03-12T13:26:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:26:41-04:00", - "2024-03-12T13:26:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:27:14-04:00", - "2024-03-12T13:27:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:27:38-04:00", - "2024-03-12T13:27:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:28:49-04:00", - "2024-03-12T13:28:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:29:40-04:00", - "2024-03-12T13:29:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:30:28-04:00", - "2024-03-12T13:30:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:31:15-04:00", - "2024-03-12T13:31:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:32:25-04:00", - "2024-03-12T13:32:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:33:26-04:00", - "2024-03-12T13:33:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:33:51-04:00", - "2024-03-12T13:33:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:34:16-04:00", - "2024-03-12T13:34:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:35:03-04:00", - "2024-03-12T13:35:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:35:32-04:00", - "2024-03-12T13:35:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:35:59-04:00", - "2024-03-12T13:36:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:38:18-04:00", - "2024-03-12T13:38:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:38:43-04:00", - "2024-03-12T13:38:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:39:36-04:00", - "2024-03-12T13:39:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:40:01-04:00", - "2024-03-12T13:40:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:40:51-04:00", - "2024-03-12T13:40:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:41:16-04:00", - "2024-03-12T13:41:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:41:40-04:00", - "2024-03-12T13:41:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:42:28-04:00", - "2024-03-12T13:42:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:42:57-04:00", - "2024-03-12T13:42:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:43:21-04:00", - "2024-03-12T13:43:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:43:46-04:00", - "2024-03-12T13:43:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:44:36-04:00", - "2024-03-12T13:44:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:45:03-04:00", - "2024-03-12T13:45:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:45:27-04:00", - "2024-03-12T13:45:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:45:51-04:00", - "2024-03-12T13:45:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:47:50-04:00", - "2024-03-12T13:47:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:48:37-04:00", - "2024-03-12T13:48:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:49:02-04:00", - "2024-03-12T13:49:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:49:49-04:00", - "2024-03-12T13:49:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:50:36-04:00", - "2024-03-12T13:50:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:51:01-04:00", - "2024-03-12T13:51:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:51:28-04:00", - "2024-03-12T13:51:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:51:54-04:00", - "2024-03-12T13:51:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:52:20-04:00", - "2024-03-12T13:52:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:52:45-04:00", - "2024-03-12T13:52:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:54:01-04:00", - "2024-03-12T13:54:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:55:17-04:00", - "2024-03-12T13:55:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:56:27-04:00", - "2024-03-12T13:56:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:56:51-04:00", - "2024-03-12T13:56:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:57:15-04:00", - "2024-03-12T13:57:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:57:40-04:00", - "2024-03-12T13:57:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:58:04-04:00", - "2024-03-12T13:58:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:58:28-04:00", - "2024-03-12T13:58:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:58:52-04:00", - "2024-03-12T13:58:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:59:39-04:00", - "2024-03-12T13:59:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:00:07-04:00", - "2024-03-12T14:00:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:00:31-04:00", - "2024-03-12T14:00:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:00:59-04:00", - "2024-03-12T14:01:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:01:24-04:00", - "2024-03-12T14:01:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:01:48-04:00", - "2024-03-12T14:01:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:02:12-04:00", - "2024-03-12T14:02:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:03:16-04:00", - "2024-03-12T14:03:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:04:03-04:00", - "2024-03-12T14:04:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:04:28-04:00", - "2024-03-12T14:04:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:05:16-04:00", - "2024-03-12T14:05:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:05:43-04:00", - "2024-03-12T14:05:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:06:53-04:00", - "2024-03-12T14:06:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:07:17-04:00", - "2024-03-12T14:07:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:07:42-04:00", - "2024-03-12T14:07:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:08:06-04:00", - "2024-03-12T14:08:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:08:54-04:00", - "2024-03-12T14:08:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:09:20-04:00", - "2024-03-12T14:09:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:09:44-04:00", - "2024-03-12T14:09:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:10:31-04:00", - "2024-03-12T14:10:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:11:20-04:00", - "2024-03-12T14:11:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:11:45-04:00", - "2024-03-12T14:11:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:12:11-04:00", - "2024-03-12T14:12:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:13:22-04:00", - "2024-03-12T14:13:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:14:40-04:00", - "2024-03-12T14:14:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:15:27-04:00", - "2024-03-12T14:15:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:16:15-04:00", - "2024-03-12T14:16:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:16:41-04:00", - "2024-03-12T14:16:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:17:08-04:00", - "2024-03-12T14:17:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:17:33-04:00", - "2024-03-12T14:17:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:18:44-04:00", - "2024-03-12T14:18:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:19:38-04:00", - "2024-03-12T14:19:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:20:04-04:00", - "2024-03-12T14:20:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:20:28-04:00", - "2024-03-12T14:20:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:21:38-04:00", - "2024-03-12T14:21:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:22:03-04:00", - "2024-03-12T14:22:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:22:27-04:00", - "2024-03-12T14:22:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:22:55-04:00", - "2024-03-12T14:23:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:23:48-04:00", - "2024-03-12T14:23:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:24:13-04:00", - "2024-03-12T14:24:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:26:57-04:00", - "2024-03-12T14:26:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:28:53-04:00", - "2024-03-12T14:28:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:29:17-04:00", - "2024-03-12T14:29:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:29:44-04:00", - "2024-03-12T14:29:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:30:13-04:00", - "2024-03-12T14:30:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:31:23-04:00", - "2024-03-12T14:31:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:32:10-04:00", - "2024-03-12T14:32:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:33:02-04:00", - "2024-03-12T14:33:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:33:37-04:00", - "2024-03-12T14:33:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:34:24-04:00", - "2024-03-12T14:34:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:34:50-04:00", - "2024-03-12T14:34:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:35:15-04:00", - "2024-03-12T14:35:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:35:42-04:00", - "2024-03-12T14:35:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:36:06-04:00", - "2024-03-12T14:36:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:36:40-04:00", - "2024-03-12T14:36:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:37:04-04:00", - "2024-03-12T14:37:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:37:28-04:00", - "2024-03-12T14:37:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:39:01-04:00", - "2024-03-12T14:39:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:39:25-04:00", - "2024-03-12T14:39:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:41:01-04:00", - "2024-03-12T14:41:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:41:25-04:00", - "2024-03-12T14:41:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:42:14-04:00", - "2024-03-12T14:42:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:42:39-04:00", - "2024-03-12T14:42:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:44:58-04:00", - "2024-03-12T14:45:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:46:11-04:00", - "2024-03-12T14:46:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:47:01-04:00", - "2024-03-12T14:47:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:48:12-04:00", - "2024-03-12T14:48:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:48:37-04:00", - "2024-03-12T14:48:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:49:08-04:00", - "2024-03-12T14:49:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:50:18-04:00", - "2024-03-12T14:50:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:51:58-04:00", - "2024-03-12T14:51:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:53:08-04:00", - "2024-03-12T14:53:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:53:47-04:00", - "2024-03-12T14:53:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:55:21-04:00", - "2024-03-12T14:55:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:56:08-04:00", - "2024-03-12T14:56:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:56:55-04:00", - "2024-03-12T14:56:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:57:22-04:00", - "2024-03-12T14:57:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:57:47-04:00", - "2024-03-12T14:57:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:58:39-04:00", - "2024-03-12T14:58:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:59:03-04:00", - "2024-03-12T14:59:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:59:51-04:00", - "2024-03-12T14:59:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:00:17-04:00", - "2024-03-12T15:00:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:00:43-04:00", - "2024-03-12T15:00:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:01:07-04:00", - "2024-03-12T15:01:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:01:56-04:00", - "2024-03-12T15:01:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:02:44-04:00", - "2024-03-12T15:02:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:03:33-04:00", - "2024-03-12T15:03:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:04:45-04:00", - "2024-03-12T15:04:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:05:10-04:00", - "2024-03-12T15:05:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:05:34-04:00", - "2024-03-12T15:05:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:06:21-04:00", - "2024-03-12T15:06:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:07:31-04:00", - "2024-03-12T15:07:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:08:19-04:00", - "2024-03-12T15:08:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:09:08-04:00", - "2024-03-12T15:09:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:09:32-04:00", - "2024-03-12T15:09:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:09:56-04:00", - "2024-03-12T15:09:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:10:20-04:00", - "2024-03-12T15:10:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:11:30-04:00", - "2024-03-12T15:11:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:12:40-04:00", - "2024-03-12T15:12:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:13:53-04:00", - "2024-03-12T15:13:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:16:12-04:00", - "2024-03-12T15:16:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:16:59-04:00", - "2024-03-12T15:17:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:17:23-04:00", - "2024-03-12T15:17:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:18:38-04:00", - "2024-03-12T15:18:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:19:25-04:00", - "2024-03-12T15:19:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:19:52-04:00", - "2024-03-12T15:19:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:20:40-04:00", - "2024-03-12T15:20:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:21:08-04:00", - "2024-03-12T15:21:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:23:06-04:00", - "2024-03-12T15:23:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:23:55-04:00", - "2024-03-12T15:24:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:24:23-04:00", - "2024-03-12T15:24:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:25:57-04:00", - "2024-03-12T15:25:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:26:21-04:00", - "2024-03-12T15:26:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:26:49-04:00", - "2024-03-12T15:26:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:27:38-04:00", - "2024-03-12T15:27:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:28:25-04:00", - "2024-03-12T15:28:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:29:40-04:00", - "2024-03-12T15:29:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:30:05-04:00", - "2024-03-12T15:30:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:30:52-04:00", - "2024-03-12T15:30:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:33:11-04:00", - "2024-03-12T15:33:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:33:37-04:00", - "2024-03-12T15:33:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:39:24-04:00", - "2024-03-12T15:39:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:39:48-04:00", - "2024-03-12T15:39:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:40:12-04:00", - "2024-03-12T15:40:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:40:36-04:00", - "2024-03-12T15:40:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:41:01-04:00", - "2024-03-12T15:41:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:42:36-04:00", - "2024-03-12T15:42:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:43:46-04:00", - "2024-03-12T15:43:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:44:34-04:00", - "2024-03-12T15:44:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:45:24-04:00", - "2024-03-12T15:45:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:45:48-04:00", - "2024-03-12T15:45:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:46:35-04:00", - "2024-03-12T15:46:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:48:54-04:00", - "2024-03-12T15:48:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:49:41-04:00", - "2024-03-12T15:49:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:50:30-04:00", - "2024-03-12T15:50:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:50:54-04:00", - "2024-03-12T15:50:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T16:00:07-04:00", - "2024-03-13T09:30:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:30:23-04:00", - "2024-03-13T09:30:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:31:10-04:00", - "2024-03-13T09:31:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:32:21-04:00", - "2024-03-13T09:32:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:35:26-04:00", - "2024-03-13T09:35:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:37:23-04:00", - "2024-03-13T09:37:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:38:10-04:00", - "2024-03-13T09:38:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:38:35-04:00", - "2024-03-13T09:38:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:40:54-04:00", - "2024-03-13T09:40:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:41:41-04:00", - "2024-03-13T09:41:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:47:53-04:00", - "2024-03-13T09:47:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:48:17-04:00", - "2024-03-13T09:48:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:52:55-04:00", - "2024-03-13T09:52:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:57:32-04:00", - "2024-03-13T09:57:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:57:56-04:00", - "2024-03-13T09:57:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:58:20-04:00", - "2024-03-13T09:58:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:59:53-04:00", - "2024-03-13T09:59:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:01:03-04:00", - "2024-03-13T10:01:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:09:30-04:00", - "2024-03-13T10:09:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:10:17-04:00", - "2024-03-13T10:10:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:10:42-04:00", - "2024-03-13T10:10:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:11:53-04:00", - "2024-03-13T10:11:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:12:17-04:00", - "2024-03-13T10:12:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:12:41-04:00", - "2024-03-13T10:12:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:14:14-04:00", - "2024-03-13T10:14:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:15:25-04:00", - "2024-03-13T10:15:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:18:53-04:00", - "2024-03-13T10:18:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:19:17-04:00", - "2024-03-13T10:19:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:19:43-04:00", - "2024-03-13T10:19:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:20:31-04:00", - "2024-03-13T10:20:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:21:41-04:00", - "2024-03-13T10:21:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:22:51-04:00", - "2024-03-13T10:22:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:24:25-04:00", - "2024-03-13T10:24:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:24:50-04:00", - "2024-03-13T10:24:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:26:23-04:00", - "2024-03-13T10:26:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:27:57-04:00", - "2024-03-13T10:27:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:28:45-04:00", - "2024-03-13T10:28:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:29:33-04:00", - "2024-03-13T10:29:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:29:58-04:00", - "2024-03-13T10:30:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:30:23-04:00", - "2024-03-13T10:30:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:31:33-04:00", - "2024-03-13T10:31:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:32:21-04:00", - "2024-03-13T10:32:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:33:08-04:00", - "2024-03-13T10:33:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:33:56-04:00", - "2024-03-13T10:34:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:34:23-04:00", - "2024-03-13T10:34:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:34:49-04:00", - "2024-03-13T10:34:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:36:22-04:00", - "2024-03-13T10:36:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:37:09-04:00", - "2024-03-13T10:37:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:38:42-04:00", - "2024-03-13T10:38:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:40:39-04:00", - "2024-03-13T10:40:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:41:49-04:00", - "2024-03-13T10:41:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:42:36-04:00", - "2024-03-13T10:42:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:43:46-04:00", - "2024-03-13T10:43:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:45:42-04:00", - "2024-03-13T10:45:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:47:40-04:00", - "2024-03-13T10:47:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:48:04-04:00", - "2024-03-13T10:48:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:49:38-04:00", - "2024-03-13T10:49:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:52:20-04:00", - "2024-03-13T10:52:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:56:57-04:00", - "2024-03-13T10:56:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:58:07-04:00", - "2024-03-13T10:58:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:01:12-04:00", - "2024-03-13T11:01:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:03:31-04:00", - "2024-03-13T11:03:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:03:55-04:00", - "2024-03-13T11:03:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:05:07-04:00", - "2024-03-13T11:05:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:05:56-04:00", - "2024-03-13T11:05:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:06:43-04:00", - "2024-03-13T11:06:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:09:26-04:00", - "2024-03-13T11:09:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:11:49-04:00", - "2024-03-13T11:11:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:13:23-04:00", - "2024-03-13T11:13:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:13:48-04:00", - "2024-03-13T11:13:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:14:37-04:00", - "2024-03-13T11:14:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:16:10-04:00", - "2024-03-13T11:16:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:18:07-04:00", - "2024-03-13T11:18:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:18:54-04:00", - "2024-03-13T11:18:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:19:43-04:00", - "2024-03-13T11:19:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:20:53-04:00", - "2024-03-13T11:20:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:21:41-04:00", - "2024-03-13T11:21:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:22:05-04:00", - "2024-03-13T11:22:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:23:22-04:00", - "2024-03-13T11:23:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:26:05-04:00", - "2024-03-13T11:26:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:26:53-04:00", - "2024-03-13T11:26:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:28:28-04:00", - "2024-03-13T11:28:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:30:48-04:00", - "2024-03-13T11:30:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:33:32-04:00", - "2024-03-13T11:33:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:38:36-04:00", - "2024-03-13T11:38:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:48:12-04:00", - "2024-03-13T11:48:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:48:36-04:00", - "2024-03-13T11:48:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:50:55-04:00", - "2024-03-13T11:50:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:53:40-04:00", - "2024-03-13T11:53:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:54:27-04:00", - "2024-03-13T11:54:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:54:52-04:00", - "2024-03-13T11:54:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:56:02-04:00", - "2024-03-13T11:56:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:56:49-04:00", - "2024-03-13T11:56:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:59:31-04:00", - "2024-03-13T11:59:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:03:22-04:00", - "2024-03-13T12:03:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:03:46-04:00", - "2024-03-13T12:03:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:05:19-04:00", - "2024-03-13T12:05:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:06:06-04:00", - "2024-03-13T12:06:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:07:16-04:00", - "2024-03-13T12:07:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:07:40-04:00", - "2024-03-13T12:07:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:10:23-04:00", - "2024-03-13T12:10:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:11:34-04:00", - "2024-03-13T12:11:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:11:58-04:00", - "2024-03-13T12:12:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:13:11-04:00", - "2024-03-13T12:13:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:13:37-04:00", - "2024-03-13T12:13:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:14:01-04:00", - "2024-03-13T12:14:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:18:38-04:00", - "2024-03-13T12:18:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:19:25-04:00", - "2024-03-13T12:19:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:21:01-04:00", - "2024-03-13T12:21:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:22:12-04:00", - "2024-03-13T12:22:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:23:00-04:00", - "2024-03-13T12:23:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:24:36-04:00", - "2024-03-13T12:24:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:25:46-04:00", - "2024-03-13T12:25:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:26:10-04:00", - "2024-03-13T12:26:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:27:20-04:00", - "2024-03-13T12:27:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:29:39-04:00", - "2024-03-13T12:29:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:30:49-04:00", - "2024-03-13T12:30:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:34:18-04:00", - "2024-03-13T12:34:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:36:14-04:00", - "2024-03-13T12:36:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:37:02-04:00", - "2024-03-13T12:37:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:37:27-04:00", - "2024-03-13T12:37:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:37:51-04:00", - "2024-03-13T12:37:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:39:47-04:00", - "2024-03-13T12:39:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:42:06-04:00", - "2024-03-13T12:42:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:46:43-04:00", - "2024-03-13T12:46:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:47:36-04:00", - "2024-03-13T12:47:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:51:27-04:00", - "2024-03-13T12:51:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:51:52-04:00", - "2024-03-13T12:51:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:52:39-04:00", - "2024-03-13T12:52:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:53:03-04:00", - "2024-03-13T12:53:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:54:13-04:00", - "2024-03-13T12:54:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:58:04-04:00", - "2024-03-13T12:58:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:00:26-04:00", - "2024-03-13T13:00:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:04:17-04:00", - "2024-03-13T13:04:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:04:42-04:00", - "2024-03-13T13:04:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:05:07-04:00", - "2024-03-13T13:05:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:05:55-04:00", - "2024-03-13T13:05:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:07:05-04:00", - "2024-03-13T13:07:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:07:29-04:00", - "2024-03-13T13:07:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:09:02-04:00", - "2024-03-13T13:09:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:09:26-04:00", - "2024-03-13T13:09:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:09:50-04:00", - "2024-03-13T13:09:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:10:37-04:00", - "2024-03-13T13:10:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:11:25-04:00", - "2024-03-13T13:11:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:12:35-04:00", - "2024-03-13T13:12:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:12:59-04:00", - "2024-03-13T13:13:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:13:27-04:00", - "2024-03-13T13:13:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:14:14-04:00", - "2024-03-13T13:14:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:15:24-04:00", - "2024-03-13T13:15:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:18:30-04:00", - "2024-03-13T13:18:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:18:54-04:00", - "2024-03-13T13:18:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:19:19-04:00", - "2024-03-13T13:19:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:19:45-04:00", - "2024-03-13T13:19:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:20:09-04:00", - "2024-03-13T13:20:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:20:34-04:00", - "2024-03-13T13:20:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:21:24-04:00", - "2024-03-13T13:21:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:21:48-04:00", - "2024-03-13T13:21:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:22:12-04:00", - "2024-03-13T13:22:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:22:39-04:00", - "2024-03-13T13:22:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:23:03-04:00", - "2024-03-13T13:23:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:24:59-04:00", - "2024-03-13T13:25:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:27:19-04:00", - "2024-03-13T13:27:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:28:52-04:00", - "2024-03-13T13:28:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:29:16-04:00", - "2024-03-13T13:29:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:29:40-04:00", - "2024-03-13T13:29:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:30:05-04:00", - "2024-03-13T13:30:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:30:29-04:00", - "2024-03-13T13:30:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:31:16-04:00", - "2024-03-13T13:31:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:31:40-04:00", - "2024-03-13T13:31:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:32:04-04:00", - "2024-03-13T13:32:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:36:20-04:00", - "2024-03-13T13:36:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:36:47-04:00", - "2024-03-13T13:36:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:38:01-04:00", - "2024-03-13T13:38:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:38:25-04:00", - "2024-03-13T13:38:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:38:50-04:00", - "2024-03-13T13:38:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:39:14-04:00", - "2024-03-13T13:39:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:39:42-04:00", - "2024-03-13T13:39:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:42:02-04:00", - "2024-03-13T13:42:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:42:27-04:00", - "2024-03-13T13:42:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:44:01-04:00", - "2024-03-13T13:44:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:44:25-04:00", - "2024-03-13T13:44:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:47:07-04:00", - "2024-03-13T13:47:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:47:31-04:00", - "2024-03-13T13:47:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:48:20-04:00", - "2024-03-13T13:48:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:50:16-04:00", - "2024-03-13T13:50:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:55:17-04:00", - "2024-03-13T13:55:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:55:42-04:00", - "2024-03-13T13:55:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:58:24-04:00", - "2024-03-13T13:58:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:59:11-04:00", - "2024-03-13T13:59:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:00:21-04:00", - "2024-03-13T14:00:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:00:46-04:00", - "2024-03-13T14:00:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:01:11-04:00", - "2024-03-13T14:01:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:01:35-04:00", - "2024-03-13T14:01:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:01:59-04:00", - "2024-03-13T14:02:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:02:47-04:00", - "2024-03-13T14:02:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:03:14-04:00", - "2024-03-13T14:03:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:04:01-04:00", - "2024-03-13T14:04:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:04:25-04:00", - "2024-03-13T14:04:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:05:38-04:00", - "2024-03-13T14:05:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:06:02-04:00", - "2024-03-13T14:06:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:06:28-04:00", - "2024-03-13T14:06:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:07:19-04:00", - "2024-03-13T14:07:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:07:44-04:00", - "2024-03-13T14:07:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:08:13-04:00", - "2024-03-13T14:08:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:09:00-04:00", - "2024-03-13T14:09:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:09:26-04:00", - "2024-03-13T14:09:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:10:16-04:00", - "2024-03-13T14:10:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:10:42-04:00", - "2024-03-13T14:10:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:11:29-04:00", - "2024-03-13T14:11:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:12:40-04:00", - "2024-03-13T14:12:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:13:04-04:00", - "2024-03-13T14:13:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:14:37-04:00", - "2024-03-13T14:14:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:15:02-04:00", - "2024-03-13T14:15:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:17:44-04:00", - "2024-03-13T14:17:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:18:33-04:00", - "2024-03-13T14:18:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:18:58-04:00", - "2024-03-13T14:19:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:19:48-04:00", - "2024-03-13T14:19:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:20:36-04:00", - "2024-03-13T14:20:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:22:56-04:00", - "2024-03-13T14:22:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:23:44-04:00", - "2024-03-13T14:23:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:24:08-04:00", - "2024-03-13T14:24:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:24:57-04:00", - "2024-03-13T14:24:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:27:39-04:00", - "2024-03-13T14:27:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:28:04-04:00", - "2024-03-13T14:28:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:28:28-04:00", - "2024-03-13T14:28:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:29:38-04:00", - "2024-03-13T14:29:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:30:25-04:00", - "2024-03-13T14:30:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:30:51-04:00", - "2024-03-13T14:30:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:31:16-04:00", - "2024-03-13T14:31:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:32:26-04:00", - "2024-03-13T14:32:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:32:50-04:00", - "2024-03-13T14:32:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:33:38-04:00", - "2024-03-13T14:33:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:34:26-04:00", - "2024-03-13T14:34:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:34:51-04:00", - "2024-03-13T14:34:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:35:38-04:00", - "2024-03-13T14:35:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:37:11-04:00", - "2024-03-13T14:37:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:37:58-04:00", - "2024-03-13T14:37:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:39:31-04:00", - "2024-03-13T14:39:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:39:56-04:00", - "2024-03-13T14:39:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:41:29-04:00", - "2024-03-13T14:41:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:41:53-04:00", - "2024-03-13T14:41:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:42:19-04:00", - "2024-03-13T14:42:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:44:39-04:00", - "2024-03-13T14:44:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:45:03-04:00", - "2024-03-13T14:45:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:45:27-04:00", - "2024-03-13T14:45:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:46:15-04:00", - "2024-03-13T14:46:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:46:39-04:00", - "2024-03-13T14:46:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:47:26-04:00", - "2024-03-13T14:47:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:47:51-04:00", - "2024-03-13T14:47:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:48:16-04:00", - "2024-03-13T14:48:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:49:52-04:00", - "2024-03-13T14:49:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:51:25-04:00", - "2024-03-13T14:51:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:52:37-04:00", - "2024-03-13T14:52:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:53:25-04:00", - "2024-03-13T14:53:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:55:00-04:00", - "2024-03-13T14:55:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:56:59-04:00", - "2024-03-13T14:57:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:57:46-04:00", - "2024-03-13T14:57:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:59:19-04:00", - "2024-03-13T14:59:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:00:06-04:00", - "2024-03-13T15:00:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:00:54-04:00", - "2024-03-13T15:00:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:01:22-04:00", - "2024-03-13T15:01:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:02:32-04:00", - "2024-03-13T15:02:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:02:59-04:00", - "2024-03-13T15:03:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:03:26-04:00", - "2024-03-13T15:03:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:03:51-04:00", - "2024-03-13T15:04:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:04:24-04:00", - "2024-03-13T15:04:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:04:50-04:00", - "2024-03-13T15:04:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:05:38-04:00", - "2024-03-13T15:05:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:06:49-04:00", - "2024-03-13T15:06:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:07:18-04:00", - "2024-03-13T15:07:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:10:23-04:00", - "2024-03-13T15:10:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:11:10-04:00", - "2024-03-13T15:11:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:13:06-04:00", - "2024-03-13T15:13:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:13:54-04:00", - "2024-03-13T15:13:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:14:18-04:00", - "2024-03-13T15:14:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:14:42-04:00", - "2024-03-13T15:14:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:15:52-04:00", - "2024-03-13T15:15:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:16:17-04:00", - "2024-03-13T15:16:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:16:41-04:00", - "2024-03-13T15:16:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:17:51-04:00", - "2024-03-13T15:17:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:19:01-04:00", - "2024-03-13T15:19:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:19:48-04:00", - "2024-03-13T15:19:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:20:36-04:00", - "2024-03-13T15:20:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:22:09-04:00", - "2024-03-13T15:22:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:24:05-04:00", - "2024-03-13T15:24:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:26:01-04:00", - "2024-03-13T15:26:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:26:48-04:00", - "2024-03-13T15:26:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:27:35-04:00", - "2024-03-13T15:27:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:27:59-04:00", - "2024-03-13T15:28:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:29:32-04:00", - "2024-03-13T15:29:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:29:56-04:00", - "2024-03-13T15:29:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:32:15-04:00", - "2024-03-13T15:32:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:33:03-04:00", - "2024-03-13T15:33:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:34:36-04:00", - "2024-03-13T15:34:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:35:23-04:00", - "2024-03-13T15:35:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:38:05-04:00", - "2024-03-13T15:38:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:38:29-04:00", - "2024-03-13T15:38:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:38:53-04:00", - "2024-03-13T15:38:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:40:49-04:00", - "2024-03-13T15:40:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:41:13-04:00", - "2024-03-13T15:41:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:42:23-04:00", - "2024-03-13T15:42:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:42:48-04:00", - "2024-03-13T15:42:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:43:35-04:00", - "2024-03-13T15:43:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:43:59-04:00", - "2024-03-13T15:44:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:45:09-04:00", - "2024-03-13T15:45:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:46:20-04:00", - "2024-03-13T15:46:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:49:02-04:00", - "2024-03-13T15:49:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:49:49-04:00", - "2024-03-13T15:49:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:52:08-04:00", - "2024-03-13T15:52:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:54:04-04:00", - "2024-03-13T15:54:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:55:37-04:00", - "2024-03-13T15:55:38-04:00" - ] - } - ], - "rangeslider": { - "visible": false - }, - "showgrid": true, - "showticklabels": false - }, - "xaxis2": { - "anchor": "y2", - "domain": [ - 0, - 1 - ], - "rangebreaks": [ - { - "bounds": [ - "2024-03-12T09:30:46-04:00", - "2024-03-12T09:30:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:31:10-04:00", - "2024-03-12T09:31:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:31:57-04:00", - "2024-03-12T09:32:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:33:32-04:00", - "2024-03-12T09:33:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:33:57-04:00", - "2024-03-12T09:33:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:34:44-04:00", - "2024-03-12T09:34:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:36:17-04:00", - "2024-03-12T09:36:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:36:41-04:00", - "2024-03-12T09:36:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:37:05-04:00", - "2024-03-12T09:37:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:41:19-04:00", - "2024-03-12T09:41:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:41:44-04:00", - "2024-03-12T09:41:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:43:17-04:00", - "2024-03-12T09:43:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:44:50-04:00", - "2024-03-12T09:44:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:47:33-04:00", - "2024-03-12T09:47:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:47:57-04:00", - "2024-03-12T09:47:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:48:21-04:00", - "2024-03-12T09:48:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:49:31-04:00", - "2024-03-12T09:49:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:49:55-04:00", - "2024-03-12T09:49:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:51:51-04:00", - "2024-03-12T09:51:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:52:39-04:00", - "2024-03-12T09:52:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:53:49-04:00", - "2024-03-12T09:53:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:55:45-04:00", - "2024-03-12T09:55:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:56:32-04:00", - "2024-03-12T09:56:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:58:05-04:00", - "2024-03-12T09:58:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:59:38-04:00", - "2024-03-12T09:59:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:00:02-04:00", - "2024-03-12T10:00:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:00:50-04:00", - "2024-03-12T10:00:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:02:23-04:00", - "2024-03-12T10:02:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:03:56-04:00", - "2024-03-12T10:03:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:04:43-04:00", - "2024-03-12T10:04:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:05:08-04:00", - "2024-03-12T10:05:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:05:32-04:00", - "2024-03-12T10:05:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:09:46-04:00", - "2024-03-12T10:09:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:10:57-04:00", - "2024-03-12T10:10:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:14:26-04:00", - "2024-03-12T10:14:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:18:40-04:00", - "2024-03-12T10:18:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:19:52-04:00", - "2024-03-12T10:19:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:25:16-04:00", - "2024-03-12T10:25:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:26:03-04:00", - "2024-03-12T10:26:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:29:08-04:00", - "2024-03-12T10:29:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:31:50-04:00", - "2024-03-12T10:31:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:33:00-04:00", - "2024-03-12T10:33:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:35:42-04:00", - "2024-03-12T10:35:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:39:34-04:00", - "2024-03-12T10:39:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:41:07-04:00", - "2024-03-12T10:41:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:41:31-04:00", - "2024-03-12T10:41:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:43:04-04:00", - "2024-03-12T10:43:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:43:51-04:00", - "2024-03-12T10:43:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:44:16-04:00", - "2024-03-12T10:44:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:46:36-04:00", - "2024-03-12T10:46:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:47:00-04:00", - "2024-03-12T10:47:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:47:47-04:00", - "2024-03-12T10:47:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:48:58-04:00", - "2024-03-12T10:49:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:49:23-04:00", - "2024-03-12T10:49:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:49:50-04:00", - "2024-03-12T10:49:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:50:15-04:00", - "2024-03-12T10:50:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:51:04-04:00", - "2024-03-12T10:51:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:51:29-04:00", - "2024-03-12T10:51:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:52:16-04:00", - "2024-03-12T10:52:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:53:07-04:00", - "2024-03-12T10:53:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:53:33-04:00", - "2024-03-12T10:53:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:53:59-04:00", - "2024-03-12T10:54:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:54:23-04:00", - "2024-03-12T10:54:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:54:47-04:00", - "2024-03-12T10:54:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:55:11-04:00", - "2024-03-12T10:55:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:56:44-04:00", - "2024-03-12T10:56:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:57:32-04:00", - "2024-03-12T10:57:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:58:42-04:00", - "2024-03-12T10:58:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:59:29-04:00", - "2024-03-12T10:59:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:01:03-04:00", - "2024-03-12T11:01:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:01:27-04:00", - "2024-03-12T11:01:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:02:37-04:00", - "2024-03-12T11:02:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:03:02-04:00", - "2024-03-12T11:03:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:03:26-04:00", - "2024-03-12T11:03:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:04:36-04:00", - "2024-03-12T11:04:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:05:00-04:00", - "2024-03-12T11:05:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:05:47-04:00", - "2024-03-12T11:05:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:06:34-04:00", - "2024-03-12T11:06:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:08:55-04:00", - "2024-03-12T11:08:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:09:20-04:00", - "2024-03-12T11:09:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:10:07-04:00", - "2024-03-12T11:10:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:11:18-04:00", - "2024-03-12T11:11:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:11:42-04:00", - "2024-03-12T11:11:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:13:22-04:00", - "2024-03-12T11:13:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:13:47-04:00", - "2024-03-12T11:13:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:16:06-04:00", - "2024-03-12T11:16:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:16:30-04:00", - "2024-03-12T11:16:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:16:54-04:00", - "2024-03-12T11:16:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:17:19-04:00", - "2024-03-12T11:17:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:17:44-04:00", - "2024-03-12T11:17:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:18:54-04:00", - "2024-03-12T11:18:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:19:19-04:00", - "2024-03-12T11:19:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:20:09-04:00", - "2024-03-12T11:20:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:21:04-04:00", - "2024-03-12T11:21:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:21:28-04:00", - "2024-03-12T11:21:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:21:52-04:00", - "2024-03-12T11:21:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:22:16-04:00", - "2024-03-12T11:22:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:22:42-04:00", - "2024-03-12T11:22:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:23:29-04:00", - "2024-03-12T11:23:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:24:19-04:00", - "2024-03-12T11:24:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:24:43-04:00", - "2024-03-12T11:24:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:25:31-04:00", - "2024-03-12T11:25:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:27:04-04:00", - "2024-03-12T11:27:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:27:34-04:00", - "2024-03-12T11:27:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:28:21-04:00", - "2024-03-12T11:28:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:28:47-04:00", - "2024-03-12T11:28:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:29:35-04:00", - "2024-03-12T11:29:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:30:00-04:00", - "2024-03-12T11:30:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:31:56-04:00", - "2024-03-12T11:32:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:33:09-04:00", - "2024-03-12T11:33:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:33:34-04:00", - "2024-03-12T11:33:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:33:58-04:00", - "2024-03-12T11:34:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:34:30-04:00", - "2024-03-12T11:34:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:35:04-04:00", - "2024-03-12T11:35:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:35:28-04:00", - "2024-03-12T11:35:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:36:15-04:00", - "2024-03-12T11:36:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:37:26-04:00", - "2024-03-12T11:37:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:37:52-04:00", - "2024-03-12T11:37:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:38:16-04:00", - "2024-03-12T11:38:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:38:43-04:00", - "2024-03-12T11:38:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:39:31-04:00", - "2024-03-12T11:39:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:39:55-04:00", - "2024-03-12T11:39:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:40:19-04:00", - "2024-03-12T11:40:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:41:06-04:00", - "2024-03-12T11:41:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:41:30-04:00", - "2024-03-12T11:41:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:41:54-04:00", - "2024-03-12T11:41:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:42:18-04:00", - "2024-03-12T11:42:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:42:44-04:00", - "2024-03-12T11:42:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:43:32-04:00", - "2024-03-12T11:43:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:44:22-04:00", - "2024-03-12T11:44:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:45:13-04:00", - "2024-03-12T11:45:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:45:37-04:00", - "2024-03-12T11:45:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:47:35-04:00", - "2024-03-12T11:47:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:49:08-04:00", - "2024-03-12T11:49:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:49:32-04:00", - "2024-03-12T11:49:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:50:20-04:00", - "2024-03-12T11:50:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:51:34-04:00", - "2024-03-12T11:51:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:52:03-04:00", - "2024-03-12T11:52:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:52:27-04:00", - "2024-03-12T11:52:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:52:52-04:00", - "2024-03-12T11:52:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:54:03-04:00", - "2024-03-12T11:54:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:54:56-04:00", - "2024-03-12T11:54:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:55:20-04:00", - "2024-03-12T11:55:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:56:44-04:00", - "2024-03-12T11:56:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:57:08-04:00", - "2024-03-12T11:57:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:57:56-04:00", - "2024-03-12T11:58:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:59:32-04:00", - "2024-03-12T11:59:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:59:57-04:00", - "2024-03-12T11:59:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:00:21-04:00", - "2024-03-12T12:00:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:01:34-04:00", - "2024-03-12T12:01:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:02:47-04:00", - "2024-03-12T12:02:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:03:13-04:00", - "2024-03-12T12:03:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:03:39-04:00", - "2024-03-12T12:03:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:04:04-04:00", - "2024-03-12T12:04:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:04:28-04:00", - "2024-03-12T12:04:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:04:52-04:00", - "2024-03-12T12:04:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:05:16-04:00", - "2024-03-12T12:05:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:05:47-04:00", - "2024-03-12T12:05:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:06:15-04:00", - "2024-03-12T12:06:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:07:25-04:00", - "2024-03-12T12:07:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:07:56-04:00", - "2024-03-12T12:08:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:08:46-04:00", - "2024-03-12T12:08:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:10:23-04:00", - "2024-03-12T12:10:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:10:49-04:00", - "2024-03-12T12:10:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:11:18-04:00", - "2024-03-12T12:11:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:12:52-04:00", - "2024-03-12T12:12:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:13:17-04:00", - "2024-03-12T12:13:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:14:05-04:00", - "2024-03-12T12:14:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:15:24-04:00", - "2024-03-12T12:15:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:15:48-04:00", - "2024-03-12T12:15:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:16:12-04:00", - "2024-03-12T12:16:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:16:36-04:00", - "2024-03-12T12:16:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:17:24-04:00", - "2024-03-12T12:17:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:17:50-04:00", - "2024-03-12T12:17:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:18:38-04:00", - "2024-03-12T12:18:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:19:06-04:00", - "2024-03-12T12:19:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:19:53-04:00", - "2024-03-12T12:19:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:21:03-04:00", - "2024-03-12T12:21:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:21:29-04:00", - "2024-03-12T12:21:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:21:54-04:00", - "2024-03-12T12:22:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:22:30-04:00", - "2024-03-12T12:22:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:23:45-04:00", - "2024-03-12T12:23:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:24:32-04:00", - "2024-03-12T12:24:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:24:56-04:00", - "2024-03-12T12:24:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:25:44-04:00", - "2024-03-12T12:25:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:26:09-04:00", - "2024-03-12T12:26:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:26:35-04:00", - "2024-03-12T12:26:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:26:59-04:00", - "2024-03-12T12:27:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:27:30-04:00", - "2024-03-12T12:27:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:27:54-04:00", - "2024-03-12T12:27:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:28:19-04:00", - "2024-03-12T12:28:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:28:43-04:00", - "2024-03-12T12:28:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:29:31-04:00", - "2024-03-12T12:29:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:29:57-04:00", - "2024-03-12T12:30:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:30:25-04:00", - "2024-03-12T12:30:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:30:50-04:00", - "2024-03-12T12:30:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:31:15-04:00", - "2024-03-12T12:31:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:32:02-04:00", - "2024-03-12T12:32:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:32:27-04:00", - "2024-03-12T12:32:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:32:53-04:00", - "2024-03-12T12:32:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:33:40-04:00", - "2024-03-12T12:33:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:34:06-04:00", - "2024-03-12T12:34:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:34:30-04:00", - "2024-03-12T12:34:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:35:40-04:00", - "2024-03-12T12:35:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:36:29-04:00", - "2024-03-12T12:36:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:37:40-04:00", - "2024-03-12T12:37:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:38:27-04:00", - "2024-03-12T12:38:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:38:51-04:00", - "2024-03-12T12:38:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:39:15-04:00", - "2024-03-12T12:39:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:39:39-04:00", - "2024-03-12T12:39:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:40:05-04:00", - "2024-03-12T12:40:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:40:29-04:00", - "2024-03-12T12:40:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:41:39-04:00", - "2024-03-12T12:41:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:43:36-04:00", - "2024-03-12T12:43:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:44:25-04:00", - "2024-03-12T12:44:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:44:52-04:00", - "2024-03-12T12:44:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:45:40-04:00", - "2024-03-12T12:45:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:46:27-04:00", - "2024-03-12T12:46:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:47:14-04:00", - "2024-03-12T12:47:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:47:38-04:00", - "2024-03-12T12:47:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:48:02-04:00", - "2024-03-12T12:48:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:48:26-04:00", - "2024-03-12T12:48:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:48:52-04:00", - "2024-03-12T12:48:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:49:19-04:00", - "2024-03-12T12:49:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:50:07-04:00", - "2024-03-12T12:50:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:50:31-04:00", - "2024-03-12T12:50:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:50:55-04:00", - "2024-03-12T12:51:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:51:29-04:00", - "2024-03-12T12:51:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:53:26-04:00", - "2024-03-12T12:53:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:53:51-04:00", - "2024-03-12T12:53:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:55:24-04:00", - "2024-03-12T12:55:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:55:48-04:00", - "2024-03-12T12:55:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:56:58-04:00", - "2024-03-12T12:57:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:57:46-04:00", - "2024-03-12T12:57:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:58:12-04:00", - "2024-03-12T12:58:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:58:37-04:00", - "2024-03-12T12:58:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:59:09-04:00", - "2024-03-12T12:59:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:59:33-04:00", - "2024-03-12T12:59:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:59:59-04:00", - "2024-03-12T13:00:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:00:23-04:00", - "2024-03-12T13:00:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:00:47-04:00", - "2024-03-12T13:00:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:01:14-04:00", - "2024-03-12T13:01:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:03:35-04:00", - "2024-03-12T13:03:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:04:01-04:00", - "2024-03-12T13:04:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:05:12-04:00", - "2024-03-12T13:05:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:05:36-04:00", - "2024-03-12T13:05:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:06:46-04:00", - "2024-03-12T13:06:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:07:11-04:00", - "2024-03-12T13:07:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:07:35-04:00", - "2024-03-12T13:07:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:08:26-04:00", - "2024-03-12T13:08:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:09:15-04:00", - "2024-03-12T13:09:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:10:02-04:00", - "2024-03-12T13:10:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:10:27-04:00", - "2024-03-12T13:10:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:10:56-04:00", - "2024-03-12T13:11:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:12:11-04:00", - "2024-03-12T13:12:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:12:36-04:00", - "2024-03-12T13:12:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:13:01-04:00", - "2024-03-12T13:13:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:14:01-04:00", - "2024-03-12T13:14:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:14:25-04:00", - "2024-03-12T13:14:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:16:00-04:00", - "2024-03-12T13:16:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:16:48-04:00", - "2024-03-12T13:16:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:17:19-04:00", - "2024-03-12T13:17:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:17:46-04:00", - "2024-03-12T13:17:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:18:11-04:00", - "2024-03-12T13:18:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:19:44-04:00", - "2024-03-12T13:19:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:20:08-04:00", - "2024-03-12T13:20:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:20:35-04:00", - "2024-03-12T13:20:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:21:00-04:00", - "2024-03-12T13:21:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:21:25-04:00", - "2024-03-12T13:21:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:23:00-04:00", - "2024-03-12T13:23:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:23:26-04:00", - "2024-03-12T13:23:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:25:23-04:00", - "2024-03-12T13:25:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:26:12-04:00", - "2024-03-12T13:26:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:26:41-04:00", - "2024-03-12T13:26:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:27:14-04:00", - "2024-03-12T13:27:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:27:38-04:00", - "2024-03-12T13:27:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:28:49-04:00", - "2024-03-12T13:28:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:29:40-04:00", - "2024-03-12T13:29:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:30:28-04:00", - "2024-03-12T13:30:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:31:15-04:00", - "2024-03-12T13:31:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:32:25-04:00", - "2024-03-12T13:32:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:33:26-04:00", - "2024-03-12T13:33:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:33:51-04:00", - "2024-03-12T13:33:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:34:16-04:00", - "2024-03-12T13:34:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:35:03-04:00", - "2024-03-12T13:35:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:35:32-04:00", - "2024-03-12T13:35:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:35:59-04:00", - "2024-03-12T13:36:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:38:18-04:00", - "2024-03-12T13:38:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:38:43-04:00", - "2024-03-12T13:38:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:39:36-04:00", - "2024-03-12T13:39:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:40:01-04:00", - "2024-03-12T13:40:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:40:51-04:00", - "2024-03-12T13:40:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:41:16-04:00", - "2024-03-12T13:41:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:41:40-04:00", - "2024-03-12T13:41:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:42:28-04:00", - "2024-03-12T13:42:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:42:57-04:00", - "2024-03-12T13:42:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:43:21-04:00", - "2024-03-12T13:43:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:43:46-04:00", - "2024-03-12T13:43:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:44:36-04:00", - "2024-03-12T13:44:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:45:03-04:00", - "2024-03-12T13:45:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:45:27-04:00", - "2024-03-12T13:45:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:45:51-04:00", - "2024-03-12T13:45:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:47:50-04:00", - "2024-03-12T13:47:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:48:37-04:00", - "2024-03-12T13:48:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:49:02-04:00", - "2024-03-12T13:49:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:49:49-04:00", - "2024-03-12T13:49:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:50:36-04:00", - "2024-03-12T13:50:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:51:01-04:00", - "2024-03-12T13:51:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:51:28-04:00", - "2024-03-12T13:51:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:51:54-04:00", - "2024-03-12T13:51:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:52:20-04:00", - "2024-03-12T13:52:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:52:45-04:00", - "2024-03-12T13:52:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:54:01-04:00", - "2024-03-12T13:54:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:55:17-04:00", - "2024-03-12T13:55:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:56:27-04:00", - "2024-03-12T13:56:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:56:51-04:00", - "2024-03-12T13:56:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:57:15-04:00", - "2024-03-12T13:57:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:57:40-04:00", - "2024-03-12T13:57:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:58:04-04:00", - "2024-03-12T13:58:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:58:28-04:00", - "2024-03-12T13:58:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:58:52-04:00", - "2024-03-12T13:58:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:59:39-04:00", - "2024-03-12T13:59:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:00:07-04:00", - "2024-03-12T14:00:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:00:31-04:00", - "2024-03-12T14:00:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:00:59-04:00", - "2024-03-12T14:01:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:01:24-04:00", - "2024-03-12T14:01:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:01:48-04:00", - "2024-03-12T14:01:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:02:12-04:00", - "2024-03-12T14:02:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:03:16-04:00", - "2024-03-12T14:03:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:04:03-04:00", - "2024-03-12T14:04:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:04:28-04:00", - "2024-03-12T14:04:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:05:16-04:00", - "2024-03-12T14:05:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:05:43-04:00", - "2024-03-12T14:05:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:06:53-04:00", - "2024-03-12T14:06:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:07:17-04:00", - "2024-03-12T14:07:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:07:42-04:00", - "2024-03-12T14:07:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:08:06-04:00", - "2024-03-12T14:08:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:08:54-04:00", - "2024-03-12T14:08:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:09:20-04:00", - "2024-03-12T14:09:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:09:44-04:00", - "2024-03-12T14:09:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:10:31-04:00", - "2024-03-12T14:10:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:11:20-04:00", - "2024-03-12T14:11:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:11:45-04:00", - "2024-03-12T14:11:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:12:11-04:00", - "2024-03-12T14:12:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:13:22-04:00", - "2024-03-12T14:13:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:14:40-04:00", - "2024-03-12T14:14:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:15:27-04:00", - "2024-03-12T14:15:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:16:15-04:00", - "2024-03-12T14:16:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:16:41-04:00", - "2024-03-12T14:16:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:17:08-04:00", - "2024-03-12T14:17:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:17:33-04:00", - "2024-03-12T14:17:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:18:44-04:00", - "2024-03-12T14:18:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:19:38-04:00", - "2024-03-12T14:19:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:20:04-04:00", - "2024-03-12T14:20:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:20:28-04:00", - "2024-03-12T14:20:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:21:38-04:00", - "2024-03-12T14:21:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:22:03-04:00", - "2024-03-12T14:22:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:22:27-04:00", - "2024-03-12T14:22:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:22:55-04:00", - "2024-03-12T14:23:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:23:48-04:00", - "2024-03-12T14:23:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:24:13-04:00", - "2024-03-12T14:24:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:26:57-04:00", - "2024-03-12T14:26:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:28:53-04:00", - "2024-03-12T14:28:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:29:17-04:00", - "2024-03-12T14:29:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:29:44-04:00", - "2024-03-12T14:29:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:30:13-04:00", - "2024-03-12T14:30:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:31:23-04:00", - "2024-03-12T14:31:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:32:10-04:00", - "2024-03-12T14:32:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:33:02-04:00", - "2024-03-12T14:33:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:33:37-04:00", - "2024-03-12T14:33:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:34:24-04:00", - "2024-03-12T14:34:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:34:50-04:00", - "2024-03-12T14:34:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:35:15-04:00", - "2024-03-12T14:35:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:35:42-04:00", - "2024-03-12T14:35:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:36:06-04:00", - "2024-03-12T14:36:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:36:40-04:00", - "2024-03-12T14:36:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:37:04-04:00", - "2024-03-12T14:37:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:37:28-04:00", - "2024-03-12T14:37:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:39:01-04:00", - "2024-03-12T14:39:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:39:25-04:00", - "2024-03-12T14:39:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:41:01-04:00", - "2024-03-12T14:41:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:41:25-04:00", - "2024-03-12T14:41:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:42:14-04:00", - "2024-03-12T14:42:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:42:39-04:00", - "2024-03-12T14:42:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:44:58-04:00", - "2024-03-12T14:45:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:46:11-04:00", - "2024-03-12T14:46:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:47:01-04:00", - "2024-03-12T14:47:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:48:12-04:00", - "2024-03-12T14:48:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:48:37-04:00", - "2024-03-12T14:48:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:49:08-04:00", - "2024-03-12T14:49:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:50:18-04:00", - "2024-03-12T14:50:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:51:58-04:00", - "2024-03-12T14:51:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:53:08-04:00", - "2024-03-12T14:53:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:53:47-04:00", - "2024-03-12T14:53:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:55:21-04:00", - "2024-03-12T14:55:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:56:08-04:00", - "2024-03-12T14:56:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:56:55-04:00", - "2024-03-12T14:56:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:57:22-04:00", - "2024-03-12T14:57:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:57:47-04:00", - "2024-03-12T14:57:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:58:39-04:00", - "2024-03-12T14:58:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:59:03-04:00", - "2024-03-12T14:59:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:59:51-04:00", - "2024-03-12T14:59:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:00:17-04:00", - "2024-03-12T15:00:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:00:43-04:00", - "2024-03-12T15:00:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:01:07-04:00", - "2024-03-12T15:01:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:01:56-04:00", - "2024-03-12T15:01:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:02:44-04:00", - "2024-03-12T15:02:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:03:33-04:00", - "2024-03-12T15:03:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:04:45-04:00", - "2024-03-12T15:04:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:05:10-04:00", - "2024-03-12T15:05:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:05:34-04:00", - "2024-03-12T15:05:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:06:21-04:00", - "2024-03-12T15:06:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:07:31-04:00", - "2024-03-12T15:07:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:08:19-04:00", - "2024-03-12T15:08:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:09:08-04:00", - "2024-03-12T15:09:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:09:32-04:00", - "2024-03-12T15:09:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:09:56-04:00", - "2024-03-12T15:09:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:10:20-04:00", - "2024-03-12T15:10:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:11:30-04:00", - "2024-03-12T15:11:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:12:40-04:00", - "2024-03-12T15:12:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:13:53-04:00", - "2024-03-12T15:13:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:16:12-04:00", - "2024-03-12T15:16:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:16:59-04:00", - "2024-03-12T15:17:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:17:23-04:00", - "2024-03-12T15:17:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:18:38-04:00", - "2024-03-12T15:18:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:19:25-04:00", - "2024-03-12T15:19:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:19:52-04:00", - "2024-03-12T15:19:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:20:40-04:00", - "2024-03-12T15:20:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:21:08-04:00", - "2024-03-12T15:21:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:23:06-04:00", - "2024-03-12T15:23:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:23:55-04:00", - "2024-03-12T15:24:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:24:23-04:00", - "2024-03-12T15:24:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:25:57-04:00", - "2024-03-12T15:25:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:26:21-04:00", - "2024-03-12T15:26:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:26:49-04:00", - "2024-03-12T15:26:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:27:38-04:00", - "2024-03-12T15:27:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:28:25-04:00", - "2024-03-12T15:28:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:29:40-04:00", - "2024-03-12T15:29:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:30:05-04:00", - "2024-03-12T15:30:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:30:52-04:00", - "2024-03-12T15:30:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:33:11-04:00", - "2024-03-12T15:33:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:33:37-04:00", - "2024-03-12T15:33:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:39:24-04:00", - "2024-03-12T15:39:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:39:48-04:00", - "2024-03-12T15:39:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:40:12-04:00", - "2024-03-12T15:40:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:40:36-04:00", - "2024-03-12T15:40:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:41:01-04:00", - "2024-03-12T15:41:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:42:36-04:00", - "2024-03-12T15:42:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:43:46-04:00", - "2024-03-12T15:43:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:44:34-04:00", - "2024-03-12T15:44:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:45:24-04:00", - "2024-03-12T15:45:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:45:48-04:00", - "2024-03-12T15:45:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:46:35-04:00", - "2024-03-12T15:46:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:48:54-04:00", - "2024-03-12T15:48:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:49:41-04:00", - "2024-03-12T15:49:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:50:30-04:00", - "2024-03-12T15:50:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:50:54-04:00", - "2024-03-12T15:50:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T16:00:07-04:00", - "2024-03-13T09:30:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:30:23-04:00", - "2024-03-13T09:30:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:31:10-04:00", - "2024-03-13T09:31:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:32:21-04:00", - "2024-03-13T09:32:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:35:26-04:00", - "2024-03-13T09:35:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:37:23-04:00", - "2024-03-13T09:37:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:38:10-04:00", - "2024-03-13T09:38:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:38:35-04:00", - "2024-03-13T09:38:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:40:54-04:00", - "2024-03-13T09:40:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:41:41-04:00", - "2024-03-13T09:41:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:47:53-04:00", - "2024-03-13T09:47:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:48:17-04:00", - "2024-03-13T09:48:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:52:55-04:00", - "2024-03-13T09:52:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:57:32-04:00", - "2024-03-13T09:57:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:57:56-04:00", - "2024-03-13T09:57:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:58:20-04:00", - "2024-03-13T09:58:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:59:53-04:00", - "2024-03-13T09:59:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:01:03-04:00", - "2024-03-13T10:01:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:09:30-04:00", - "2024-03-13T10:09:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:10:17-04:00", - "2024-03-13T10:10:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:10:42-04:00", - "2024-03-13T10:10:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:11:53-04:00", - "2024-03-13T10:11:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:12:17-04:00", - "2024-03-13T10:12:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:12:41-04:00", - "2024-03-13T10:12:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:14:14-04:00", - "2024-03-13T10:14:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:15:25-04:00", - "2024-03-13T10:15:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:18:53-04:00", - "2024-03-13T10:18:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:19:17-04:00", - "2024-03-13T10:19:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:19:43-04:00", - "2024-03-13T10:19:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:20:31-04:00", - "2024-03-13T10:20:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:21:41-04:00", - "2024-03-13T10:21:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:22:51-04:00", - "2024-03-13T10:22:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:24:25-04:00", - "2024-03-13T10:24:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:24:50-04:00", - "2024-03-13T10:24:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:26:23-04:00", - "2024-03-13T10:26:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:27:57-04:00", - "2024-03-13T10:27:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:28:45-04:00", - "2024-03-13T10:28:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:29:33-04:00", - "2024-03-13T10:29:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:29:58-04:00", - "2024-03-13T10:30:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:30:23-04:00", - "2024-03-13T10:30:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:31:33-04:00", - "2024-03-13T10:31:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:32:21-04:00", - "2024-03-13T10:32:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:33:08-04:00", - "2024-03-13T10:33:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:33:56-04:00", - "2024-03-13T10:34:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:34:23-04:00", - "2024-03-13T10:34:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:34:49-04:00", - "2024-03-13T10:34:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:36:22-04:00", - "2024-03-13T10:36:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:37:09-04:00", - "2024-03-13T10:37:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:38:42-04:00", - "2024-03-13T10:38:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:40:39-04:00", - "2024-03-13T10:40:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:41:49-04:00", - "2024-03-13T10:41:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:42:36-04:00", - "2024-03-13T10:42:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:43:46-04:00", - "2024-03-13T10:43:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:45:42-04:00", - "2024-03-13T10:45:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:47:40-04:00", - "2024-03-13T10:47:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:48:04-04:00", - "2024-03-13T10:48:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:49:38-04:00", - "2024-03-13T10:49:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:52:20-04:00", - "2024-03-13T10:52:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:56:57-04:00", - "2024-03-13T10:56:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:58:07-04:00", - "2024-03-13T10:58:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:01:12-04:00", - "2024-03-13T11:01:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:03:31-04:00", - "2024-03-13T11:03:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:03:55-04:00", - "2024-03-13T11:03:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:05:07-04:00", - "2024-03-13T11:05:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:05:56-04:00", - "2024-03-13T11:05:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:06:43-04:00", - "2024-03-13T11:06:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:09:26-04:00", - "2024-03-13T11:09:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:11:49-04:00", - "2024-03-13T11:11:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:13:23-04:00", - "2024-03-13T11:13:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:13:48-04:00", - "2024-03-13T11:13:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:14:37-04:00", - "2024-03-13T11:14:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:16:10-04:00", - "2024-03-13T11:16:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:18:07-04:00", - "2024-03-13T11:18:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:18:54-04:00", - "2024-03-13T11:18:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:19:43-04:00", - "2024-03-13T11:19:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:20:53-04:00", - "2024-03-13T11:20:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:21:41-04:00", - "2024-03-13T11:21:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:22:05-04:00", - "2024-03-13T11:22:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:23:22-04:00", - "2024-03-13T11:23:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:26:05-04:00", - "2024-03-13T11:26:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:26:53-04:00", - "2024-03-13T11:26:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:28:28-04:00", - "2024-03-13T11:28:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:30:48-04:00", - "2024-03-13T11:30:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:33:32-04:00", - "2024-03-13T11:33:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:38:36-04:00", - "2024-03-13T11:38:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:48:12-04:00", - "2024-03-13T11:48:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:48:36-04:00", - "2024-03-13T11:48:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:50:55-04:00", - "2024-03-13T11:50:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:53:40-04:00", - "2024-03-13T11:53:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:54:27-04:00", - "2024-03-13T11:54:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:54:52-04:00", - "2024-03-13T11:54:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:56:02-04:00", - "2024-03-13T11:56:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:56:49-04:00", - "2024-03-13T11:56:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:59:31-04:00", - "2024-03-13T11:59:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:03:22-04:00", - "2024-03-13T12:03:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:03:46-04:00", - "2024-03-13T12:03:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:05:19-04:00", - "2024-03-13T12:05:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:06:06-04:00", - "2024-03-13T12:06:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:07:16-04:00", - "2024-03-13T12:07:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:07:40-04:00", - "2024-03-13T12:07:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:10:23-04:00", - "2024-03-13T12:10:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:11:34-04:00", - "2024-03-13T12:11:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:11:58-04:00", - "2024-03-13T12:12:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:13:11-04:00", - "2024-03-13T12:13:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:13:37-04:00", - "2024-03-13T12:13:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:14:01-04:00", - "2024-03-13T12:14:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:18:38-04:00", - "2024-03-13T12:18:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:19:25-04:00", - "2024-03-13T12:19:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:21:01-04:00", - "2024-03-13T12:21:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:22:12-04:00", - "2024-03-13T12:22:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:23:00-04:00", - "2024-03-13T12:23:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:24:36-04:00", - "2024-03-13T12:24:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:25:46-04:00", - "2024-03-13T12:25:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:26:10-04:00", - "2024-03-13T12:26:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:27:20-04:00", - "2024-03-13T12:27:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:29:39-04:00", - "2024-03-13T12:29:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:30:49-04:00", - "2024-03-13T12:30:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:34:18-04:00", - "2024-03-13T12:34:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:36:14-04:00", - "2024-03-13T12:36:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:37:02-04:00", - "2024-03-13T12:37:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:37:27-04:00", - "2024-03-13T12:37:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:37:51-04:00", - "2024-03-13T12:37:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:39:47-04:00", - "2024-03-13T12:39:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:42:06-04:00", - "2024-03-13T12:42:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:46:43-04:00", - "2024-03-13T12:46:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:47:36-04:00", - "2024-03-13T12:47:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:51:27-04:00", - "2024-03-13T12:51:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:51:52-04:00", - "2024-03-13T12:51:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:52:39-04:00", - "2024-03-13T12:52:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:53:03-04:00", - "2024-03-13T12:53:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:54:13-04:00", - "2024-03-13T12:54:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:58:04-04:00", - "2024-03-13T12:58:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:00:26-04:00", - "2024-03-13T13:00:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:04:17-04:00", - "2024-03-13T13:04:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:04:42-04:00", - "2024-03-13T13:04:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:05:07-04:00", - "2024-03-13T13:05:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:05:55-04:00", - "2024-03-13T13:05:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:07:05-04:00", - "2024-03-13T13:07:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:07:29-04:00", - "2024-03-13T13:07:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:09:02-04:00", - "2024-03-13T13:09:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:09:26-04:00", - "2024-03-13T13:09:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:09:50-04:00", - "2024-03-13T13:09:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:10:37-04:00", - "2024-03-13T13:10:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:11:25-04:00", - "2024-03-13T13:11:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:12:35-04:00", - "2024-03-13T13:12:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:12:59-04:00", - "2024-03-13T13:13:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:13:27-04:00", - "2024-03-13T13:13:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:14:14-04:00", - "2024-03-13T13:14:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:15:24-04:00", - "2024-03-13T13:15:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:18:30-04:00", - "2024-03-13T13:18:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:18:54-04:00", - "2024-03-13T13:18:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:19:19-04:00", - "2024-03-13T13:19:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:19:45-04:00", - "2024-03-13T13:19:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:20:09-04:00", - "2024-03-13T13:20:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:20:34-04:00", - "2024-03-13T13:20:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:21:24-04:00", - "2024-03-13T13:21:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:21:48-04:00", - "2024-03-13T13:21:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:22:12-04:00", - "2024-03-13T13:22:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:22:39-04:00", - "2024-03-13T13:22:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:23:03-04:00", - "2024-03-13T13:23:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:24:59-04:00", - "2024-03-13T13:25:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:27:19-04:00", - "2024-03-13T13:27:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:28:52-04:00", - "2024-03-13T13:28:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:29:16-04:00", - "2024-03-13T13:29:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:29:40-04:00", - "2024-03-13T13:29:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:30:05-04:00", - "2024-03-13T13:30:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:30:29-04:00", - "2024-03-13T13:30:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:31:16-04:00", - "2024-03-13T13:31:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:31:40-04:00", - "2024-03-13T13:31:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:32:04-04:00", - "2024-03-13T13:32:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:36:20-04:00", - "2024-03-13T13:36:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:36:47-04:00", - "2024-03-13T13:36:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:38:01-04:00", - "2024-03-13T13:38:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:38:25-04:00", - "2024-03-13T13:38:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:38:50-04:00", - "2024-03-13T13:38:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:39:14-04:00", - "2024-03-13T13:39:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:39:42-04:00", - "2024-03-13T13:39:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:42:02-04:00", - "2024-03-13T13:42:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:42:27-04:00", - "2024-03-13T13:42:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:44:01-04:00", - "2024-03-13T13:44:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:44:25-04:00", - "2024-03-13T13:44:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:47:07-04:00", - "2024-03-13T13:47:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:47:31-04:00", - "2024-03-13T13:47:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:48:20-04:00", - "2024-03-13T13:48:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:50:16-04:00", - "2024-03-13T13:50:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:55:17-04:00", - "2024-03-13T13:55:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:55:42-04:00", - "2024-03-13T13:55:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:58:24-04:00", - "2024-03-13T13:58:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:59:11-04:00", - "2024-03-13T13:59:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:00:21-04:00", - "2024-03-13T14:00:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:00:46-04:00", - "2024-03-13T14:00:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:01:11-04:00", - "2024-03-13T14:01:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:01:35-04:00", - "2024-03-13T14:01:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:01:59-04:00", - "2024-03-13T14:02:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:02:47-04:00", - "2024-03-13T14:02:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:03:14-04:00", - "2024-03-13T14:03:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:04:01-04:00", - "2024-03-13T14:04:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:04:25-04:00", - "2024-03-13T14:04:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:05:38-04:00", - "2024-03-13T14:05:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:06:02-04:00", - "2024-03-13T14:06:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:06:28-04:00", - "2024-03-13T14:06:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:07:19-04:00", - "2024-03-13T14:07:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:07:44-04:00", - "2024-03-13T14:07:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:08:13-04:00", - "2024-03-13T14:08:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:09:00-04:00", - "2024-03-13T14:09:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:09:26-04:00", - "2024-03-13T14:09:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:10:16-04:00", - "2024-03-13T14:10:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:10:42-04:00", - "2024-03-13T14:10:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:11:29-04:00", - "2024-03-13T14:11:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:12:40-04:00", - "2024-03-13T14:12:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:13:04-04:00", - "2024-03-13T14:13:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:14:37-04:00", - "2024-03-13T14:14:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:15:02-04:00", - "2024-03-13T14:15:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:17:44-04:00", - "2024-03-13T14:17:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:18:33-04:00", - "2024-03-13T14:18:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:18:58-04:00", - "2024-03-13T14:19:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:19:48-04:00", - "2024-03-13T14:19:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:20:36-04:00", - "2024-03-13T14:20:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:22:56-04:00", - "2024-03-13T14:22:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:23:44-04:00", - "2024-03-13T14:23:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:24:08-04:00", - "2024-03-13T14:24:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:24:57-04:00", - "2024-03-13T14:24:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:27:39-04:00", - "2024-03-13T14:27:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:28:04-04:00", - "2024-03-13T14:28:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:28:28-04:00", - "2024-03-13T14:28:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:29:38-04:00", - "2024-03-13T14:29:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:30:25-04:00", - "2024-03-13T14:30:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:30:51-04:00", - "2024-03-13T14:30:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:31:16-04:00", - "2024-03-13T14:31:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:32:26-04:00", - "2024-03-13T14:32:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:32:50-04:00", - "2024-03-13T14:32:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:33:38-04:00", - "2024-03-13T14:33:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:34:26-04:00", - "2024-03-13T14:34:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:34:51-04:00", - "2024-03-13T14:34:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:35:38-04:00", - "2024-03-13T14:35:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:37:11-04:00", - "2024-03-13T14:37:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:37:58-04:00", - "2024-03-13T14:37:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:39:31-04:00", - "2024-03-13T14:39:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:39:56-04:00", - "2024-03-13T14:39:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:41:29-04:00", - "2024-03-13T14:41:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:41:53-04:00", - "2024-03-13T14:41:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:42:19-04:00", - "2024-03-13T14:42:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:44:39-04:00", - "2024-03-13T14:44:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:45:03-04:00", - "2024-03-13T14:45:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:45:27-04:00", - "2024-03-13T14:45:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:46:15-04:00", - "2024-03-13T14:46:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:46:39-04:00", - "2024-03-13T14:46:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:47:26-04:00", - "2024-03-13T14:47:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:47:51-04:00", - "2024-03-13T14:47:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:48:16-04:00", - "2024-03-13T14:48:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:49:52-04:00", - "2024-03-13T14:49:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:51:25-04:00", - "2024-03-13T14:51:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:52:37-04:00", - "2024-03-13T14:52:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:53:25-04:00", - "2024-03-13T14:53:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:55:00-04:00", - "2024-03-13T14:55:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:56:59-04:00", - "2024-03-13T14:57:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:57:46-04:00", - "2024-03-13T14:57:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:59:19-04:00", - "2024-03-13T14:59:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:00:06-04:00", - "2024-03-13T15:00:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:00:54-04:00", - "2024-03-13T15:00:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:01:22-04:00", - "2024-03-13T15:01:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:02:32-04:00", - "2024-03-13T15:02:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:02:59-04:00", - "2024-03-13T15:03:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:03:26-04:00", - "2024-03-13T15:03:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:03:51-04:00", - "2024-03-13T15:04:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:04:24-04:00", - "2024-03-13T15:04:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:04:50-04:00", - "2024-03-13T15:04:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:05:38-04:00", - "2024-03-13T15:05:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:06:49-04:00", - "2024-03-13T15:06:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:07:18-04:00", - "2024-03-13T15:07:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:10:23-04:00", - "2024-03-13T15:10:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:11:10-04:00", - "2024-03-13T15:11:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:13:06-04:00", - "2024-03-13T15:13:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:13:54-04:00", - "2024-03-13T15:13:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:14:18-04:00", - "2024-03-13T15:14:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:14:42-04:00", - "2024-03-13T15:14:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:15:52-04:00", - "2024-03-13T15:15:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:16:17-04:00", - "2024-03-13T15:16:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:16:41-04:00", - "2024-03-13T15:16:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:17:51-04:00", - "2024-03-13T15:17:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:19:01-04:00", - "2024-03-13T15:19:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:19:48-04:00", - "2024-03-13T15:19:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:20:36-04:00", - "2024-03-13T15:20:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:22:09-04:00", - "2024-03-13T15:22:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:24:05-04:00", - "2024-03-13T15:24:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:26:01-04:00", - "2024-03-13T15:26:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:26:48-04:00", - "2024-03-13T15:26:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:27:35-04:00", - "2024-03-13T15:27:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:27:59-04:00", - "2024-03-13T15:28:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:29:32-04:00", - "2024-03-13T15:29:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:29:56-04:00", - "2024-03-13T15:29:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:32:15-04:00", - "2024-03-13T15:32:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:33:03-04:00", - "2024-03-13T15:33:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:34:36-04:00", - "2024-03-13T15:34:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:35:23-04:00", - "2024-03-13T15:35:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:38:05-04:00", - "2024-03-13T15:38:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:38:29-04:00", - "2024-03-13T15:38:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:38:53-04:00", - "2024-03-13T15:38:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:40:49-04:00", - "2024-03-13T15:40:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:41:13-04:00", - "2024-03-13T15:41:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:42:23-04:00", - "2024-03-13T15:42:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:42:48-04:00", - "2024-03-13T15:42:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:43:35-04:00", - "2024-03-13T15:43:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:43:59-04:00", - "2024-03-13T15:44:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:45:09-04:00", - "2024-03-13T15:45:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:46:20-04:00", - "2024-03-13T15:46:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:49:02-04:00", - "2024-03-13T15:49:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:49:49-04:00", - "2024-03-13T15:49:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:52:08-04:00", - "2024-03-13T15:52:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:54:04-04:00", - "2024-03-13T15:54:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:55:37-04:00", - "2024-03-13T15:55:38-04:00" - ] - } - ], - "showgrid": true - }, - "yaxis": { - "anchor": "x", - "domain": [ - 0.3, - 1 - ], - "showgrid": true - }, - "yaxis2": { - "anchor": "x2", - "domain": [ - 0, - 0.3 - ], - "showgrid": true - } - } - } - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ + "\n", "#naloadujeme do vbt symbol as column\n", "basic_data = vbt.Data.from_data({\"BAC\": df}, tz_convert=zoneNY)\n", "start_date = pd.Timestamp('2024-03-12 09:30', tz=zoneNY)\n", "end_date = pd.Timestamp('2024-03-13 16:00', tz=zoneNY)\n", "\n", + "#filter date\n", "#basic_data = basic_data.transform(lambda df: df[df.index.date == start_date.date()])\n", + "#filter range\n", "basic_data = basic_data.transform(lambda df: df[(df.index >= start_date) & (df.index <= end_date)])\n", - "basic_data.data[\"BAC\"].info()\n", - "filtered_data = basic_data.transform(lambda df: df[(df.index >= start_date) & (df.index <= end_date)])\n", + "#filtered_data = basic_data.transform(lambda df: df[(df.index >= start_date) & (df.index <= end_date)])\n", "# #range filtered_data = data[(data.index >= start_date) & (data.index <= end_date)\n", - "\n", - "filtered_data.data[\"BAC\"].info()\n", - "b= filtered_data.get().iloc[100:200]\n", - "b.info()\n", - "c = b[[\"Open\",\"High\"]]\n", - "c.info()\n", - "rsi14 = filtered_data.data[\"BAC\"][\"Rsi14\"].rename(\"Rsi14\")\n", - "\n", - "rsi14.vbt.plot().show()\n", - "filtered_data.data[\"BAC\"].vbt.ohlcv.plot().show()" + "#df.between_time('09:30', '16:00')\n", + "#(df.index.time >= pd.Timestamp('09:30').time()) & (df.index.time <= pd.Timestamp('16:00').time())" ] }, { "cell_type": "code", - "execution_count": 210, + "execution_count": 49, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "time\n", - "2024-03-12 09:30:00-04:00 0.000000\n", - "2024-03-12 09:30:23-04:00 0.000000\n", - "2024-03-12 09:30:47-04:00 0.000000\n", - "2024-03-12 09:31:11-04:00 0.000000\n", - "2024-03-12 09:31:34-04:00 0.000000\n", - " ... \n", - "2024-03-13 15:58:19-04:00 59.600097\n", - "2024-03-13 15:58:42-04:00 58.207248\n", - "2024-03-13 15:59:05-04:00 49.776325\n", - "2024-03-13 15:59:28-04:00 37.387129\n", - "2024-03-13 15:59:51-04:00 38.075336\n", - "Name: Vwap, Length: 1961, dtype: float64\n", - "['T', '_AXIS_LEN', '_AXIS_ORDERS', '_AXIS_TO_AXIS_NUMBER', '_HANDLED_TYPES', '__abs__', '__add__', '__and__', '__annotations__', '__array__', '__array_priority__', '__array_ufunc__', '__bool__', '__class__', '__column_consortium_standard__', '__contains__', '__copy__', '__deepcopy__', '__delattr__', '__delitem__', '__dict__', '__dir__', '__divmod__', '__doc__', '__eq__', '__finalize__', '__float__', '__floordiv__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__iand__', '__ifloordiv__', '__imod__', '__imul__', '__init__', '__init_subclass__', '__int__', '__invert__', '__ior__', '__ipow__', '__isub__', '__iter__', '__itruediv__', '__ixor__', '__le__', '__len__', '__lt__', '__matmul__', '__mod__', '__module__', '__mul__', '__ne__', '__neg__', '__new__', '__nonzero__', '__or__', '__pandas_priority__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rmatmul__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__setitem__', '__setstate__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__weakref__', '__xor__', '_accessors', '_accum_func', '_agg_examples_doc', '_agg_see_also_doc', '_align_for_op', '_align_frame', '_align_series', '_append', '_arith_method', '_as_manager', '_attrs', '_binop', '_can_hold_na', '_check_inplace_and_allows_duplicate_labels', '_check_is_chained_assignment_possible', '_check_label_or_level_ambiguity', '_check_setitem_copy', '_clear_item_cache', '_clip_with_one_bound', '_clip_with_scalar', '_cmp_method', '_consolidate', '_consolidate_inplace', '_construct_axes_dict', '_construct_result', '_constructor', '_constructor_expanddim', '_constructor_expanddim_from_mgr', '_constructor_from_mgr', '_data', '_deprecate_downcast', '_dir_additions', '_dir_deletions', '_drop_axis', '_drop_labels_or_levels', '_duplicated', '_expanddim_from_mgr', '_find_valid_index', '_flags', '_flex_method', '_from_mgr', '_get_axis', '_get_axis_name', '_get_axis_number', '_get_axis_resolvers', '_get_block_manager_axis', '_get_bool_data', '_get_cacher', '_get_cleaned_column_resolvers', '_get_index_resolvers', '_get_label_or_level_values', '_get_numeric_data', '_get_rows_with_mask', '_get_value', '_get_values_tuple', '_get_with', '_getitem_slice', '_gotitem', '_hidden_attrs', '_indexed_same', '_info_axis', '_info_axis_name', '_info_axis_number', '_init_dict', '_init_mgr', '_inplace_method', '_internal_names', '_internal_names_set', '_is_cached', '_is_copy', '_is_label_or_level_reference', '_is_label_reference', '_is_level_reference', '_is_mixed_type', '_is_view', '_is_view_after_cow_rules', '_item_cache', '_ixs', '_logical_func', '_logical_method', '_map_values', '_maybe_update_cacher', '_memory_usage', '_metadata', '_mgr', '_min_count_stat_function', '_name', '_needs_reindex_multi', '_pad_or_backfill', '_protect_consolidate', '_reduce', '_references', '_reindex_axes', '_reindex_indexer', '_reindex_multi', '_reindex_with_indexers', '_rename', '_replace_single', '_repr_data_resource_', '_repr_latex_', '_reset_cache', '_reset_cacher', '_set_as_cached', '_set_axis', '_set_axis_name', '_set_axis_nocheck', '_set_is_copy', '_set_labels', '_set_name', '_set_value', '_set_values', '_set_with', '_set_with_engine', '_shift_with_freq', '_slice', '_stat_function', '_stat_function_ddof', '_take_with_is_copy', '_to_latex_via_styler', '_typ', '_update_inplace', '_validate_dtype', '_values', '_where', 'abs', 'add', 'add_prefix', 'add_suffix', 'agg', 'aggregate', 'align', 'all', 'any', 'apply', 'argmax', 'argmin', 'argsort', 'array', 'asfreq', 'asof', 'astype', 'at', 'at_time', 'attrs', 'autocorr', 'axes', 'backfill', 'between', 'between_time', 'bfill', 'bool', 'case_when', 'clip', 'combine', 'combine_first', 'compare', 'convert_dtypes', 'copy', 'corr', 'count', 'cov', 'cummax', 'cummin', 'cumprod', 'cumsum', 'describe', 'diff', 'div', 'divide', 'divmod', 'dot', 'drop', 'drop_duplicates', 'droplevel', 'dropna', 'dtype', 'dtypes', 'duplicated', 'empty', 'eq', 'equals', 'ewm', 'expanding', 'explode', 'factorize', 'ffill', 'fillna', 'filter', 'first', 'first_valid_index', 'flags', 'floordiv', 'ge', 'get', 'groupby', 'gt', 'hasnans', 'head', 'hist', 'iat', 'idxmax', 'idxmin', 'iloc', 'index', 'infer_objects', 'info', 'interpolate', 'is_monotonic_decreasing', 'is_monotonic_increasing', 'is_unique', 'isin', 'isna', 'isnull', 'item', 'items', 'keys', 'kurt', 'kurtosis', 'last', 'last_valid_index', 'le', 'list', 'loc', 'lt', 'map', 'mask', 'max', 'mean', 'median', 'memory_usage', 'min', 'mod', 'mode', 'mul', 'multiply', 'name', 'nbytes', 'ndim', 'ne', 'nlargest', 'notna', 'notnull', 'nsmallest', 'nunique', 'pad', 'pct_change', 'pipe', 'plot', 'pop', 'pow', 'prod', 'product', 'quantile', 'radd', 'rank', 'ravel', 'rdiv', 'rdivmod', 'reindex', 'reindex_like', 'rename', 'rename_axis', 'reorder_levels', 'repeat', 'replace', 'resample', 'reset_index', 'rfloordiv', 'rmod', 'rmul', 'rolling', 'round', 'rpow', 'rsub', 'rtruediv', 'sample', 'searchsorted', 'sem', 'set_axis', 'set_flags', 'shape', 'shift', 'size', 'skew', 'sort_index', 'sort_values', 'squeeze', 'std', 'struct', 'sub', 'subtract', 'sum', 'swapaxes', 'swaplevel', 'tail', 'take', 'to_clipboard', 'to_csv', 'to_dict', 'to_excel', 'to_frame', 'to_hdf', 'to_json', 'to_latex', 'to_list', 'to_markdown', 'to_numpy', 'to_period', 'to_pickle', 'to_sql', 'to_string', 'to_timestamp', 'to_xarray', 'transform', 'transpose', 'truediv', 'truncate', 'tz_convert', 'tz_localize', 'unique', 'unstack', 'update', 'value_counts', 'values', 'var', 'vbt', 'view', 'where', 'xs']\n", - "time\n", - "2024-03-12 09:30:00-04:00 70.6588\n", - "2024-03-12 09:30:23-04:00 74.0781\n", - "2024-03-12 09:30:47-04:00 76.6184\n", - "2024-03-12 09:31:11-04:00 81.0538\n", - "2024-03-12 09:31:34-04:00 86.0863\n", - " ... \n", - "2024-03-13 15:58:19-04:00 59.6001\n", - "2024-03-13 15:58:42-04:00 58.2072\n", - "2024-03-13 15:59:05-04:00 49.7763\n", - "2024-03-13 15:59:28-04:00 37.3871\n", - "2024-03-13 15:59:51-04:00 37.3871\n", - "Name: Rsi14, Length: 1961, dtype: float64\n" - ] - }, + "data": { + "text/plain": [ + "time\n", + "2024-03-12 09:30:00-04:00 70.6588\n", + "2024-03-12 09:30:23-04:00 74.0781\n", + "2024-03-12 09:30:47-04:00 76.6184\n", + "2024-03-12 09:31:11-04:00 81.0538\n", + "2024-03-12 09:31:34-04:00 86.0863\n", + " ... \n", + "2024-03-13 15:58:19-04:00 59.6001\n", + "2024-03-13 15:58:42-04:00 58.2072\n", + "2024-03-13 15:59:05-04:00 49.7763\n", + "2024-03-13 15:59:28-04:00 37.3871\n", + "2024-03-13 15:59:51-04:00 37.3871\n", + "Name: Rsi14, Length: 1961, dtype: float64" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# basic_data.data[\"BAC\"]\n", + "rsi14" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1c98336032174fb0858c20b1b83d4f1b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "FigureWidget({\n", + " 'data': [{'name': 'Rsi14',\n", + " 'showlegend': True,\n", + " 'type': 'scatter',\n", + " 'uid': '5eb5e6f2-c71f-441c-9c2b-88a379762a9d',\n", + " 'x': array([datetime.datetime(2024, 3, 12, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 3, 12, 9, 30, 23, tzinfo=),\n", + " datetime.datetime(2024, 3, 12, 9, 30, 47, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 3, 13, 15, 59, 5, tzinfo=),\n", + " datetime.datetime(2024, 3, 13, 15, 59, 28, tzinfo=),\n", + " datetime.datetime(2024, 3, 13, 15, 59, 51, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'y': array([70.6588, 74.0781, 76.6184, ..., 49.7763, 37.3871, 37.3871]),\n", + " 'yaxis': 'y2'},\n", + " {'close': array([35.93 , 35.97 , 35.975, ..., 36.09 , 36.08 , 36.07 ]),\n", + " 'decreasing': {'fillcolor': '#ee534f', 'line': {'color': '#ee534f'}},\n", + " 'high': array([35.96 , 35.99 , 35.985, ..., 36.14 , 36.11 , 36.1 ]),\n", + " 'increasing': {'fillcolor': '#26a69a', 'line': {'color': '#26a69a'}},\n", + " 'low': array([35.85 , 35.92 , 35.935, ..., 36.09 , 36.05 , 36.065]),\n", + " 'name': 'OHLC',\n", + " 'opacity': 0.75,\n", + " 'open': array([35.9 , 35.925, 35.97 , ..., 36.13 , 36.095, 36.08 ]),\n", + " 'type': 'candlestick',\n", + " 'uid': 'e526fc44-8b7e-4948-b4d0-39ae4e7a2b91',\n", + " 'x': array([datetime.datetime(2024, 3, 12, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 3, 12, 9, 30, 23, tzinfo=),\n", + " datetime.datetime(2024, 3, 12, 9, 30, 47, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 3, 13, 15, 59, 5, tzinfo=),\n", + " datetime.datetime(2024, 3, 13, 15, 59, 28, tzinfo=),\n", + " datetime.datetime(2024, 3, 13, 15, 59, 51, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'yaxis': 'y'},\n", + " {'marker': {'color': array(['#26a69a', '#26a69a', '#26a69a', ..., '#ee534f', '#ee534f', '#ee534f'],\n", + " dtype=object),\n", + " 'line': {'width': 0}},\n", + " 'name': 'Volume',\n", + " 'opacity': 0.5,\n", + " 'type': 'bar',\n", + " 'uid': '213ef8f6-a7f7-46a3-a3b8-f203762289eb',\n", + " 'x': array([datetime.datetime(2024, 3, 12, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 3, 12, 9, 30, 23, tzinfo=),\n", + " datetime.datetime(2024, 3, 12, 9, 30, 47, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 3, 13, 15, 59, 5, tzinfo=),\n", + " datetime.datetime(2024, 3, 13, 15, 59, 28, tzinfo=),\n", + " datetime.datetime(2024, 3, 13, 15, 59, 51, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x2',\n", + " 'y': array([416236, 25178, 14986, ..., 545827, 734354, 321567]),\n", + " 'yaxis': 'y3'}],\n", + " 'layout': {'height': 350,\n", + " 'legend': {'orientation': 'h',\n", + " 'traceorder': 'normal',\n", + " 'x': 1,\n", + " 'xanchor': 'right',\n", + " 'y': 1.02,\n", + " 'yanchor': 'bottom'},\n", + " 'margin': {'b': 30, 'l': 30, 'r': 30, 't': 30},\n", + " 'template': '...',\n", + " 'width': 1280,\n", + " 'xaxis': {'anchor': 'y',\n", + " 'domain': [0.0, 0.94],\n", + " 'matches': 'x2',\n", + " 'rangeslider': {'visible': False},\n", + " 'showticklabels': False},\n", + " 'xaxis2': {'anchor': 'y3', 'domain': [0.0, 0.94]},\n", + " 'yaxis': {'anchor': 'x', 'domain': [0.575, 1.0]},\n", + " 'yaxis2': {'anchor': 'x', 'overlaying': 'y', 'side': 'right'},\n", + " 'yaxis3': {'anchor': 'x2', 'domain': [0.0, 0.425]}}\n", + "})" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#b = filtered_data.get().iloc[100:200] #b[[\"Open\",\"High\"]]\n", + "rsi14 = basic_data.data[\"BAC\"][\"Rsi14\"].rename(\"Rsi14\")\n", + "#create subploit\n", + "fig = vbt.make_subplots(rows=2, cols=1, shared_xaxes=True, specs=[[{\"secondary_y\": True}], [{\"secondary_y\": False}]])\n", + "rsi14.vbt.plot(add_trace_kwargs=dict(row=1, col=1, secondary_y=True),fig=fig)\n", + "basic_data.data[\"BAC\"].vbt.ohlcv.plot(add_trace_kwargs=dict(row=1, col=1, secondary_y=False), fig=fig)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ { "data": { "application/vnd.plotly.v1+json": { @@ -35813,7 +452,7 @@ "name": "real", "showlegend": true, "type": "scatter", - "uid": "8d844b56-f6ee-460a-9595-0834d2f0acca", + "uid": "8644a6fb-707b-40dc-a4d2-3e15535d00e2", "x": [ "2024-03-12T09:30:00-04:00", "2024-03-12T09:30:23-04:00", @@ -39740,5469 +4379,13 @@ 37.38712879478587, 38.075335515135485 ] - } - ], - "layout": { - "height": 350, - "legend": { - "orientation": "h", - "traceorder": "normal", - "x": 1, - "xanchor": "right", - "y": 1.02, - "yanchor": "bottom" }, - "margin": { - "b": 30, - "l": 30, - "r": 30, - "t": 30 - }, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#d6dfef" - }, - "error_y": { - "color": "#d6dfef" - }, - "marker": { - "line": { - "color": "#212226", - "width": 0.5 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#212226", - "width": 0.5 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#A2B1C6", - "gridcolor": "#313439", - "linecolor": "#313439", - "minorgridcolor": "#313439", - "startlinecolor": "#A2B1C6" - }, - "baxis": { - "endlinecolor": "#A2B1C6", - "gridcolor": "#313439", - "linecolor": "#313439", - "minorgridcolor": "#313439", - "startlinecolor": "#A2B1C6" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "heatmapgl": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmapgl" - } - ], - "histogram": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "marker": { - "line": { - "color": "#313439" - } - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "line": { - "color": "#313439" - } - }, - "type": "scattergl" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#313439" - }, - "line": { - "color": "#212226" - } - }, - "header": { - "fill": { - "color": "#2a3f5f" - }, - "line": { - "color": "#212226" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#d6dfef", - "arrowhead": 0, - "arrowwidth": 1 - }, - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#1f77b4", - "#ff7f0e", - "#2ca02c", - "#dc3912", - "#9467bd", - "#8c564b", - "#e377c2", - "#7f7f7f", - "#bcbd22", - "#17becf" - ], - "font": { - "color": "#d6dfef" - }, - "geo": { - "bgcolor": "#212226", - "lakecolor": "#212226", - "landcolor": "#212226", - "showlakes": true, - "showland": true, - "subunitcolor": "#313439" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "dark" - }, - "paper_bgcolor": "#212226", - "plot_bgcolor": "#212226", - "polar": { - "angularaxis": { - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "" - }, - "bgcolor": "#212226", - "radialaxis": { - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#212226", - "gridcolor": "#313439", - "gridwidth": 2, - "linecolor": "#313439", - "showbackground": true, - "ticks": "", - "zerolinecolor": "#aec0d6" - }, - "yaxis": { - "backgroundcolor": "#212226", - "gridcolor": "#313439", - "gridwidth": 2, - "linecolor": "#313439", - "showbackground": true, - "ticks": "", - "zerolinecolor": "#aec0d6" - }, - "zaxis": { - "backgroundcolor": "#212226", - "gridcolor": "#313439", - "gridwidth": 2, - "linecolor": "#313439", - "showbackground": true, - "ticks": "", - "zerolinecolor": "#aec0d6" - } - }, - "shapedefaults": { - "line": { - "color": "#d6dfef" - } - }, - "sliderdefaults": { - "bgcolor": "#aec0d6", - "bordercolor": "#212226", - "borderwidth": 1, - "tickwidth": 0 - }, - "ternary": { - "aaxis": { - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "" - }, - "baxis": { - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "" - }, - "bgcolor": "#212226", - "caxis": { - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "updatemenudefaults": { - "bgcolor": "#313439", - "borderwidth": 0 - }, - "xaxis": { - "automargin": true, - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "#313439", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "#313439", - "linecolor": "#313439", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "#313439", - "zerolinewidth": 2 - } - } - }, - "width": 1280, - "xaxis": { - "rangebreaks": [ - { - "bounds": [ - "2024-03-12T09:30:46-04:00", - "2024-03-12T09:30:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:31:10-04:00", - "2024-03-12T09:31:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:31:57-04:00", - "2024-03-12T09:32:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:33:32-04:00", - "2024-03-12T09:33:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:33:57-04:00", - "2024-03-12T09:33:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:34:44-04:00", - "2024-03-12T09:34:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:36:17-04:00", - "2024-03-12T09:36:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:36:41-04:00", - "2024-03-12T09:36:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:37:05-04:00", - "2024-03-12T09:37:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:41:19-04:00", - "2024-03-12T09:41:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:41:44-04:00", - "2024-03-12T09:41:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:43:17-04:00", - "2024-03-12T09:43:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:44:50-04:00", - "2024-03-12T09:44:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:47:33-04:00", - "2024-03-12T09:47:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:47:57-04:00", - "2024-03-12T09:47:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:48:21-04:00", - "2024-03-12T09:48:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:49:31-04:00", - "2024-03-12T09:49:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:49:55-04:00", - "2024-03-12T09:49:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:51:51-04:00", - "2024-03-12T09:51:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:52:39-04:00", - "2024-03-12T09:52:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:53:49-04:00", - "2024-03-12T09:53:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:55:45-04:00", - "2024-03-12T09:55:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:56:32-04:00", - "2024-03-12T09:56:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:58:05-04:00", - "2024-03-12T09:58:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T09:59:38-04:00", - "2024-03-12T09:59:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:00:02-04:00", - "2024-03-12T10:00:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:00:50-04:00", - "2024-03-12T10:00:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:02:23-04:00", - "2024-03-12T10:02:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:03:56-04:00", - "2024-03-12T10:03:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:04:43-04:00", - "2024-03-12T10:04:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:05:08-04:00", - "2024-03-12T10:05:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:05:32-04:00", - "2024-03-12T10:05:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:09:46-04:00", - "2024-03-12T10:09:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:10:57-04:00", - "2024-03-12T10:10:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:14:26-04:00", - "2024-03-12T10:14:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:18:40-04:00", - "2024-03-12T10:18:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:19:52-04:00", - "2024-03-12T10:19:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:25:16-04:00", - "2024-03-12T10:25:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:26:03-04:00", - "2024-03-12T10:26:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:29:08-04:00", - "2024-03-12T10:29:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:31:50-04:00", - "2024-03-12T10:31:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:33:00-04:00", - "2024-03-12T10:33:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:35:42-04:00", - "2024-03-12T10:35:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:39:34-04:00", - "2024-03-12T10:39:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:41:07-04:00", - "2024-03-12T10:41:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:41:31-04:00", - "2024-03-12T10:41:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:43:04-04:00", - "2024-03-12T10:43:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:43:51-04:00", - "2024-03-12T10:43:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:44:16-04:00", - "2024-03-12T10:44:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:46:36-04:00", - "2024-03-12T10:46:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:47:00-04:00", - "2024-03-12T10:47:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:47:47-04:00", - "2024-03-12T10:47:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:48:58-04:00", - "2024-03-12T10:49:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:49:23-04:00", - "2024-03-12T10:49:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:49:50-04:00", - "2024-03-12T10:49:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:50:15-04:00", - "2024-03-12T10:50:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:51:04-04:00", - "2024-03-12T10:51:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:51:29-04:00", - "2024-03-12T10:51:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:52:16-04:00", - "2024-03-12T10:52:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:53:07-04:00", - "2024-03-12T10:53:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:53:33-04:00", - "2024-03-12T10:53:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:53:59-04:00", - "2024-03-12T10:54:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:54:23-04:00", - "2024-03-12T10:54:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:54:47-04:00", - "2024-03-12T10:54:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:55:11-04:00", - "2024-03-12T10:55:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:56:44-04:00", - "2024-03-12T10:56:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:57:32-04:00", - "2024-03-12T10:57:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:58:42-04:00", - "2024-03-12T10:58:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T10:59:29-04:00", - "2024-03-12T10:59:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:01:03-04:00", - "2024-03-12T11:01:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:01:27-04:00", - "2024-03-12T11:01:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:02:37-04:00", - "2024-03-12T11:02:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:03:02-04:00", - "2024-03-12T11:03:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:03:26-04:00", - "2024-03-12T11:03:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:04:36-04:00", - "2024-03-12T11:04:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:05:00-04:00", - "2024-03-12T11:05:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:05:47-04:00", - "2024-03-12T11:05:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:06:34-04:00", - "2024-03-12T11:06:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:08:55-04:00", - "2024-03-12T11:08:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:09:20-04:00", - "2024-03-12T11:09:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:10:07-04:00", - "2024-03-12T11:10:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:11:18-04:00", - "2024-03-12T11:11:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:11:42-04:00", - "2024-03-12T11:11:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:13:22-04:00", - "2024-03-12T11:13:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:13:47-04:00", - "2024-03-12T11:13:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:16:06-04:00", - "2024-03-12T11:16:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:16:30-04:00", - "2024-03-12T11:16:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:16:54-04:00", - "2024-03-12T11:16:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:17:19-04:00", - "2024-03-12T11:17:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:17:44-04:00", - "2024-03-12T11:17:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:18:54-04:00", - "2024-03-12T11:18:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:19:19-04:00", - "2024-03-12T11:19:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:20:09-04:00", - "2024-03-12T11:20:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:21:04-04:00", - "2024-03-12T11:21:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:21:28-04:00", - "2024-03-12T11:21:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:21:52-04:00", - "2024-03-12T11:21:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:22:16-04:00", - "2024-03-12T11:22:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:22:42-04:00", - "2024-03-12T11:22:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:23:29-04:00", - "2024-03-12T11:23:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:24:19-04:00", - "2024-03-12T11:24:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:24:43-04:00", - "2024-03-12T11:24:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:25:31-04:00", - "2024-03-12T11:25:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:27:04-04:00", - "2024-03-12T11:27:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:27:34-04:00", - "2024-03-12T11:27:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:28:21-04:00", - "2024-03-12T11:28:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:28:47-04:00", - "2024-03-12T11:28:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:29:35-04:00", - "2024-03-12T11:29:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:30:00-04:00", - "2024-03-12T11:30:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:31:56-04:00", - "2024-03-12T11:32:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:33:09-04:00", - "2024-03-12T11:33:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:33:34-04:00", - "2024-03-12T11:33:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:33:58-04:00", - "2024-03-12T11:34:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:34:30-04:00", - "2024-03-12T11:34:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:35:04-04:00", - "2024-03-12T11:35:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:35:28-04:00", - "2024-03-12T11:35:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:36:15-04:00", - "2024-03-12T11:36:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:37:26-04:00", - "2024-03-12T11:37:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:37:52-04:00", - "2024-03-12T11:37:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:38:16-04:00", - "2024-03-12T11:38:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:38:43-04:00", - "2024-03-12T11:38:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:39:31-04:00", - "2024-03-12T11:39:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:39:55-04:00", - "2024-03-12T11:39:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:40:19-04:00", - "2024-03-12T11:40:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:41:06-04:00", - "2024-03-12T11:41:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:41:30-04:00", - "2024-03-12T11:41:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:41:54-04:00", - "2024-03-12T11:41:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:42:18-04:00", - "2024-03-12T11:42:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:42:44-04:00", - "2024-03-12T11:42:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:43:32-04:00", - "2024-03-12T11:43:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:44:22-04:00", - "2024-03-12T11:44:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:45:13-04:00", - "2024-03-12T11:45:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:45:37-04:00", - "2024-03-12T11:45:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:47:35-04:00", - "2024-03-12T11:47:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:49:08-04:00", - "2024-03-12T11:49:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:49:32-04:00", - "2024-03-12T11:49:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:50:20-04:00", - "2024-03-12T11:50:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:51:34-04:00", - "2024-03-12T11:51:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:52:03-04:00", - "2024-03-12T11:52:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:52:27-04:00", - "2024-03-12T11:52:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:52:52-04:00", - "2024-03-12T11:52:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:54:03-04:00", - "2024-03-12T11:54:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:54:56-04:00", - "2024-03-12T11:54:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:55:20-04:00", - "2024-03-12T11:55:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:56:44-04:00", - "2024-03-12T11:56:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:57:08-04:00", - "2024-03-12T11:57:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:57:56-04:00", - "2024-03-12T11:58:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:59:32-04:00", - "2024-03-12T11:59:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T11:59:57-04:00", - "2024-03-12T11:59:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:00:21-04:00", - "2024-03-12T12:00:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:01:34-04:00", - "2024-03-12T12:01:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:02:47-04:00", - "2024-03-12T12:02:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:03:13-04:00", - "2024-03-12T12:03:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:03:39-04:00", - "2024-03-12T12:03:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:04:04-04:00", - "2024-03-12T12:04:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:04:28-04:00", - "2024-03-12T12:04:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:04:52-04:00", - "2024-03-12T12:04:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:05:16-04:00", - "2024-03-12T12:05:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:05:47-04:00", - "2024-03-12T12:05:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:06:15-04:00", - "2024-03-12T12:06:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:07:25-04:00", - "2024-03-12T12:07:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:07:56-04:00", - "2024-03-12T12:08:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:08:46-04:00", - "2024-03-12T12:08:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:10:23-04:00", - "2024-03-12T12:10:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:10:49-04:00", - "2024-03-12T12:10:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:11:18-04:00", - "2024-03-12T12:11:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:12:52-04:00", - "2024-03-12T12:12:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:13:17-04:00", - "2024-03-12T12:13:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:14:05-04:00", - "2024-03-12T12:14:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:15:24-04:00", - "2024-03-12T12:15:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:15:48-04:00", - "2024-03-12T12:15:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:16:12-04:00", - "2024-03-12T12:16:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:16:36-04:00", - "2024-03-12T12:16:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:17:24-04:00", - "2024-03-12T12:17:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:17:50-04:00", - "2024-03-12T12:17:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:18:38-04:00", - "2024-03-12T12:18:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:19:06-04:00", - "2024-03-12T12:19:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:19:53-04:00", - "2024-03-12T12:19:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:21:03-04:00", - "2024-03-12T12:21:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:21:29-04:00", - "2024-03-12T12:21:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:21:54-04:00", - "2024-03-12T12:22:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:22:30-04:00", - "2024-03-12T12:22:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:23:45-04:00", - "2024-03-12T12:23:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:24:32-04:00", - "2024-03-12T12:24:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:24:56-04:00", - "2024-03-12T12:24:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:25:44-04:00", - "2024-03-12T12:25:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:26:09-04:00", - "2024-03-12T12:26:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:26:35-04:00", - "2024-03-12T12:26:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:26:59-04:00", - "2024-03-12T12:27:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:27:30-04:00", - "2024-03-12T12:27:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:27:54-04:00", - "2024-03-12T12:27:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:28:19-04:00", - "2024-03-12T12:28:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:28:43-04:00", - "2024-03-12T12:28:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:29:31-04:00", - "2024-03-12T12:29:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:29:57-04:00", - "2024-03-12T12:30:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:30:25-04:00", - "2024-03-12T12:30:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:30:50-04:00", - "2024-03-12T12:30:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:31:15-04:00", - "2024-03-12T12:31:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:32:02-04:00", - "2024-03-12T12:32:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:32:27-04:00", - "2024-03-12T12:32:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:32:53-04:00", - "2024-03-12T12:32:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:33:40-04:00", - "2024-03-12T12:33:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:34:06-04:00", - "2024-03-12T12:34:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:34:30-04:00", - "2024-03-12T12:34:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:35:40-04:00", - "2024-03-12T12:35:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:36:29-04:00", - "2024-03-12T12:36:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:37:40-04:00", - "2024-03-12T12:37:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:38:27-04:00", - "2024-03-12T12:38:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:38:51-04:00", - "2024-03-12T12:38:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:39:15-04:00", - "2024-03-12T12:39:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:39:39-04:00", - "2024-03-12T12:39:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:40:05-04:00", - "2024-03-12T12:40:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:40:29-04:00", - "2024-03-12T12:40:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:41:39-04:00", - "2024-03-12T12:41:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:43:36-04:00", - "2024-03-12T12:43:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:44:25-04:00", - "2024-03-12T12:44:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:44:52-04:00", - "2024-03-12T12:44:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:45:40-04:00", - "2024-03-12T12:45:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:46:27-04:00", - "2024-03-12T12:46:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:47:14-04:00", - "2024-03-12T12:47:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:47:38-04:00", - "2024-03-12T12:47:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:48:02-04:00", - "2024-03-12T12:48:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:48:26-04:00", - "2024-03-12T12:48:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:48:52-04:00", - "2024-03-12T12:48:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:49:19-04:00", - "2024-03-12T12:49:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:50:07-04:00", - "2024-03-12T12:50:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:50:31-04:00", - "2024-03-12T12:50:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:50:55-04:00", - "2024-03-12T12:51:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:51:29-04:00", - "2024-03-12T12:51:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:53:26-04:00", - "2024-03-12T12:53:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:53:51-04:00", - "2024-03-12T12:53:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:55:24-04:00", - "2024-03-12T12:55:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:55:48-04:00", - "2024-03-12T12:55:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:56:58-04:00", - "2024-03-12T12:57:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:57:46-04:00", - "2024-03-12T12:57:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:58:12-04:00", - "2024-03-12T12:58:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:58:37-04:00", - "2024-03-12T12:58:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:59:09-04:00", - "2024-03-12T12:59:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:59:33-04:00", - "2024-03-12T12:59:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T12:59:59-04:00", - "2024-03-12T13:00:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:00:23-04:00", - "2024-03-12T13:00:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:00:47-04:00", - "2024-03-12T13:00:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:01:14-04:00", - "2024-03-12T13:01:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:03:35-04:00", - "2024-03-12T13:03:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:04:01-04:00", - "2024-03-12T13:04:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:05:12-04:00", - "2024-03-12T13:05:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:05:36-04:00", - "2024-03-12T13:05:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:06:46-04:00", - "2024-03-12T13:06:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:07:11-04:00", - "2024-03-12T13:07:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:07:35-04:00", - "2024-03-12T13:07:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:08:26-04:00", - "2024-03-12T13:08:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:09:15-04:00", - "2024-03-12T13:09:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:10:02-04:00", - "2024-03-12T13:10:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:10:27-04:00", - "2024-03-12T13:10:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:10:56-04:00", - "2024-03-12T13:11:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:12:11-04:00", - "2024-03-12T13:12:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:12:36-04:00", - "2024-03-12T13:12:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:13:01-04:00", - "2024-03-12T13:13:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:14:01-04:00", - "2024-03-12T13:14:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:14:25-04:00", - "2024-03-12T13:14:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:16:00-04:00", - "2024-03-12T13:16:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:16:48-04:00", - "2024-03-12T13:16:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:17:19-04:00", - "2024-03-12T13:17:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:17:46-04:00", - "2024-03-12T13:17:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:18:11-04:00", - "2024-03-12T13:18:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:19:44-04:00", - "2024-03-12T13:19:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:20:08-04:00", - "2024-03-12T13:20:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:20:35-04:00", - "2024-03-12T13:20:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:21:00-04:00", - "2024-03-12T13:21:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:21:25-04:00", - "2024-03-12T13:21:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:23:00-04:00", - "2024-03-12T13:23:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:23:26-04:00", - "2024-03-12T13:23:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:25:23-04:00", - "2024-03-12T13:25:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:26:12-04:00", - "2024-03-12T13:26:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:26:41-04:00", - "2024-03-12T13:26:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:27:14-04:00", - "2024-03-12T13:27:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:27:38-04:00", - "2024-03-12T13:27:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:28:49-04:00", - "2024-03-12T13:28:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:29:40-04:00", - "2024-03-12T13:29:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:30:28-04:00", - "2024-03-12T13:30:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:31:15-04:00", - "2024-03-12T13:31:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:32:25-04:00", - "2024-03-12T13:32:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:33:26-04:00", - "2024-03-12T13:33:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:33:51-04:00", - "2024-03-12T13:33:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:34:16-04:00", - "2024-03-12T13:34:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:35:03-04:00", - "2024-03-12T13:35:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:35:32-04:00", - "2024-03-12T13:35:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:35:59-04:00", - "2024-03-12T13:36:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:38:18-04:00", - "2024-03-12T13:38:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:38:43-04:00", - "2024-03-12T13:38:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:39:36-04:00", - "2024-03-12T13:39:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:40:01-04:00", - "2024-03-12T13:40:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:40:51-04:00", - "2024-03-12T13:40:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:41:16-04:00", - "2024-03-12T13:41:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:41:40-04:00", - "2024-03-12T13:41:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:42:28-04:00", - "2024-03-12T13:42:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:42:57-04:00", - "2024-03-12T13:42:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:43:21-04:00", - "2024-03-12T13:43:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:43:46-04:00", - "2024-03-12T13:43:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:44:36-04:00", - "2024-03-12T13:44:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:45:03-04:00", - "2024-03-12T13:45:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:45:27-04:00", - "2024-03-12T13:45:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:45:51-04:00", - "2024-03-12T13:45:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:47:50-04:00", - "2024-03-12T13:47:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:48:37-04:00", - "2024-03-12T13:48:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:49:02-04:00", - "2024-03-12T13:49:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:49:49-04:00", - "2024-03-12T13:49:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:50:36-04:00", - "2024-03-12T13:50:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:51:01-04:00", - "2024-03-12T13:51:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:51:28-04:00", - "2024-03-12T13:51:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:51:54-04:00", - "2024-03-12T13:51:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:52:20-04:00", - "2024-03-12T13:52:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:52:45-04:00", - "2024-03-12T13:52:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:54:01-04:00", - "2024-03-12T13:54:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:55:17-04:00", - "2024-03-12T13:55:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:56:27-04:00", - "2024-03-12T13:56:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:56:51-04:00", - "2024-03-12T13:56:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:57:15-04:00", - "2024-03-12T13:57:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:57:40-04:00", - "2024-03-12T13:57:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:58:04-04:00", - "2024-03-12T13:58:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:58:28-04:00", - "2024-03-12T13:58:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:58:52-04:00", - "2024-03-12T13:58:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T13:59:39-04:00", - "2024-03-12T13:59:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:00:07-04:00", - "2024-03-12T14:00:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:00:31-04:00", - "2024-03-12T14:00:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:00:59-04:00", - "2024-03-12T14:01:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:01:24-04:00", - "2024-03-12T14:01:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:01:48-04:00", - "2024-03-12T14:01:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:02:12-04:00", - "2024-03-12T14:02:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:03:16-04:00", - "2024-03-12T14:03:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:04:03-04:00", - "2024-03-12T14:04:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:04:28-04:00", - "2024-03-12T14:04:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:05:16-04:00", - "2024-03-12T14:05:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:05:43-04:00", - "2024-03-12T14:05:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:06:53-04:00", - "2024-03-12T14:06:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:07:17-04:00", - "2024-03-12T14:07:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:07:42-04:00", - "2024-03-12T14:07:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:08:06-04:00", - "2024-03-12T14:08:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:08:54-04:00", - "2024-03-12T14:08:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:09:20-04:00", - "2024-03-12T14:09:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:09:44-04:00", - "2024-03-12T14:09:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:10:31-04:00", - "2024-03-12T14:10:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:11:20-04:00", - "2024-03-12T14:11:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:11:45-04:00", - "2024-03-12T14:11:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:12:11-04:00", - "2024-03-12T14:12:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:13:22-04:00", - "2024-03-12T14:13:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:14:40-04:00", - "2024-03-12T14:14:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:15:27-04:00", - "2024-03-12T14:15:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:16:15-04:00", - "2024-03-12T14:16:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:16:41-04:00", - "2024-03-12T14:16:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:17:08-04:00", - "2024-03-12T14:17:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:17:33-04:00", - "2024-03-12T14:17:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:18:44-04:00", - "2024-03-12T14:18:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:19:38-04:00", - "2024-03-12T14:19:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:20:04-04:00", - "2024-03-12T14:20:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:20:28-04:00", - "2024-03-12T14:20:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:21:38-04:00", - "2024-03-12T14:21:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:22:03-04:00", - "2024-03-12T14:22:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:22:27-04:00", - "2024-03-12T14:22:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:22:55-04:00", - "2024-03-12T14:23:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:23:48-04:00", - "2024-03-12T14:23:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:24:13-04:00", - "2024-03-12T14:24:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:26:57-04:00", - "2024-03-12T14:26:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:28:53-04:00", - "2024-03-12T14:28:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:29:17-04:00", - "2024-03-12T14:29:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:29:44-04:00", - "2024-03-12T14:29:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:30:13-04:00", - "2024-03-12T14:30:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:31:23-04:00", - "2024-03-12T14:31:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:32:10-04:00", - "2024-03-12T14:32:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:33:02-04:00", - "2024-03-12T14:33:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:33:37-04:00", - "2024-03-12T14:33:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:34:24-04:00", - "2024-03-12T14:34:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:34:50-04:00", - "2024-03-12T14:34:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:35:15-04:00", - "2024-03-12T14:35:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:35:42-04:00", - "2024-03-12T14:35:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:36:06-04:00", - "2024-03-12T14:36:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:36:40-04:00", - "2024-03-12T14:36:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:37:04-04:00", - "2024-03-12T14:37:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:37:28-04:00", - "2024-03-12T14:37:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:39:01-04:00", - "2024-03-12T14:39:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:39:25-04:00", - "2024-03-12T14:39:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:41:01-04:00", - "2024-03-12T14:41:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:41:25-04:00", - "2024-03-12T14:41:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:42:14-04:00", - "2024-03-12T14:42:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:42:39-04:00", - "2024-03-12T14:42:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:44:58-04:00", - "2024-03-12T14:45:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:46:11-04:00", - "2024-03-12T14:46:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:47:01-04:00", - "2024-03-12T14:47:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:48:12-04:00", - "2024-03-12T14:48:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:48:37-04:00", - "2024-03-12T14:48:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:49:08-04:00", - "2024-03-12T14:49:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:50:18-04:00", - "2024-03-12T14:50:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:51:58-04:00", - "2024-03-12T14:51:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:53:08-04:00", - "2024-03-12T14:53:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:53:47-04:00", - "2024-03-12T14:53:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:55:21-04:00", - "2024-03-12T14:55:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:56:08-04:00", - "2024-03-12T14:56:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:56:55-04:00", - "2024-03-12T14:56:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:57:22-04:00", - "2024-03-12T14:57:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:57:47-04:00", - "2024-03-12T14:57:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:58:39-04:00", - "2024-03-12T14:58:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:59:03-04:00", - "2024-03-12T14:59:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T14:59:51-04:00", - "2024-03-12T14:59:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:00:17-04:00", - "2024-03-12T15:00:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:00:43-04:00", - "2024-03-12T15:00:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:01:07-04:00", - "2024-03-12T15:01:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:01:56-04:00", - "2024-03-12T15:01:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:02:44-04:00", - "2024-03-12T15:02:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:03:33-04:00", - "2024-03-12T15:03:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:04:45-04:00", - "2024-03-12T15:04:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:05:10-04:00", - "2024-03-12T15:05:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:05:34-04:00", - "2024-03-12T15:05:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:06:21-04:00", - "2024-03-12T15:06:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:07:31-04:00", - "2024-03-12T15:07:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:08:19-04:00", - "2024-03-12T15:08:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:09:08-04:00", - "2024-03-12T15:09:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:09:32-04:00", - "2024-03-12T15:09:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:09:56-04:00", - "2024-03-12T15:09:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:10:20-04:00", - "2024-03-12T15:10:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:11:30-04:00", - "2024-03-12T15:11:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:12:40-04:00", - "2024-03-12T15:12:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:13:53-04:00", - "2024-03-12T15:13:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:16:12-04:00", - "2024-03-12T15:16:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:16:59-04:00", - "2024-03-12T15:17:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:17:23-04:00", - "2024-03-12T15:17:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:18:38-04:00", - "2024-03-12T15:18:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:19:25-04:00", - "2024-03-12T15:19:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:19:52-04:00", - "2024-03-12T15:19:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:20:40-04:00", - "2024-03-12T15:20:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:21:08-04:00", - "2024-03-12T15:21:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:23:06-04:00", - "2024-03-12T15:23:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:23:55-04:00", - "2024-03-12T15:24:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:24:23-04:00", - "2024-03-12T15:24:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:25:57-04:00", - "2024-03-12T15:25:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:26:21-04:00", - "2024-03-12T15:26:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:26:49-04:00", - "2024-03-12T15:26:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:27:38-04:00", - "2024-03-12T15:27:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:28:25-04:00", - "2024-03-12T15:28:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:29:40-04:00", - "2024-03-12T15:29:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:30:05-04:00", - "2024-03-12T15:30:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:30:52-04:00", - "2024-03-12T15:30:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:33:11-04:00", - "2024-03-12T15:33:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:33:37-04:00", - "2024-03-12T15:33:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:39:24-04:00", - "2024-03-12T15:39:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:39:48-04:00", - "2024-03-12T15:39:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:40:12-04:00", - "2024-03-12T15:40:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:40:36-04:00", - "2024-03-12T15:40:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:41:01-04:00", - "2024-03-12T15:41:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:42:36-04:00", - "2024-03-12T15:42:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:43:46-04:00", - "2024-03-12T15:43:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:44:34-04:00", - "2024-03-12T15:44:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:45:24-04:00", - "2024-03-12T15:45:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:45:48-04:00", - "2024-03-12T15:45:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:46:35-04:00", - "2024-03-12T15:46:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:48:54-04:00", - "2024-03-12T15:48:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:49:41-04:00", - "2024-03-12T15:49:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:50:30-04:00", - "2024-03-12T15:50:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T15:50:54-04:00", - "2024-03-12T15:50:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-12T16:00:07-04:00", - "2024-03-13T09:30:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:30:23-04:00", - "2024-03-13T09:30:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:31:10-04:00", - "2024-03-13T09:31:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:32:21-04:00", - "2024-03-13T09:32:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:35:26-04:00", - "2024-03-13T09:35:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:37:23-04:00", - "2024-03-13T09:37:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:38:10-04:00", - "2024-03-13T09:38:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:38:35-04:00", - "2024-03-13T09:38:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:40:54-04:00", - "2024-03-13T09:40:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:41:41-04:00", - "2024-03-13T09:41:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:47:53-04:00", - "2024-03-13T09:47:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:48:17-04:00", - "2024-03-13T09:48:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:52:55-04:00", - "2024-03-13T09:52:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:57:32-04:00", - "2024-03-13T09:57:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:57:56-04:00", - "2024-03-13T09:57:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:58:20-04:00", - "2024-03-13T09:58:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T09:59:53-04:00", - "2024-03-13T09:59:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:01:03-04:00", - "2024-03-13T10:01:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:09:30-04:00", - "2024-03-13T10:09:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:10:17-04:00", - "2024-03-13T10:10:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:10:42-04:00", - "2024-03-13T10:10:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:11:53-04:00", - "2024-03-13T10:11:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:12:17-04:00", - "2024-03-13T10:12:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:12:41-04:00", - "2024-03-13T10:12:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:14:14-04:00", - "2024-03-13T10:14:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:15:25-04:00", - "2024-03-13T10:15:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:18:53-04:00", - "2024-03-13T10:18:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:19:17-04:00", - "2024-03-13T10:19:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:19:43-04:00", - "2024-03-13T10:19:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:20:31-04:00", - "2024-03-13T10:20:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:21:41-04:00", - "2024-03-13T10:21:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:22:51-04:00", - "2024-03-13T10:22:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:24:25-04:00", - "2024-03-13T10:24:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:24:50-04:00", - "2024-03-13T10:24:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:26:23-04:00", - "2024-03-13T10:26:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:27:57-04:00", - "2024-03-13T10:27:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:28:45-04:00", - "2024-03-13T10:28:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:29:33-04:00", - "2024-03-13T10:29:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:29:58-04:00", - "2024-03-13T10:30:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:30:23-04:00", - "2024-03-13T10:30:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:31:33-04:00", - "2024-03-13T10:31:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:32:21-04:00", - "2024-03-13T10:32:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:33:08-04:00", - "2024-03-13T10:33:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:33:56-04:00", - "2024-03-13T10:34:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:34:23-04:00", - "2024-03-13T10:34:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:34:49-04:00", - "2024-03-13T10:34:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:36:22-04:00", - "2024-03-13T10:36:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:37:09-04:00", - "2024-03-13T10:37:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:38:42-04:00", - "2024-03-13T10:38:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:40:39-04:00", - "2024-03-13T10:40:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:41:49-04:00", - "2024-03-13T10:41:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:42:36-04:00", - "2024-03-13T10:42:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:43:46-04:00", - "2024-03-13T10:43:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:45:42-04:00", - "2024-03-13T10:45:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:47:40-04:00", - "2024-03-13T10:47:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:48:04-04:00", - "2024-03-13T10:48:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:49:38-04:00", - "2024-03-13T10:49:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:52:20-04:00", - "2024-03-13T10:52:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:56:57-04:00", - "2024-03-13T10:56:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T10:58:07-04:00", - "2024-03-13T10:58:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:01:12-04:00", - "2024-03-13T11:01:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:03:31-04:00", - "2024-03-13T11:03:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:03:55-04:00", - "2024-03-13T11:03:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:05:07-04:00", - "2024-03-13T11:05:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:05:56-04:00", - "2024-03-13T11:05:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:06:43-04:00", - "2024-03-13T11:06:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:09:26-04:00", - "2024-03-13T11:09:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:11:49-04:00", - "2024-03-13T11:11:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:13:23-04:00", - "2024-03-13T11:13:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:13:48-04:00", - "2024-03-13T11:13:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:14:37-04:00", - "2024-03-13T11:14:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:16:10-04:00", - "2024-03-13T11:16:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:18:07-04:00", - "2024-03-13T11:18:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:18:54-04:00", - "2024-03-13T11:18:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:19:43-04:00", - "2024-03-13T11:19:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:20:53-04:00", - "2024-03-13T11:20:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:21:41-04:00", - "2024-03-13T11:21:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:22:05-04:00", - "2024-03-13T11:22:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:23:22-04:00", - "2024-03-13T11:23:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:26:05-04:00", - "2024-03-13T11:26:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:26:53-04:00", - "2024-03-13T11:26:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:28:28-04:00", - "2024-03-13T11:28:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:30:48-04:00", - "2024-03-13T11:30:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:33:32-04:00", - "2024-03-13T11:33:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:38:36-04:00", - "2024-03-13T11:38:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:48:12-04:00", - "2024-03-13T11:48:13-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:48:36-04:00", - "2024-03-13T11:48:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:50:55-04:00", - "2024-03-13T11:50:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:53:40-04:00", - "2024-03-13T11:53:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:54:27-04:00", - "2024-03-13T11:54:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:54:52-04:00", - "2024-03-13T11:54:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:56:02-04:00", - "2024-03-13T11:56:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:56:49-04:00", - "2024-03-13T11:56:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T11:59:31-04:00", - "2024-03-13T11:59:32-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:03:22-04:00", - "2024-03-13T12:03:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:03:46-04:00", - "2024-03-13T12:03:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:05:19-04:00", - "2024-03-13T12:05:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:06:06-04:00", - "2024-03-13T12:06:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:07:16-04:00", - "2024-03-13T12:07:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:07:40-04:00", - "2024-03-13T12:07:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:10:23-04:00", - "2024-03-13T12:10:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:11:34-04:00", - "2024-03-13T12:11:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:11:58-04:00", - "2024-03-13T12:12:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:13:11-04:00", - "2024-03-13T12:13:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:13:37-04:00", - "2024-03-13T12:13:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:14:01-04:00", - "2024-03-13T12:14:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:18:38-04:00", - "2024-03-13T12:18:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:19:25-04:00", - "2024-03-13T12:19:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:21:01-04:00", - "2024-03-13T12:21:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:22:12-04:00", - "2024-03-13T12:22:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:23:00-04:00", - "2024-03-13T12:23:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:24:36-04:00", - "2024-03-13T12:24:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:25:46-04:00", - "2024-03-13T12:25:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:26:10-04:00", - "2024-03-13T12:26:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:27:20-04:00", - "2024-03-13T12:27:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:29:39-04:00", - "2024-03-13T12:29:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:30:49-04:00", - "2024-03-13T12:30:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:34:18-04:00", - "2024-03-13T12:34:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:36:14-04:00", - "2024-03-13T12:36:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:37:02-04:00", - "2024-03-13T12:37:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:37:27-04:00", - "2024-03-13T12:37:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:37:51-04:00", - "2024-03-13T12:37:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:39:47-04:00", - "2024-03-13T12:39:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:42:06-04:00", - "2024-03-13T12:42:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:46:43-04:00", - "2024-03-13T12:46:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:47:36-04:00", - "2024-03-13T12:47:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:51:27-04:00", - "2024-03-13T12:51:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:51:52-04:00", - "2024-03-13T12:51:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:52:39-04:00", - "2024-03-13T12:52:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:53:03-04:00", - "2024-03-13T12:53:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:54:13-04:00", - "2024-03-13T12:54:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T12:58:04-04:00", - "2024-03-13T12:58:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:00:26-04:00", - "2024-03-13T13:00:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:04:17-04:00", - "2024-03-13T13:04:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:04:42-04:00", - "2024-03-13T13:04:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:05:07-04:00", - "2024-03-13T13:05:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:05:55-04:00", - "2024-03-13T13:05:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:07:05-04:00", - "2024-03-13T13:07:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:07:29-04:00", - "2024-03-13T13:07:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:09:02-04:00", - "2024-03-13T13:09:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:09:26-04:00", - "2024-03-13T13:09:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:09:50-04:00", - "2024-03-13T13:09:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:10:37-04:00", - "2024-03-13T13:10:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:11:25-04:00", - "2024-03-13T13:11:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:12:35-04:00", - "2024-03-13T13:12:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:12:59-04:00", - "2024-03-13T13:13:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:13:27-04:00", - "2024-03-13T13:13:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:14:14-04:00", - "2024-03-13T13:14:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:15:24-04:00", - "2024-03-13T13:15:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:18:30-04:00", - "2024-03-13T13:18:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:18:54-04:00", - "2024-03-13T13:18:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:19:19-04:00", - "2024-03-13T13:19:22-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:19:45-04:00", - "2024-03-13T13:19:46-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:20:09-04:00", - "2024-03-13T13:20:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:20:34-04:00", - "2024-03-13T13:20:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:21:24-04:00", - "2024-03-13T13:21:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:21:48-04:00", - "2024-03-13T13:21:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:22:12-04:00", - "2024-03-13T13:22:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:22:39-04:00", - "2024-03-13T13:22:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:23:03-04:00", - "2024-03-13T13:23:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:24:59-04:00", - "2024-03-13T13:25:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:27:19-04:00", - "2024-03-13T13:27:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:28:52-04:00", - "2024-03-13T13:28:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:29:16-04:00", - "2024-03-13T13:29:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:29:40-04:00", - "2024-03-13T13:29:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:30:05-04:00", - "2024-03-13T13:30:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:30:29-04:00", - "2024-03-13T13:30:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:31:16-04:00", - "2024-03-13T13:31:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:31:40-04:00", - "2024-03-13T13:31:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:32:04-04:00", - "2024-03-13T13:32:07-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:36:20-04:00", - "2024-03-13T13:36:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:36:47-04:00", - "2024-03-13T13:36:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:38:01-04:00", - "2024-03-13T13:38:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:38:25-04:00", - "2024-03-13T13:38:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:38:50-04:00", - "2024-03-13T13:38:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:39:14-04:00", - "2024-03-13T13:39:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:39:42-04:00", - "2024-03-13T13:39:44-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:42:02-04:00", - "2024-03-13T13:42:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:42:27-04:00", - "2024-03-13T13:42:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:44:01-04:00", - "2024-03-13T13:44:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:44:25-04:00", - "2024-03-13T13:44:26-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:47:07-04:00", - "2024-03-13T13:47:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:47:31-04:00", - "2024-03-13T13:47:34-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:48:20-04:00", - "2024-03-13T13:48:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:50:16-04:00", - "2024-03-13T13:50:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:55:17-04:00", - "2024-03-13T13:55:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:55:42-04:00", - "2024-03-13T13:55:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:58:24-04:00", - "2024-03-13T13:58:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T13:59:11-04:00", - "2024-03-13T13:59:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:00:21-04:00", - "2024-03-13T14:00:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:00:46-04:00", - "2024-03-13T14:00:48-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:01:11-04:00", - "2024-03-13T14:01:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:01:35-04:00", - "2024-03-13T14:01:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:01:59-04:00", - "2024-03-13T14:02:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:02:47-04:00", - "2024-03-13T14:02:51-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:03:14-04:00", - "2024-03-13T14:03:15-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:04:01-04:00", - "2024-03-13T14:04:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:04:25-04:00", - "2024-03-13T14:04:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:05:38-04:00", - "2024-03-13T14:05:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:06:02-04:00", - "2024-03-13T14:06:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:06:28-04:00", - "2024-03-13T14:06:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:07:19-04:00", - "2024-03-13T14:07:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:07:44-04:00", - "2024-03-13T14:07:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:08:13-04:00", - "2024-03-13T14:08:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:09:00-04:00", - "2024-03-13T14:09:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:09:26-04:00", - "2024-03-13T14:09:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:10:16-04:00", - "2024-03-13T14:10:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:10:42-04:00", - "2024-03-13T14:10:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:11:29-04:00", - "2024-03-13T14:11:31-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:12:40-04:00", - "2024-03-13T14:12:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:13:04-04:00", - "2024-03-13T14:13:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:14:37-04:00", - "2024-03-13T14:14:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:15:02-04:00", - "2024-03-13T14:15:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:17:44-04:00", - "2024-03-13T14:17:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:18:33-04:00", - "2024-03-13T14:18:35-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:18:58-04:00", - "2024-03-13T14:19:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:19:48-04:00", - "2024-03-13T14:19:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:20:36-04:00", - "2024-03-13T14:20:38-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:22:56-04:00", - "2024-03-13T14:22:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:23:44-04:00", - "2024-03-13T14:23:45-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:24:08-04:00", - "2024-03-13T14:24:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:24:57-04:00", - "2024-03-13T14:24:58-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:27:39-04:00", - "2024-03-13T14:27:41-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:28:04-04:00", - "2024-03-13T14:28:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:28:28-04:00", - "2024-03-13T14:28:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:29:38-04:00", - "2024-03-13T14:29:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:30:25-04:00", - "2024-03-13T14:30:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:30:51-04:00", - "2024-03-13T14:30:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:31:16-04:00", - "2024-03-13T14:31:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:32:26-04:00", - "2024-03-13T14:32:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:32:50-04:00", - "2024-03-13T14:32:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:33:38-04:00", - "2024-03-13T14:33:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:34:26-04:00", - "2024-03-13T14:34:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:34:51-04:00", - "2024-03-13T14:34:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:35:38-04:00", - "2024-03-13T14:35:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:37:11-04:00", - "2024-03-13T14:37:12-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:37:58-04:00", - "2024-03-13T14:37:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:39:31-04:00", - "2024-03-13T14:39:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:39:56-04:00", - "2024-03-13T14:39:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:41:29-04:00", - "2024-03-13T14:41:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:41:53-04:00", - "2024-03-13T14:41:56-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:42:19-04:00", - "2024-03-13T14:42:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:44:39-04:00", - "2024-03-13T14:44:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:45:03-04:00", - "2024-03-13T14:45:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:45:27-04:00", - "2024-03-13T14:45:29-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:46:15-04:00", - "2024-03-13T14:46:16-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:46:39-04:00", - "2024-03-13T14:46:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:47:26-04:00", - "2024-03-13T14:47:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:47:51-04:00", - "2024-03-13T14:47:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:48:16-04:00", - "2024-03-13T14:48:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:49:52-04:00", - "2024-03-13T14:49:53-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:51:25-04:00", - "2024-03-13T14:51:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:52:37-04:00", - "2024-03-13T14:52:39-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:53:25-04:00", - "2024-03-13T14:53:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:55:00-04:00", - "2024-03-13T14:55:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:56:59-04:00", - "2024-03-13T14:57:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:57:46-04:00", - "2024-03-13T14:57:47-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T14:59:19-04:00", - "2024-03-13T14:59:20-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:00:06-04:00", - "2024-03-13T15:00:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:00:54-04:00", - "2024-03-13T15:00:59-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:01:22-04:00", - "2024-03-13T15:01:23-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:02:32-04:00", - "2024-03-13T15:02:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:02:59-04:00", - "2024-03-13T15:03:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:03:26-04:00", - "2024-03-13T15:03:28-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:03:51-04:00", - "2024-03-13T15:04:01-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:04:24-04:00", - "2024-03-13T15:04:27-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:04:50-04:00", - "2024-03-13T15:04:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:05:38-04:00", - "2024-03-13T15:05:40-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:06:49-04:00", - "2024-03-13T15:06:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:07:18-04:00", - "2024-03-13T15:07:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:10:23-04:00", - "2024-03-13T15:10:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:11:10-04:00", - "2024-03-13T15:11:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:13:06-04:00", - "2024-03-13T15:13:08-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:13:54-04:00", - "2024-03-13T15:13:55-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:14:18-04:00", - "2024-03-13T15:14:19-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:14:42-04:00", - "2024-03-13T15:14:43-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:15:52-04:00", - "2024-03-13T15:15:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:16:17-04:00", - "2024-03-13T15:16:18-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:16:41-04:00", - "2024-03-13T15:16:42-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:17:51-04:00", - "2024-03-13T15:17:52-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:19:01-04:00", - "2024-03-13T15:19:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:19:48-04:00", - "2024-03-13T15:19:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:20:36-04:00", - "2024-03-13T15:20:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:22:09-04:00", - "2024-03-13T15:22:10-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:24:05-04:00", - "2024-03-13T15:24:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:26:01-04:00", - "2024-03-13T15:26:02-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:26:48-04:00", - "2024-03-13T15:26:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:27:35-04:00", - "2024-03-13T15:27:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:27:59-04:00", - "2024-03-13T15:28:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:29:32-04:00", - "2024-03-13T15:29:33-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:29:56-04:00", - "2024-03-13T15:29:57-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:32:15-04:00", - "2024-03-13T15:32:17-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:33:03-04:00", - "2024-03-13T15:33:04-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:34:36-04:00", - "2024-03-13T15:34:37-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:35:23-04:00", - "2024-03-13T15:35:24-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:38:05-04:00", - "2024-03-13T15:38:06-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:38:29-04:00", - "2024-03-13T15:38:30-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:38:53-04:00", - "2024-03-13T15:38:54-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:40:49-04:00", - "2024-03-13T15:40:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:41:13-04:00", - "2024-03-13T15:41:14-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:42:23-04:00", - "2024-03-13T15:42:25-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:42:48-04:00", - "2024-03-13T15:42:49-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:43:35-04:00", - "2024-03-13T15:43:36-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:43:59-04:00", - "2024-03-13T15:44:00-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:45:09-04:00", - "2024-03-13T15:45:11-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:46:20-04:00", - "2024-03-13T15:46:21-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:49:02-04:00", - "2024-03-13T15:49:03-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:49:49-04:00", - "2024-03-13T15:49:50-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:52:08-04:00", - "2024-03-13T15:52:09-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:54:04-04:00", - "2024-03-13T15:54:05-04:00" - ] - }, - { - "bounds": [ - "2024-03-13T15:55:37-04:00", - "2024-03-13T15:55:38-04:00" - ] - } - ] - } - } - } - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ { "mode": "lines", "name": "real", "showlegend": true, "type": "scatter", - "uid": "0c2b8ac8-2956-4bc8-8308-27f67bcdf881", + "uid": "b8228feb-b634-4391-b74b-0decd43c5800", "x": [ "2024-03-12T09:30:00-04:00", "2024-03-12T09:30:23-04:00", @@ -49962,6 +9145,11 @@ }, "width": 1280, "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], "rangebreaks": [ { "bounds": [ @@ -54572,6 +13760,13 @@ ] } ] + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ] } } } @@ -54584,22 +13779,27 @@ "run_rsi = vbt.talib_func(\"rsi\")\n", "rsi_new = run_rsi(basic_data.vwap, timeperiod=15)\n", "rsi_new = rsi_new.fillna(0)\n", - "print(rsi_new)\n", - "print(dir(rsi_new))\n", + "# print(rsi_new)\n", + "# print(dir(rsi_new))\n", "rsi14 = basic_data.data[\"BAC\"][\"Rsi14\"]\n", - "print(rsi14)\n", + "# print(rsi14)\n", "\n", - "combined_df = pd.concat([rsi_new, rsi14], axis=1)\n", - "combined_df\n", + "#zkombinujeme do stejneho dataframe skrz sloupce (axis1)\n", + "# combined_df = pd.concat([rsi_new, rsi14], axis=1)\n", + "# combined_df\n", + "\n", + "#create subplot\n", + "fig = vbt.make_subplots(rows=1, cols=1, shared_xaxes=True)\n", "\n", "plot_rsi = vbt.talib_plot_func(\"rsi\")\n", - "plot_rsi(rsi_new).show()\n", - "plot_rsi(rsi14).show()\n" + "plot_rsi(rsi_new, fig=fig)\n", + "plot_rsi(rsi14, fig=fig)\n", + "fig.show()" ] }, { "cell_type": "code", - "execution_count": 211, + "execution_count": 52, "metadata": {}, "outputs": [ { @@ -54620,7 +13820,7 @@ "Name: Vwap, Length: 1961, dtype: bool" ] }, - "execution_count": 211, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -54632,7 +13832,7 @@ }, { "cell_type": "code", - "execution_count": 212, + "execution_count": 53, "metadata": {}, "outputs": [ { @@ -54653,7 +13853,7 @@ "Name: Vwap, Length: 1961, dtype: bool" ] }, - "execution_count": 212, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -54665,7 +13865,7 @@ }, { "cell_type": "code", - "execution_count": 213, + "execution_count": 54, "metadata": {}, "outputs": [ { @@ -62562,7 +21762,7 @@ 36.08 ], "type": "candlestick", - "uid": "d4ca0ab8-1e54-4e68-8d6b-e2c18d2b243f", + "uid": "a57bdc26-86f1-4d93-8a8e-8126412c48ae", "x": [ "2024-03-12T09:30:00-04:00", "2024-03-12T09:30:23-04:00", @@ -66501,7 +25701,7 @@ "name": "Volume", "opacity": 0.5, "type": "bar", - "uid": "1e37740d-9ee2-449d-a328-90a429c85b3a", + "uid": "18d000e3-3df4-49ea-8f67-ef2ce2a865dc", "x": [ "2024-03-12T09:30:00-04:00", "2024-03-12T09:30:23-04:00", @@ -70439,7 +29639,7 @@ "name": "Vwap", "showlegend": true, "type": "scatter", - "uid": "e102314a-487c-4d58-b8e5-db2a3720990a", + "uid": "f8bfc1af-8eb6-49e5-ab1a-3328eb81452b", "x": [ "2024-03-12T09:30:00-04:00", "2024-03-12T09:30:23-04:00", @@ -74383,7 +33583,7 @@ "name": "Entries", "showlegend": true, "type": "scatter", - "uid": "16de330c-817d-45e1-8fd2-b8b7addb8a44", + "uid": "da071d42-462c-47a6-ac48-3ca52a67a351", "x": [ "2024-03-12T11:27:11-04:00", "2024-03-12T11:46:26-04:00", @@ -74475,7 +33675,7 @@ "name": "Exits", "showlegend": true, "type": "scatter", - "uid": "ad7b9ceb-b1de-4c9d-ad44-514eb8abc73a", + "uid": "66fa8b32-c3c3-4159-a0c1-d8599e9c8540", "x": [ "2024-03-12T09:56:09-04:00", "2024-03-12T09:57:42-04:00", @@ -92533,7 +51733,7 @@ 36.08 ], "type": "candlestick", - "uid": "95062a7f-bddf-4ba8-89df-690d1fb7bf78", + "uid": "aef022d5-a1bc-4091-8b16-f11b21c1ec20", "x": [ "2024-03-12T09:30:00-04:00", "2024-03-12T09:30:23-04:00", @@ -96472,7 +55672,7 @@ "name": "Volume", "opacity": 0.5, "type": "bar", - "uid": "f75fd578-357e-4279-8a5c-71b710573a80", + "uid": "bc64e35a-e77d-4b26-b45c-5042c072b4e4", "x": [ "2024-03-12T09:30:00-04:00", "2024-03-12T09:30:23-04:00", @@ -100410,7 +59610,7 @@ "name": "Vwap", "showlegend": true, "type": "scatter", - "uid": "ac249064-e86c-4fd6-b577-a8a0e4553584", + "uid": "06553329-871d-4681-891e-eb0f858fa943", "x": [ "2024-03-12T09:30:00-04:00", "2024-03-12T09:30:23-04:00", @@ -104354,7 +63554,7 @@ "name": "Entries", "showlegend": true, "type": "scatter", - "uid": "d89b4fe1-b7e8-4291-a5a2-35303bf3ee0a", + "uid": "3b5d0eaa-513a-4915-bda5-af895723036c", "x": [ "2024-03-12T11:27:11-04:00", "2024-03-12T11:46:26-04:00", @@ -104402,7 +63602,7 @@ "name": "Exits", "showlegend": true, "type": "scatter", - "uid": "21a89431-dd37-4e59-a581-aa704917a3c1", + "uid": "7dfe77e4-a827-4a89-a06a-7eea06903adf", "x": [ "2024-03-12T11:36:40-04:00", "2024-03-12T12:55:25-04:00", @@ -114553,7 +73753,7 @@ }, { "cell_type": "code", - "execution_count": 214, + "execution_count": 55, "metadata": {}, "outputs": [ { @@ -114562,7 +73762,7 @@ "12" ] }, - "execution_count": 214, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -114574,7 +73774,7 @@ }, { "cell_type": "code", - "execution_count": 205, + "execution_count": 56, "metadata": {}, "outputs": [], "source": [ @@ -114600,7 +73800,7 @@ }, { "cell_type": "code", - "execution_count": 206, + "execution_count": 57, "metadata": {}, "outputs": [ { @@ -122509,7 +81709,7 @@ 36.08 ], "type": "candlestick", - "uid": "ce098689-2595-462d-9a38-64692add2ab7", + "uid": "e714e4b7-c4e8-412a-8526-ccc56a323b98", "x": [ "2024-03-12T09:30:00-04:00", "2024-03-12T09:30:23-04:00", @@ -126448,7 +85648,7 @@ "name": "Volume", "opacity": 0.5, "type": "bar", - "uid": "4893a1c1-8ebd-4e8c-aa9c-88f88f15ba1d", + "uid": "0d725cb6-86e6-4078-953e-e484e2523ef9", "x": [ "2024-03-12T09:30:00-04:00", "2024-03-12T09:30:23-04:00", @@ -130386,7 +89586,7 @@ "name": "Vwap", "showlegend": true, "type": "scatter", - "uid": "a37182b1-73b7-4257-8ea7-e04c549017f1", + "uid": "d4b2ab2f-4afb-4ab6-b281-c003e028c15f", "x": [ "2024-03-12T09:30:00-04:00", "2024-03-12T09:30:23-04:00", @@ -134330,15 +93530,41 @@ "name": "Entries", "showlegend": true, "type": "scatter", - "uid": "f2dbdc05-04ef-4a78-80bf-80bc9a8dd969", + "uid": "39a40550-f0be-47e2-bb82-7f2c5869e804", "x": [ + "2024-03-12T09:31:11-04:00", + "2024-03-12T09:33:09-04:00", "2024-03-12T09:51:28-04:00", "2024-03-12T09:55:46-04:00", "2024-03-12T09:58:06-04:00", "2024-03-12T10:02:24-04:00", "2024-03-12T10:19:06-04:00", "2024-03-12T10:24:30-04:00", - "2024-03-13T09:41:18-04:00", + "2024-03-12T10:36:30-04:00", + "2024-03-12T10:41:55-04:00", + "2024-03-12T10:44:18-04:00", + "2024-03-12T10:51:30-04:00", + "2024-03-12T10:55:12-04:00", + "2024-03-12T11:08:57-04:00", + "2024-03-12T11:35:05-04:00", + "2024-03-12T11:37:53-04:00", + "2024-03-12T11:52:54-04:00", + "2024-03-12T12:07:02-04:00", + "2024-03-12T12:53:28-04:00", + "2024-03-12T12:59:10-04:00", + "2024-03-12T13:18:12-04:00", + "2024-03-12T13:19:45-04:00", + "2024-03-12T13:48:14-04:00", + "2024-03-12T13:55:41-04:00", + "2024-03-12T14:10:57-04:00", + "2024-03-12T14:30:14-04:00", + "2024-03-12T14:51:35-04:00", + "2024-03-12T14:55:22-04:00", + "2024-03-12T15:21:57-04:00", + "2024-03-13T09:31:12-04:00", + "2024-03-13T09:33:08-04:00", + "2024-03-13T09:36:14-04:00", + "2024-03-13T09:40:31-04:00", "2024-03-13T09:43:17-04:00", "2024-03-13T09:45:35-04:00", "2024-03-13T09:46:21-04:00", @@ -134346,17 +93572,57 @@ "2024-03-13T09:51:23-04:00", "2024-03-13T09:54:51-04:00", "2024-03-13T09:59:54-04:00", - "2024-03-13T10:02:13-04:00" + "2024-03-13T10:02:13-04:00", + "2024-03-13T11:03:08-04:00", + "2024-03-13T11:04:44-04:00", + "2024-03-13T11:07:54-04:00", + "2024-03-13T11:37:27-04:00", + "2024-03-13T11:39:23-04:00", + "2024-03-13T11:40:32-04:00", + "2024-03-13T11:44:22-04:00", + "2024-03-13T12:35:05-04:00", + "2024-03-13T13:08:16-04:00", + "2024-03-13T13:14:15-04:00", + "2024-03-13T13:23:04-04:00", + "2024-03-13T13:47:57-04:00", + "2024-03-13T15:21:46-04:00", + "2024-03-13T15:38:54-04:00" ], "xaxis": "x", "y": [ + 36.07, + 36.04, 35.875, 35.946, 35.975, 35.99, 35.97, 36.0192, - 36.24, + 36.0399, + 36.05, + 36.086, + 36.1, + 36.135, + 36.115, + 36.095, + 36.135, + 36.105, + 36.125, + 36.01, + 36.05, + 35.9629, + 36, + 35.932, + 35.966, + 35.9598, + 36.0025, + 36.02, + 36.0716, + 36.055, + 36.07, + 36.08, + 36.1703, + 36.21, 36.26, 36.33, 36.295, @@ -134364,7 +93630,21 @@ 36.336, 36.39, 36.43, - 36.41 + 36.41, + 36.295, + 36.3138, + 36.3588, + 36.325, + 36.36, + 36.375, + 36.41, + 36.265, + 36.2, + 36.22, + 36.225, + 36.1899, + 36.1683, + 36.155 ], "yaxis": "y2" }, @@ -134382,14 +93662,40 @@ "name": "Exits", "showlegend": true, "type": "scatter", - "uid": "c6fec1ed-d4de-4749-ab93-8479547061b3", + "uid": "e666a6e7-8e29-4921-90f2-8f13f60c7b81", "x": [ + "2024-03-12T09:32:46-04:00", + "2024-03-12T09:34:45-04:00", "2024-03-12T09:55:22-04:00", "2024-03-12T09:57:42-04:00", "2024-03-12T10:02:00-04:00", "2024-03-12T10:10:59-04:00", "2024-03-12T10:24:07-04:00", "2024-03-12T10:32:14-04:00", + "2024-03-12T10:40:44-04:00", + "2024-03-12T10:43:53-04:00", + "2024-03-12T10:45:50-04:00", + "2024-03-12T10:54:48-04:00", + "2024-03-12T10:59:06-04:00", + "2024-03-12T11:24:45-04:00", + "2024-03-12T11:37:29-04:00", + "2024-03-12T11:46:03-04:00", + "2024-03-12T12:02:01-04:00", + "2024-03-12T12:09:37-04:00", + "2024-03-12T12:58:46-04:00", + "2024-03-12T13:01:40-04:00", + "2024-03-12T13:19:21-04:00", + "2024-03-12T13:28:03-04:00", + "2024-03-12T13:55:18-04:00", + "2024-03-12T14:01:25-04:00", + "2024-03-12T14:29:50-04:00", + "2024-03-12T14:45:02-04:00", + "2024-03-12T14:54:58-04:00", + "2024-03-12T15:15:03-04:00", + "2024-03-12T15:32:02-04:00", + "2024-03-13T09:32:45-04:00", + "2024-03-13T09:35:51-04:00", + "2024-03-13T09:40:08-04:00", "2024-03-13T09:42:54-04:00", "2024-03-13T09:45:12-04:00", "2024-03-13T09:45:58-04:00", @@ -134398,16 +93704,56 @@ "2024-03-13T09:54:28-04:00", "2024-03-13T09:59:30-04:00", "2024-03-13T10:01:04-04:00", - "2024-03-13T10:02:59-04:00" + "2024-03-13T10:02:59-04:00", + "2024-03-13T11:04:21-04:00", + "2024-03-13T11:07:31-04:00", + "2024-03-13T11:26:30-04:00", + "2024-03-13T11:39:00-04:00", + "2024-03-13T11:40:09-04:00", + "2024-03-13T11:43:59-04:00", + "2024-03-13T11:47:26-04:00", + "2024-03-13T12:49:55-04:00", + "2024-03-13T13:13:51-04:00", + "2024-03-13T13:17:44-04:00", + "2024-03-13T13:30:06-04:00", + "2024-03-13T14:42:44-04:00", + "2024-03-13T15:27:36-04:00", + "2024-03-13T15:44:46-04:00" ], "xaxis": "x", "y": [ + 36.015, + 35.99, 35.926, 35.982, 36, 35.95, 36.01, 35.98, + 36.001, + 36.0886, + 36.02, + 36.145, + 36.095, + 36.075, + 36.14, + 36.085, + 36.065, + 36.085, + 36.05, + 35.99, + 35.991, + 35.955, + 35.97, + 35.93, + 36.005, + 35.965, + 36.06, + 36.035, + 36.01, + 36.125, + 36.145, + 36.21, 36.2814, 36.305, 36.2807, @@ -134416,7 +93762,21 @@ 36.375, 36.426, 36.39, - 36.365 + 36.365, + 36.325, + 36.35, + 36.315, + 36.3625, + 36.4, + 36.4101, + 36.37, + 36.225, + 36.235, + 36.18, + 36.1808, + 36.15, + 36.105, + 36.115 ], "yaxis": "y2" } @@ -144521,13 +103881,13 @@ "\n", "@vbt.njit\n", "def elapsed_minutes_from_open_nb(time_in_ns):\n", - " market_open_minutes = 570 # 9 hours * 60 minutes + 30 minutes\n", - " current_minutes = vbt.dt_nb.hour_nb(time_in_ns) * 60 + vbt.dt_nb.minute_nb(time_in_ns)\n", + " market_opens_in_minute = 570 # 9 hours * 60 minutes + 30 minutes\n", + " current_minute = vbt.dt_nb.hour_nb(time_in_ns) * 60 + vbt.dt_nb.minute_nb(time_in_ns)\n", " #print(\"current_minutes\", current_minutes)\n", " # Calculate elapsed minutes since market open at 9:30 AM\n", - " elapsed_minutes = current_minutes - market_open_minutes\n", - " print( \"elapsed_from_open\", elapsed_minutes)\n", - " return elapsed_minutes if elapsed_minutes >= 0 else 0\n", + " minutes_from_open = current_minute - market_opens_in_minute\n", + " print( \"elapsed_from_open\", minutes_from_open)\n", + " return minutes_from_open if minutes_from_open >= 0 else 0\n", "\n", "@vbt.njit\n", "def entry_place_func_nb(c, low, close, time_in_ns, rsi14, window_open, window_close):\n", @@ -144618,8 +103978,6 @@ "print(rsi_entries_array)\n", "\n", "\n", - "\n", - "\n", "entries, exits = vbt.pd_acc.signals.generate_both( # (6)!\n", " symbol_wrapper.shape,\n", " entry_place_func_nb=entry_place_func_nb,\n", diff --git a/research/indcross_parametrized.ipynb b/research/indcross_parametrized.ipynb new file mode 100644 index 0000000..d0e1c37 --- /dev/null +++ b/research/indcross_parametrized.ipynb @@ -0,0 +1,1526 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "celkovy optimalizacni backtest na vetsim oknu 1 - 300\n", + "a možná take to udělat jako parametr\n", + "zkusit CV\n", + "zobrazit nejak robustnost parametru" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Activating profile profile1\n",
+       "
\n" + ], + "text/plain": [ + "Activating profile profile1\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
Profile profile1 loaded successfully.\n",
+       "
\n" + ], + "text/plain": [ + "Profile profile1 loaded successfully.\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
Current values:\n",
+       "{\n",
+       "    'AGG_EXCLUDED_TRADES': ['C', 'O', '4', 'B', '7', 'V', 'P', 'W', 'U', 'Z', 'F'],\n",
+       "    'BT_DELAYS': {\n",
+       "        'trigger_to_strat': 0.02,\n",
+       "        'strat_to_sub': 0.023,\n",
+       "        'sub_to_fill': 0.008,\n",
+       "        'fill_to_not': 0.023,\n",
+       "        'limit_order_offset': 0\n",
+       "    },\n",
+       "    'BT_FILL_CONDITION_BUY_LIMIT': <FillCondition.SLOW: 'slow'>,\n",
+       "    'BT_FILL_CONDITION_SELL_LIMIT': <FillCondition.SLOW: 'slow'>,\n",
+       "    'BT_FILL_CONS_TRADES_REQUIRED': 2,\n",
+       "    'BT_FILL_LOG_SURROUNDING_TRADES': 10,\n",
+       "    'BT_FILL_PRICE_MARKET_ORDER_PREMIUM': 0.005,\n",
+       "    'COUNT_API_REQUESTS': False,\n",
+       "    'GROUP_TRADES_WITH_TIMESTAMP_LESS_THAN': 0.003,\n",
+       "    'ILOG_SAVE_LEVEL_FROM': 1,\n",
+       "    'LIVE_DATA_FEED': 'sip',\n",
+       "    'NORMALIZED_TICK_BASE_PRICE': 30.0,\n",
+       "    'OFFLINE_MODE': False,\n",
+       "    'PROD_SERVER_HOSTNAMES': ['tradingeastcoast', 'David-MacBook-Pro.local'],\n",
+       "    'QUIET_MODE': True,\n",
+       "    'TEST_SERVER_HOSTNAMES': ['tradingtest']\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "Current values:\n", + "\u001b[1m{\u001b[0m\n", + " \u001b[32m'AGG_EXCLUDED_TRADES'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'C'\u001b[0m, \u001b[32m'O'\u001b[0m, \u001b[32m'4'\u001b[0m, \u001b[32m'B'\u001b[0m, \u001b[32m'7'\u001b[0m, \u001b[32m'V'\u001b[0m, \u001b[32m'P'\u001b[0m, \u001b[32m'W'\u001b[0m, \u001b[32m'U'\u001b[0m, \u001b[32m'Z'\u001b[0m, \u001b[32m'F'\u001b[0m\u001b[1m]\u001b[0m,\n", + " \u001b[32m'BT_DELAYS'\u001b[0m: \u001b[1m{\u001b[0m\n", + " \u001b[32m'trigger_to_strat'\u001b[0m: \u001b[1;36m0.02\u001b[0m,\n", + " \u001b[32m'strat_to_sub'\u001b[0m: \u001b[1;36m0.023\u001b[0m,\n", + " \u001b[32m'sub_to_fill'\u001b[0m: \u001b[1;36m0.008\u001b[0m,\n", + " \u001b[32m'fill_to_not'\u001b[0m: \u001b[1;36m0.023\u001b[0m,\n", + " \u001b[32m'limit_order_offset'\u001b[0m: \u001b[1;36m0\u001b[0m\n", + " \u001b[1m}\u001b[0m,\n", + " \u001b[32m'BT_FILL_CONDITION_BUY_LIMIT'\u001b[0m: \u001b[1m<\u001b[0m\u001b[1;95mFillCondition.SLOW:\u001b[0m\u001b[39m \u001b[0m\u001b[32m'slow'\u001b[0m\u001b[39m>,\u001b[0m\n", + "\u001b[39m \u001b[0m\u001b[32m'BT_FILL_CONDITION_SELL_LIMIT'\u001b[0m\u001b[39m: \u001b[0m,\n", + " \u001b[32m'BT_FILL_CONS_TRADES_REQUIRED'\u001b[0m: \u001b[1;36m2\u001b[0m,\n", + " \u001b[32m'BT_FILL_LOG_SURROUNDING_TRADES'\u001b[0m: \u001b[1;36m10\u001b[0m,\n", + " \u001b[32m'BT_FILL_PRICE_MARKET_ORDER_PREMIUM'\u001b[0m: \u001b[1;36m0.005\u001b[0m,\n", + " \u001b[32m'COUNT_API_REQUESTS'\u001b[0m: \u001b[3;91mFalse\u001b[0m,\n", + " \u001b[32m'GROUP_TRADES_WITH_TIMESTAMP_LESS_THAN'\u001b[0m: \u001b[1;36m0.003\u001b[0m,\n", + " \u001b[32m'ILOG_SAVE_LEVEL_FROM'\u001b[0m: \u001b[1;36m1\u001b[0m,\n", + " \u001b[32m'LIVE_DATA_FEED'\u001b[0m: \u001b[32m'sip'\u001b[0m,\n", + " \u001b[32m'NORMALIZED_TICK_BASE_PRICE'\u001b[0m: \u001b[1;36m30.0\u001b[0m,\n", + " \u001b[32m'OFFLINE_MODE'\u001b[0m: \u001b[3;91mFalse\u001b[0m,\n", + " \u001b[32m'PROD_SERVER_HOSTNAMES'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'tradingeastcoast'\u001b[0m, \u001b[32m'David-MacBook-Pro.local'\u001b[0m\u001b[1m]\u001b[0m,\n", + " \u001b[32m'QUIET_MODE'\u001b[0m: \u001b[3;92mTrue\u001b[0m,\n", + " \u001b[32m'TEST_SERVER_HOSTNAMES'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'tradingtest'\u001b[0m\u001b[1m]\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
config_handler.active_profile='profile1'\n",
+       "
\n" + ], + "text/plain": [ + "config_handler.\u001b[33mactive_profile\u001b[0m=\u001b[32m'profile1'\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
config handler initialized\n",
+       "
\n" + ], + "text/plain": [ + "config handler initialized\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Realtime Websocket connection will use FEED: sip and credential of ACCOUNT1\n" + ] + }, + { + "data": { + "text/html": [ + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from v2realbot.tools.loadbatch import load_batch\n", + "from v2realbot.utils.utils import zoneNY\n", + "import pandas as pd\n", + "import numpy as np\n", + "import vectorbtpro as vbt\n", + "from itables import init_notebook_mode, show\n", + "import datetime\n", + "from itertools import product\n", + "\n", + "init_notebook_mode(all_interactive=True)\n", + "\n", + "vbt.settings.set_theme(\"dark\")\n", + "vbt.settings['plotting']['layout']['width'] = 1280\n", + "vbt.settings.plotting.auto_rangebreaks = True\n", + "# Set the option to display with pagination\n", + "pd.set_option('display.notebook_repr_html', True)\n", + "pd.set_option('display.max_rows', 10) # Number of rows per page\n", + "\n", + "# Define the market open and close times\n", + "market_open = datetime.time(9, 30)\n", + "market_close = datetime.time(16, 0)\n", + "entry_window_opens = 1\n", + "entry_window_closes = 370\n", + "\n", + "forced_exit_start = 380\n", + "forced_exit_end = 390\n", + "\n", + "res, df = load_batch(batch_id=\"f1ac6651\", #138170bc 0fb5043a bde6d0be f1ac6651\n", + " space_resolution_evenly=False,\n", + " indicators_columns=[\"Rsi14\"],\n", + " main_session_only=True,\n", + " verbose = False)\n", + "if res < 0:\n", + " print(\"Error\" + str(res) + str(df))\n", + "df = df[\"bars\"]\n", + "\n", + "df\n", + "\n", + "basic_data = vbt.Data.from_data(vbt.symbol_dict({\"BAC\": df}), tz_convert=zoneNY)\n", + "#m1_data = basic_data[['Open', 'High', 'Low', 'Close', 'Volume']]\n", + "basic_data = basic_data.transform(lambda df: df.between_time('09:30', '16:00'))\n", + "#basic_data.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "vbt.open_api_ref(vbt.base)\n", + "\n", + "vbt" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "
0
\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)
\n", + "\n" + ], + "text/plain": [ + "Start 2024-01-02 09:30:00-05:00\n", + "End 2024-02-28 15:59:59-05:00\n", + "Period 5 days 18:15:46\n", + "Start Value 100.0\n", + "Min Value 99.766637\n", + " ... \n", + "Expectancy -0.058341\n", + "Sharpe Ratio -3.597608\n", + "Calmar Ratio -2.69309\n", + "Omega Ratio 0.867176\n", + "Sortino Ratio -4.934545\n", + "Length: 29, dtype: object" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "##na toto udelat crosssvalidationu nebo alespon na testovacim ci jinem obdobi\n", + "#take udelat long leg - tato je shortovaci\n", + "\n", + "#8\t-0.06\t-0.2\t0.0028\t0.0048\t4.156254\n", + "\n", + "#short combination ok for train(4)/test(0.1) (window 1-90, fe 95-100)\n", + "#2,\t-0.02,\t-0.25,\t0.0018,\t0.0068\n", + "\n", + "#dalsi ok hodnota shortu for train/test 4/1\n", + "#70,\t8,\t-0.06,\t-0.2,\t0.0013,\t0.0053\t\n", + "\n", + "\n", + "#kombinace bez roc_th, train/test 7/-1.5\n", + "#70\t7\t-0.07\t0.0033\t0.0063\n", + "\n", + "#opet bez roc_th, train(5.77)/test 0.9 - spolus tsl_stop + tsl_th\n", + "#29\t7\t-0.09\t0.0033\t0.0068\n", + "\n", + "#bez roc_th a s trailing sl train/test 8.1/-0.8 \n", + "#70\t2\t-0.05\t0.0018\t0.0068\n", + "\n", + "\n", + "# TODO:\n", + "#- vyzkouset zda nejvyhodnejsi kombinace krom train/testu funguje i na nasledujicich dnech po trainu\n", + "# -zkusit najit v short datasetu neco vyhodneho co funguji i na testu\n", + "# - dodelat kombinace pro long signaly\n", + "# - zkusit walk forward\n", + "# - vytvorit vysledkove totoznou na v2realbot\n", + "# - podivat se jak detailne funguji tsl_stop a tsl_th\n", + "\n", + "#70,\t4,\t-0.07,\t0.0048,\t0.0068\t\n", + "\n", + "\n", + "entry_window_closes, mom_timeperiod, mom_th, sl_stop, tp_stop = 8,\t3,\t0.07,\t0.0028,\t0.0033\t\n", + "roc_th = 0\n", + "momshort = vbt.indicator(\"talib:MOM\").run(basic_data.close, timeperiod=mom_timeperiod, short_name = \"slope_short\")\n", + "rocp = vbt.indicator(\"talib:ROC\").run(basic_data.close, short_name = \"rocp\")\n", + "#rate of change + momentum\n", + "\n", + "#momshort.plot rocp.real_crossed_below(roc_th) & \n", + "short_signal = momshort.real_crossed_below(mom_th)\n", + "\n", + "long_signal = momshort.real_crossed_above(mom_th)\n", + "\n", + "# print(\"short signal\")\n", + "# print(short_signal.value_counts())\n", + "\n", + "#forced_exit = pd.Series(False, index=close.index)\n", + "forced_exit = basic_data.symbol_wrapper.fill(False)\n", + "#entry_window_open = pd.Series(False, index=close.index)\n", + "entry_window_open= basic_data.symbol_wrapper.fill(False)\n", + "\n", + "# Calculate the time difference in minutes from market open for each timestamp\n", + "elapsed_min_from_open = (forced_exit.index.hour - market_open.hour) * 60 + (forced_exit.index.minute - market_open.minute)\n", + "\n", + "entry_window_open[(elapsed_min_from_open >= entry_window_opens) & (elapsed_min_from_open < entry_window_closes)] = True\n", + "\n", + "#print(entry_window_open.value_counts())\n", + "\n", + "forced_exit[(elapsed_min_from_open >= forced_exit_start) & (elapsed_min_from_open < forced_exit_end)] = True\n", + "short_entries = (short_signal & entry_window_open)\n", + "short_exits = forced_exit\n", + "\n", + "entries = (long_signal & entry_window_open)\n", + "exits = forced_exit\n", + "#long_entries.info()\n", + "#number of trues and falses in long_entries\n", + "# print(short_exits.value_counts())\n", + "# print(short_entries.value_counts())\n", + "\n", + "#fig = plot_2y_close([],[momshort, rocp], close)\n", + "#short_signal.vbt.signals.plot_as_entries(close, fig=fig, add_trace_kwargs=dict(secondary_y=False))\n", + "#print(sl_stop)\n", + "#short_entries=short_entries, short_exits=short_exits,\n", + "pf = vbt.Portfolio.from_signals(close=basic_data, entries=entries, exits=exits, tsl_stop=sl_stop, tp_stop = tp_stop, fees=0.0167/100, freq=\"1s\") #sl_stop=sl_stop, tp_stop = sl_stop,\n", + "\n", + "pf.stats()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "848b9b38239f4f10b8be10f60265ab6f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "FigureWidget({\n", + " 'data': [{'close': array([33.44 , 33.445, 33.42 , ..., 34.325, 34.33 , 34.32 ]),\n", + " 'decreasing': {'fillcolor': '#ee534f', 'line': {'color': '#ee534f'}},\n", + " 'high': array([33.44 , 33.465, 33.45 , ..., 34.325, 34.33 , 34.33 ]),\n", + " 'increasing': {'fillcolor': '#26a69a', 'line': {'color': '#26a69a'}},\n", + " 'low': array([33.39, 33.44, 33.42, ..., 34.32, 34.32, 34.32]),\n", + " 'name': 'OHLC',\n", + " 'opacity': 0.5,\n", + " 'open': array([33.39 , 33.46 , 33.45 , ..., 34.32 , 34.325, 34.325]),\n", + " 'type': 'candlestick',\n", + " 'uid': '62d2f920-d109-44ec-9c98-0def8e4b29b0',\n", + " 'x': array([datetime.datetime(2024, 1, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 2, 28, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'yaxis': 'y'},\n", + " {'customdata': array([['0', '2024-01-03 09:31:27-05:00', '2024-01-03 09:31:27-05:00',\n", + " '2024-01-03 09:31:27-05:00', 2.978352778922679, 33.57,\n", + " 0.0166972115656705, 'Market', 'None'],\n", + " ['2', '2024-01-04 09:31:16-05:00', '2024-01-04 09:31:16-05:00',\n", + " '2024-01-04 09:31:16-05:00', 2.96735984866213, 33.62,\n", + " 0.016660360564713983, 'Market', 'None'],\n", + " ['4', '2024-01-10 09:32:44-05:00', '2024-01-10 09:32:44-05:00',\n", + " '2024-01-10 09:32:44-05:00', 3.0083218731755443, 33.36,\n", + " 0.016759722154091605, 'Market', 'None'],\n", + " ['6', '2024-01-12 09:31:01-05:00', '2024-01-12 09:31:01-05:00',\n", + " '2024-01-12 09:31:01-05:00', 3.1068615104873154, 32.31,\n", + " 0.01676391013243972, 'Market', 'None'],\n", + " ['8', '2024-01-12 09:32:02-05:00', '2024-01-12 09:32:02-05:00',\n", + " '2024-01-12 09:32:02-05:00', 3.100441294836864, 32.57,\n", + " 0.016863889286469202, 'Market', 'None'],\n", + " ['10', '2024-01-12 09:32:52-05:00', '2024-01-12 09:32:52-05:00',\n", + " '2024-01-12 09:32:52-05:00', 3.092952048475304, 32.8484,\n", + " 0.0169669538535544, 'Market', 'None'],\n", + " ['12', '2024-01-16 09:31:40-05:00', '2024-01-16 09:31:40-05:00',\n", + " '2024-01-16 09:31:40-05:00', 3.1376689038339736, 32.44,\n", + " 0.016998258533149624, 'Market', 'None'],\n", + " ['14', '2024-01-17 09:31:11-05:00', '2024-01-17 09:31:11-05:00',\n", + " '2024-01-17 09:31:11-05:00', 3.225768247933234, 31.4927,\n", + " 0.016965221334189096, 'Market', 'None'],\n", + " ['16', '2024-01-19 09:31:17-05:00', '2024-01-19 09:31:17-05:00',\n", + " '2024-01-19 09:31:17-05:00', 3.1852624849523656, 31.82,\n", + " 0.016926293729284225, 'Market', 'None'],\n", + " ['18', '2024-01-22 09:32:07-05:00', '2024-01-22 09:32:07-05:00',\n", + " '2024-01-22 09:32:07-05:00', 3.1147021490903066, 32.43,\n", + " 0.01686863504606606, 'Market', 'None'],\n", + " ['20', '2024-01-30 09:32:47-05:00', '2024-01-30 09:32:47-05:00',\n", + " '2024-01-30 09:32:47-05:00', 2.9763388468118293, 34.14,\n", + " 0.016969238774436235, 'Market', 'None'],\n", + " ['22', '2024-01-31 09:31:26-05:00', '2024-01-31 09:31:26-05:00',\n", + " '2024-01-31 09:31:26-05:00', 2.914727712984091, 34.735,\n", + " 0.016907592207459743, 'Market', 'None'],\n", + " ['24', '2024-02-05 09:32:00-05:00', '2024-02-05 09:32:00-05:00',\n", + " '2024-02-05 09:32:00-05:00', 3.071377439535155, 33.16,\n", + " 0.01700842827446536, 'Market', 'None'],\n", + " ['26', '2024-02-08 09:31:08-05:00', '2024-02-08 09:31:08-05:00',\n", + " '2024-02-08 09:31:08-05:00', 3.068071063787448, 33.13,\n", + " 0.016974747455336114, 'Market', 'None'],\n", + " ['28', '2024-02-15 09:31:17-05:00', '2024-02-15 09:31:17-05:00',\n", + " '2024-02-15 09:31:17-05:00', 3.0289452905084406, 33.4708,\n", + " 0.016930664078941504, 'Market', 'None'],\n", + " ['30', '2024-02-21 09:31:03-05:00', '2024-02-21 09:31:03-05:00',\n", + " '2024-02-21 09:31:03-05:00', 3.0364974627410586, 33.59,\n", + " 0.017033323612167806, 'Market', 'None'],\n", + " ['32', '2024-02-21 09:32:53-05:00', '2024-02-21 09:32:53-05:00',\n", + " '2024-02-21 09:32:53-05:00', 3.0264384972281606, 33.56,\n", + " 0.016961735086482577, 'Market', 'None'],\n", + " ['34', '2024-02-22 09:31:10-05:00', '2024-02-22 09:31:10-05:00',\n", + " '2024-02-22 09:31:10-05:00', 3.014546202965763, 33.59,\n", + " 0.01691018736192973, 'Market', 'None'],\n", + " ['36', '2024-02-26 09:32:23-05:00', '2024-02-26 09:32:23-05:00',\n", + " '2024-02-26 09:32:23-05:00', 2.97661511133949, 33.955,\n", + " 0.01687885133962652, 'Market', 'None'],\n", + " ['38', '2024-02-27 09:32:14-05:00', '2024-02-27 09:32:14-05:00',\n", + " '2024-02-27 09:32:14-05:00', 2.981567760303421, 33.86,\n", + " 0.01685963268876378, 'Market', 'None'],\n", + " ['40', '2024-02-28 09:32:46-05:00', '2024-02-28 09:32:46-05:00',\n", + " '2024-02-28 09:32:46-05:00', 2.942546727531348, 34.25,\n", + " 0.016830631644793925, 'Market', 'None']], dtype=object),\n", + " 'hovertemplate': ('
Order Id: %{customdata[0]}' ... 'br>Stop Type: %{customdata[8]}'),\n", + " 'marker': {'color': '#37B13F',\n", + " 'line': {'color': 'rgb(38,123,44)', 'width': 1},\n", + " 'size': 8,\n", + " 'symbol': 'triangle-up'},\n", + " 'mode': 'markers',\n", + " 'name': 'Buy',\n", + " 'type': 'scatter',\n", + " 'uid': '7d55d406-e8fc-4c82-b901-1efe2cc01e8a',\n", + " 'x': array([datetime.datetime(2024, 1, 3, 9, 31, 27, tzinfo=),\n", + " datetime.datetime(2024, 1, 4, 9, 31, 16, tzinfo=),\n", + " datetime.datetime(2024, 1, 10, 9, 32, 44, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 31, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 32, 2, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 32, 52, tzinfo=),\n", + " datetime.datetime(2024, 1, 16, 9, 31, 40, tzinfo=),\n", + " datetime.datetime(2024, 1, 17, 9, 31, 11, tzinfo=),\n", + " datetime.datetime(2024, 1, 19, 9, 31, 17, tzinfo=),\n", + " datetime.datetime(2024, 1, 22, 9, 32, 7, tzinfo=),\n", + " datetime.datetime(2024, 1, 30, 9, 32, 47, tzinfo=),\n", + " datetime.datetime(2024, 1, 31, 9, 31, 26, tzinfo=),\n", + " datetime.datetime(2024, 2, 5, 9, 32, tzinfo=),\n", + " datetime.datetime(2024, 2, 8, 9, 31, 8, tzinfo=),\n", + " datetime.datetime(2024, 2, 15, 9, 31, 17, tzinfo=),\n", + " datetime.datetime(2024, 2, 21, 9, 31, 3, tzinfo=),\n", + " datetime.datetime(2024, 2, 21, 9, 32, 53, tzinfo=),\n", + " datetime.datetime(2024, 2, 22, 9, 31, 10, tzinfo=),\n", + " datetime.datetime(2024, 2, 26, 9, 32, 23, tzinfo=),\n", + " datetime.datetime(2024, 2, 27, 9, 32, 14, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 9, 32, 46, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'y': array([33.57 , 33.62 , 33.36 , 32.31 , 32.57 , 32.8484, 32.44 , 31.4927,\n", + " 31.82 , 32.43 , 34.14 , 34.735 , 33.16 , 33.13 , 33.4708, 33.59 ,\n", + " 33.56 , 33.59 , 33.955 , 33.86 , 34.25 ]),\n", + " 'yaxis': 'y'},\n", + " {'customdata': array([['1', '2024-01-03 09:31:27-05:00', '2024-01-03 09:33:15-05:00',\n", + " '2024-01-03 09:33:15-05:00', 2.978352778922679, 33.5071,\n", + " 0.016665926054572896, 'Market', 'TSL'],\n", + " ['3', '2024-01-04 09:31:16-05:00', '2024-01-04 09:33:03-05:00',\n", + " '2024-01-04 09:33:03-05:00', 2.96735984866213, 33.83180599999999,\n", + " 0.01676532083626513, 'Market', 'TP'],\n", + " ['5', '2024-01-10 09:32:44-05:00', '2024-01-10 09:38:22-05:00',\n", + " '2024-01-10 09:38:22-05:00', 3.0083218731755443, 33.379483,\n", + " 0.016769510213639937, 'Market', 'TSL'],\n", + " ['7', '2024-01-12 09:31:01-05:00', '2024-01-12 09:31:54-05:00',\n", + " '2024-01-12 09:31:54-05:00', 3.1068615104873154, 32.513553,\n", + " 0.016869522766276526, 'Market', 'TP'],\n", + " ['9', '2024-01-12 09:32:02-05:00', '2024-01-12 09:32:35-05:00',\n", + " '2024-01-12 09:32:35-05:00', 3.100441294836864, 32.78,\n", + " 0.01697262176267365, 'Market', 'TP'],\n", + " ['11', '2024-01-12 09:32:52-05:00', '2024-01-12 09:34:39-05:00',\n", + " '2024-01-12 09:34:39-05:00', 3.092952048475304, 32.92,\n", + " 0.017003936899779772, 'Market', 'TSL'],\n", + " ['13', '2024-01-16 09:31:40-05:00', '2024-01-16 09:33:22-05:00',\n", + " '2024-01-16 09:33:22-05:00', 3.1376689038339736, 32.3877665,\n", + " 0.016970888664551508, 'Market', 'TSL'],\n", + " ['15', '2024-01-17 09:31:11-05:00', '2024-01-17 09:33:03-05:00',\n", + " '2024-01-17 09:33:03-05:00', 3.225768247933234, 31.4309345,\n", + " 0.01693194805566586, 'Market', 'TSL'],\n", + " ['17', '2024-01-19 09:31:17-05:00', '2024-01-19 09:33:56-05:00',\n", + " '2024-01-19 09:33:56-05:00', 3.1852624849523656, 31.7222,\n", + " 0.016874270111226043, 'Market', 'TSL'],\n", + " ['19', '2024-01-22 09:32:07-05:00', '2024-01-22 09:34:31-05:00',\n", + " '2024-01-22 09:34:31-05:00', 3.1147021490903066, 32.634309,\n", + " 0.01697490744685498, 'Market', 'TP'],\n", + " ['21', '2024-01-30 09:32:47-05:00', '2024-01-30 09:33:40-05:00',\n", + " '2024-01-30 09:33:40-05:00', 2.9763388468118293, 34.027338,\n", + " 0.016913240286480388, 'Market', 'TSL'],\n", + " ['23', '2024-01-31 09:31:26-05:00', '2024-01-31 09:38:35-05:00',\n", + " '2024-01-31 09:38:35-05:00', 2.914727712984091, 34.953830499999995,\n", + " 0.01701411003836086, 'Market', 'TP'],\n", + " ['25', '2024-02-05 09:32:00-05:00', '2024-02-05 09:39:03-05:00',\n", + " '2024-02-05 09:39:03-05:00', 3.071377439535155, 33.105390500000006,\n", + " 0.016980417967953142, 'Market', 'TSL'],\n", + " ['27', '2024-02-08 09:31:08-05:00', '2024-02-08 09:34:25-05:00',\n", + " '2024-02-08 09:34:25-05:00', 3.068071063787448, 33.055,\n", + " 0.016936319865253513, 'Market', 'TSL'],\n", + " ['29', '2024-02-15 09:31:17-05:00', '2024-02-15 09:33:50-05:00',\n", + " '2024-02-15 09:33:50-05:00', 3.0289452905084406, 33.685,\n", + " 0.01703901369249973, 'Market', 'TP'],\n", + " ['31', '2024-02-21 09:31:03-05:00', '2024-02-21 09:32:43-05:00',\n", + " '2024-02-21 09:32:43-05:00', 3.0364974627410586, 33.46,\n", + " 0.016967401252253742, 'Market', 'TSL'],\n", + " ['33', '2024-02-21 09:32:53-05:00', '2024-02-21 09:33:18-05:00',\n", + " '2024-02-21 09:33:18-05:00', 3.0264384972281606, 33.469186,\n", + " 0.016915836307875395, 'Market', 'TSL'],\n", + " ['35', '2024-02-22 09:31:10-05:00', '2024-02-22 09:32:42-05:00',\n", + " '2024-02-22 09:32:42-05:00', 3.014546202965763, 33.538955,\n", + " 0.016884489817597163, 'Market', 'TSL'],\n", + " ['37', '2024-02-26 09:32:23-05:00', '2024-02-26 09:39:15-05:00',\n", + " '2024-02-26 09:39:15-05:00', 2.97661511133949, 33.927668,\n", + " 0.01686526474663864, 'Market', 'TSL'],\n", + " ['39', '2024-02-27 09:32:14-05:00', '2024-02-27 09:34:52-05:00',\n", + " '2024-02-27 09:34:52-05:00', 2.981567760303421, 33.813047499999996,\n", + " 0.016836254014702564, 'Market', 'TSL'],\n", + " ['41', '2024-02-28 09:32:46-05:00', '2024-02-28 09:44:36-05:00',\n", + " '2024-02-28 09:44:36-05:00', 2.942546727531348, 34.465775,\n", + " 0.01693666462415965, 'Market', 'TP']], dtype=object),\n", + " 'hovertemplate': ('
Order Id: %{customdata[0]}' ... 'br>Stop Type: %{customdata[8]}'),\n", + " 'marker': {'color': '#EA4335',\n", + " 'line': {'color': 'rgb(181,31,18)', 'width': 1},\n", + " 'size': 8,\n", + " 'symbol': 'triangle-down'},\n", + " 'mode': 'markers',\n", + " 'name': 'Sell',\n", + " 'type': 'scatter',\n", + " 'uid': '5f8e0347-ebd1-49e0-8fdf-adbf25f7f974',\n", + " 'x': array([datetime.datetime(2024, 1, 3, 9, 33, 15, tzinfo=),\n", + " datetime.datetime(2024, 1, 4, 9, 33, 3, tzinfo=),\n", + " datetime.datetime(2024, 1, 10, 9, 38, 22, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 31, 54, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 32, 35, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 34, 39, tzinfo=),\n", + " datetime.datetime(2024, 1, 16, 9, 33, 22, tzinfo=),\n", + " datetime.datetime(2024, 1, 17, 9, 33, 3, tzinfo=),\n", + " datetime.datetime(2024, 1, 19, 9, 33, 56, tzinfo=),\n", + " datetime.datetime(2024, 1, 22, 9, 34, 31, tzinfo=),\n", + " datetime.datetime(2024, 1, 30, 9, 33, 40, tzinfo=),\n", + " datetime.datetime(2024, 1, 31, 9, 38, 35, tzinfo=),\n", + " datetime.datetime(2024, 2, 5, 9, 39, 3, tzinfo=),\n", + " datetime.datetime(2024, 2, 8, 9, 34, 25, tzinfo=),\n", + " datetime.datetime(2024, 2, 15, 9, 33, 50, tzinfo=),\n", + " datetime.datetime(2024, 2, 21, 9, 32, 43, tzinfo=),\n", + " datetime.datetime(2024, 2, 21, 9, 33, 18, tzinfo=),\n", + " datetime.datetime(2024, 2, 22, 9, 32, 42, tzinfo=),\n", + " datetime.datetime(2024, 2, 26, 9, 39, 15, tzinfo=),\n", + " datetime.datetime(2024, 2, 27, 9, 34, 52, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 9, 44, 36, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'y': array([33.5071 , 33.831806 , 33.379483 , 32.513553 , 32.78 , 32.92 ,\n", + " 32.3877665, 31.4309345, 31.7222 , 32.634309 , 34.027338 , 34.9538305,\n", + " 33.1053905, 33.055 , 33.685 , 33.46 , 33.469186 , 33.538955 ,\n", + " 33.927668 , 33.8130475, 34.465775 ]),\n", + " 'yaxis': 'y'},\n", + " {'customdata': array([['1', '1', '2024-01-04 09:33:03-05:00', 0.5950789387047365,\n", + " 0.0059649478999997795],\n", + " ['2', '2', '2024-01-10 09:38:22-05:00', 0.025081902687342218,\n", + " 0.000249925249969912],\n", + " ['3', '3', '2024-01-12 09:31:54-05:00', 0.5987775481455146,\n", + " 0.0059649479000000874],\n", + " ['4', '4', '2024-01-12 09:32:35-05:00', 0.6172561608666053,\n", + " 0.00611257445501997],\n", + " ['5', '5', '2024-01-12 09:34:39-05:00', 0.18748447591751835,\n", + " 0.0018453464156550673],\n", + " ['9', '9', '2024-01-22 09:34:31-05:00', 0.6025181388855818,\n", + " 0.0059649479000001004],\n", + " ['11', '11', '2024-01-31 09:38:35-05:00', 0.6039096205503393,\n", + " 0.0059649478999998905],\n", + " ['14', '14', '2024-02-15 09:33:50-05:00', 0.6148304034554822,\n", + " 0.006064539282001115],\n", + " ['20', '20', '2024-02-28 09:44:36-05:00', 0.6011607238641207,\n", + " 0.00596494790000001]], dtype=object),\n", + " 'hovertemplate': ('
Exit Trade Id: %{customdat' ... 'br>Return: %{customdata[4]:,%}'),\n", + " 'marker': {'color': '#37B13F',\n", + " 'line': {'color': 'rgb(38,123,44)', 'width': 1},\n", + " 'opacity': array([0.89622287, 0.75 , 0.89622287, 0.9 , 0.79081997, 0.89622287,\n", + " 0.89622287, 0.89877099, 0.89622287]),\n", + " 'size': array([13.82373397, 7. , 13.82373397, 14. , 8.90493201,\n", + " 13.82373397, 13.82373397, 13.94264603, 13.82373397]),\n", + " 'symbol': 'circle'},\n", + " 'mode': 'markers',\n", + " 'name': 'Closed - Profit',\n", + " 'type': 'scatter',\n", + " 'uid': '20d3a161-d4fc-47e6-bf90-8819c520dfb6',\n", + " 'x': array([datetime.datetime(2024, 1, 4, 9, 33, 3, tzinfo=),\n", + " datetime.datetime(2024, 1, 10, 9, 38, 22, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 31, 54, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 32, 35, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 34, 39, tzinfo=),\n", + " datetime.datetime(2024, 1, 22, 9, 34, 31, tzinfo=),\n", + " datetime.datetime(2024, 1, 31, 9, 38, 35, tzinfo=),\n", + " datetime.datetime(2024, 2, 15, 9, 33, 50, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 9, 44, 36, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x2',\n", + " 'y': array([0.00596495, 0.00024993, 0.00596495, 0.00611257, 0.00184535, 0.00596495,\n", + " 0.00596495, 0.00606454, 0.00596495]),\n", + " 'yaxis': 'y2'},\n", + " {'customdata': array([['0', '0', '2024-01-03 09:33:15-05:00', -0.22070152741447807,\n", + " -0.002207383845695563],\n", + " ['6', '6', '2024-01-16 09:33:22-05:00', -0.1978605758861028,\n", + " -0.0019438883170622393],\n", + " ['7', '7', '2024-01-17 09:33:03-05:00', -0.2331383581075762,\n", + " -0.0022949365078733363],\n", + " ['8', '8', '2024-01-19 09:33:56-05:00', -0.34531923486884847,\n", + " -0.0034070253739785636],\n", + " ['10', '10', '2024-01-30 09:33:40-05:00', -0.3692027662204353,\n", + " -0.0036334489000000446],\n", + " ['12', '12', '2024-02-05 09:39:03-05:00', -0.20171523252669066,\n", + " -0.001980573589067957],\n", + " ['13', '13', '2024-02-08 09:34:25-05:00', -0.26401639710465635,\n", + " -0.00259743118019938],\n", + " ['15', '15', '2024-02-21 09:32:43-05:00', -0.42874539502076375,\n", + " -0.004203553140815744],\n", + " ['16', '16', '2024-02-21 09:33:18-05:00', -0.30872055708164403,\n", + " -0.0030395671651371197],\n", + " ['17', '17', '2024-02-22 09:32:42-05:00', -0.18767218810991249,\n", + " -0.0018533949236380408],\n", + " ['18', '18', '2024-02-26 09:39:15-05:00', -0.11510096030940233,\n", + " -0.0011388132986600787],\n", + " ['19', '19', '2024-02-27 09:34:52-05:00', -0.17368794696912138,\n", + " -0.0017204341090520333]], dtype=object),\n", + " 'hovertemplate': ('
Exit Trade Id: %{customdat' ... 'br>Return: %{customdata[4]:,%}'),\n", + " 'marker': {'color': '#EA4335',\n", + " 'line': {'color': 'rgb(181,31,18)', 'width': 1},\n", + " 'opacity': array([0.80008295, 0.79334124, 0.80232305, 0.83077663, 0.83656983, 0.79427985,\n", + " 0.81006259, 0.85115635, 0.82137495, 0.7910259 , 0.77274283, 0.787624 ]),\n", + " 'size': array([ 9.33720451, 9.02259099, 9.44174234, 10.76957585, 11.03992542,\n", + " 9.06639319, 9.80292082, 11.72062958, 10.33083095, 8.91454193,\n", + " 8.06133185, 8.75578679]),\n", + " 'symbol': 'circle'},\n", + " 'mode': 'markers',\n", + " 'name': 'Closed - Loss',\n", + " 'type': 'scatter',\n", + " 'uid': '38ec9cd1-8a39-4443-b9de-94b6ce3de315',\n", + " 'x': array([datetime.datetime(2024, 1, 3, 9, 33, 15, tzinfo=),\n", + " datetime.datetime(2024, 1, 16, 9, 33, 22, tzinfo=),\n", + " datetime.datetime(2024, 1, 17, 9, 33, 3, tzinfo=),\n", + " datetime.datetime(2024, 1, 19, 9, 33, 56, tzinfo=),\n", + " datetime.datetime(2024, 1, 30, 9, 33, 40, tzinfo=),\n", + " datetime.datetime(2024, 2, 5, 9, 39, 3, tzinfo=),\n", + " datetime.datetime(2024, 2, 8, 9, 34, 25, tzinfo=),\n", + " datetime.datetime(2024, 2, 21, 9, 32, 43, tzinfo=),\n", + " datetime.datetime(2024, 2, 21, 9, 33, 18, tzinfo=),\n", + " datetime.datetime(2024, 2, 22, 9, 32, 42, tzinfo=),\n", + " datetime.datetime(2024, 2, 26, 9, 39, 15, tzinfo=),\n", + " datetime.datetime(2024, 2, 27, 9, 34, 52, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x2',\n", + " 'y': array([-0.00220738, -0.00194389, -0.00229494, -0.00340703, -0.00363345,\n", + " -0.00198057, -0.00259743, -0.00420355, -0.00303957, -0.00185339,\n", + " -0.00113881, -0.00172043]),\n", + " 'yaxis': 'y2'},\n", + " {'legendgroup': '0',\n", + " 'line': {'color': '#7f7f7f'},\n", + " 'mode': 'lines',\n", + " 'name': 'Benchmark',\n", + " 'showlegend': True,\n", + " 'type': 'scatter',\n", + " 'uid': 'b3f84fa4-cb7f-41f1-b96c-9c24f5aa46da',\n", + " 'x': array([datetime.datetime(2024, 1, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 2, 28, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1. , 1.00014952, 0.99940191, ..., 1.02646531, 1.02661483,\n", + " 1.02631579]),\n", + " 'yaxis': 'y3'},\n", + " {'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': 'bb8dec5c-74b0-482b-a783-9272535513e5',\n", + " 'x': array([datetime.datetime(2024, 1, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 2, 28, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1, 1, 1, ..., 1, 1, 1]),\n", + " 'yaxis': 'y3'},\n", + " {'connectgaps': False,\n", + " 'fill': 'tonexty',\n", + " 'fillcolor': 'rgba(0, 128, 0, 0.25)',\n", + " 'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': '4bc24efb-89ee-450f-a511-aa169477de90',\n", + " 'x': array([datetime.datetime(2024, 1, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 2, 28, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1. , 1. , 1. , ..., 1.01400217, 1.01400217,\n", + " 1.01400217]),\n", + " 'yaxis': 'y3'},\n", + " {'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': '1c409fe2-0526-4777-adf2-b287135a36b9',\n", + " 'x': array([datetime.datetime(2024, 1, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 2, 28, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1, 1, 1, ..., 1, 1, 1]),\n", + " 'yaxis': 'y3'},\n", + " {'connectgaps': False,\n", + " 'fill': 'tonexty',\n", + " 'fillcolor': 'rgba(255, 0, 0, 0.25)',\n", + " 'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': '19e679ec-6091-4d93-930e-7269833d92a3',\n", + " 'x': array([datetime.datetime(2024, 1, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 2, 28, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1., 1., 1., ..., 1., 1., 1.]),\n", + " 'yaxis': 'y3'},\n", + " {'legendgroup': '1',\n", + " 'line': {'color': '#9467bd'},\n", + " 'mode': 'lines',\n", + " 'name': 'Value',\n", + " 'showlegend': True,\n", + " 'type': 'scatter',\n", + " 'uid': 'f8a1d4e0-d6f3-46ce-9d3e-df09f8d7a206',\n", + " 'x': array([datetime.datetime(2024, 1, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 2, 28, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1. , 1. , 1. , ..., 1.01400217, 1.01400217,\n", + " 1.01400217]),\n", + " 'yaxis': 'y3'},\n", + " {'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0.0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': 'fcc468a9-d6f9-416b-abbe-d59fcd5e9118',\n", + " 'x': array([datetime.datetime(2024, 1, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 2, 28, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1, 1, 1, ..., 1, 1, 1]),\n", + " 'yaxis': 'y3'}],\n", + " 'layout': {'annotations': [{'font': {'size': 16},\n", + " 'showarrow': False,\n", + " 'text': 'Orders',\n", + " 'x': 0.5,\n", + " 'xanchor': 'center',\n", + " 'xref': 'paper',\n", + " 'y': 1.0,\n", + " 'yanchor': 'bottom',\n", + " 'yref': 'paper'},\n", + " {'font': {'size': 16},\n", + " 'showarrow': False,\n", + " 'text': 'Trade PnL',\n", + " 'x': 0.5,\n", + " 'xanchor': 'center',\n", + " 'xref': 'paper',\n", + " 'y': 0.6527777777777777,\n", + " 'yanchor': 'bottom',\n", + " 'yref': 'paper'},\n", + " {'font': {'size': 16},\n", + " 'showarrow': False,\n", + " 'text': 'Cumulative Returns',\n", + " 'x': 0.5,\n", + " 'xanchor': 'center',\n", + " 'xref': 'paper',\n", + " 'y': 0.3055555555555555,\n", + " 'yanchor': 'bottom',\n", + " 'yref': 'paper'}],\n", + " 'height': 960,\n", + " 'legend': {'orientation': 'h',\n", + " 'traceorder': 'normal',\n", + " 'x': 1,\n", + " 'xanchor': 'right',\n", + " 'y': 1.0416666666666667,\n", + " 'yanchor': 'bottom'},\n", + " 'margin': {'b': 30, 'l': 30, 'r': 30, 't': 30},\n", + " 'shapes': [{'line': {'color': 'gray', 'dash': 'dash'},\n", + " 'type': 'line',\n", + " 'x0': 0.0,\n", + " 'x1': 1.0,\n", + " 'xref': 'paper',\n", + " 'y0': 0,\n", + " 'y1': 0,\n", + " 'yref': 'y2'},\n", + " {'line': {'color': 'gray', 'dash': 'dash'},\n", + " 'type': 'line',\n", + " 'x0': 0.0,\n", + " 'x1': 1.0,\n", + " 'xref': 'paper',\n", + " 'y0': 1,\n", + " 'y1': 1,\n", + " 'yref': 'y3'}],\n", + " 'showlegend': True,\n", + " 'template': '...',\n", + " 'width': 1330,\n", + " 'xaxis': {'anchor': 'y',\n", + " 'domain': [0.0, 1.0],\n", + " 'matches': 'x3',\n", + " 'rangeslider': {'visible': False},\n", + " 'showticklabels': False},\n", + " 'xaxis2': {'anchor': 'y2', 'domain': [0.0, 1.0], 'matches': 'x3', 'showticklabels': False},\n", + " 'xaxis3': {'anchor': 'y3', 'domain': [0.0, 1.0], 'title': {'text': 'Index'}},\n", + " 'yaxis': {'anchor': 'x', 'domain': [0.6944444444444444, 1.0], 'title': {'text': 'Price'}},\n", + " 'yaxis2': {'anchor': 'x2',\n", + " 'domain': [0.3472222222222222, 0.6527777777777777],\n", + " 'tickformat': '.2%',\n", + " 'title': {'text': 'Trade PnL'}},\n", + " 'yaxis3': {'anchor': 'x3', 'domain': [0.0, 0.3055555555555555], 'title': {'text': 'Cumulative returns'}}}\n", + "})" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pf.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "
Drawdown IdColumnStart IndexValley IndexEnd IndexStart ValueValley ValueEnd ValueStatus
\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)
\n", + "\n" + ], + "text/plain": [ + " Drawdown Id Column Start Index \\\n", + "0 0 (0.0018, 0.0068) 2024-01-03 09:31:04-05:00 \n", + "1 1 (0.0018, 0.0068) 2024-01-03 09:31:07-05:00 \n", + "2 2 (0.0018, 0.0068) 2024-01-03 09:31:11-05:00 \n", + "3 3 (0.0018, 0.0068) 2024-01-03 09:31:18-05:00 \n", + "4 4 (0.0018, 0.0068) 2024-01-03 09:48:07-05:00 \n", + ".. ... ... ... \n", + "34 34 (0.0018, 0.0068) 2024-01-12 12:23:26-05:00 \n", + "35 35 (0.0018, 0.0068) 2024-01-12 12:23:31-05:00 \n", + "36 36 (0.0018, 0.0068) 2024-01-12 12:32:23-05:00 \n", + "37 37 (0.0018, 0.0068) 2024-01-12 12:32:27-05:00 \n", + "38 38 (0.0018, 0.0068) 2024-01-12 12:32:36-05:00 \n", + "\n", + " Valley Index End Index Start Value \\\n", + "0 2024-01-03 09:31:05-05:00 2024-01-03 09:31:06-05:00 100.000000 \n", + "1 2024-01-03 09:31:10-05:00 2024-01-03 09:31:11-05:00 100.057784 \n", + "2 2024-01-03 09:31:13-05:00 2024-01-03 09:31:16-05:00 100.102472 \n", + "3 2024-01-03 09:32:39-05:00 2024-01-03 09:48:05-05:00 100.162057 \n", + "4 2024-01-03 09:48:08-05:00 2024-01-03 09:48:11-05:00 100.186396 \n", + ".. ... ... ... \n", + "34 2024-01-12 12:23:28-05:00 2024-01-12 12:23:29-05:00 100.981534 \n", + "35 2024-01-12 12:26:27-05:00 2024-01-12 12:32:23-05:00 101.089545 \n", + "36 2024-01-12 12:32:24-05:00 2024-01-12 12:32:25-05:00 101.089545 \n", + "37 2024-01-12 12:32:28-05:00 2024-01-12 12:32:36-05:00 101.104975 \n", + "38 2024-02-21 09:35:15-05:00 2024-02-28 15:59:59-05:00 101.104975 \n", + "\n", + " Valley Value End Value Status \n", + "0 99.983303 100.057784 Recovered \n", + "1 100.042888 100.102472 Recovered \n", + "2 100.057784 100.102472 Recovered \n", + "3 99.650958 100.171522 Recovered \n", + "4 100.171522 100.201269 Recovered \n", + ".. ... ... ... \n", + "34 100.968881 101.043254 Recovered \n", + "35 100.858092 101.089545 Recovered \n", + "36 101.074115 101.089545 Recovered \n", + "37 101.089545 101.104975 Recovered \n", + "38 99.788058 99.788058 Active \n", + "\n", + "[39 rows x 9 columns]" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pf.get_drawdowns().records_readable" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "
Order IdColumnSignal IndexCreation IndexFill IndexSizePriceFeesSideTypeStop Type
\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)
\n", + "\n" + ], + "text/plain": [ + " Order Id Column Signal Index Creation Index \\\n", + "0 0 0 2024-01-03 09:31:06-05:00 2024-01-03 09:31:06-05:00 \n", + "1 1 0 2024-01-03 09:31:06-05:00 2024-01-03 09:48:40-05:00 \n", + "2 2 0 2024-01-04 09:33:14-05:00 2024-01-04 09:33:14-05:00 \n", + "3 3 0 2024-01-04 09:33:14-05:00 2024-01-04 09:43:31-05:00 \n", + "4 4 0 2024-01-05 09:31:23-05:00 2024-01-05 09:31:23-05:00 \n", + ".. ... ... ... ... \n", + "51 51 0 2024-02-21 09:34:52-05:00 2024-02-21 09:45:00-05:00 \n", + "52 52 0 2024-02-22 09:31:22-05:00 2024-02-22 09:31:22-05:00 \n", + "53 53 0 2024-02-22 09:31:22-05:00 2024-02-22 09:38:13-05:00 \n", + "54 54 0 2024-02-23 09:31:25-05:00 2024-02-23 09:31:25-05:00 \n", + "55 55 0 2024-02-23 09:31:25-05:00 2024-02-23 09:35:02-05:00 \n", + "\n", + " Fill Index Size Price Fees Side Type \\\n", + "0 2024-01-03 09:31:06-05:00 2.981461 33.535000 0.016697 Sell Market \n", + "1 2024-01-03 09:48:40-05:00 2.981461 33.357264 0.016609 Buy Market \n", + "2 2024-01-04 09:33:14-05:00 2.976739 33.755000 0.016780 Sell Market \n", + "3 2024-01-04 09:43:31-05:00 2.976739 33.821568 0.016813 Buy Market \n", + "4 2024-01-05 09:31:23-05:00 2.972516 33.725000 0.016741 Sell Market \n", + ".. ... ... ... ... ... ... \n", + "51 2024-02-21 09:45:00-05:00 3.023216 33.334240 0.016830 Buy Market \n", + "52 2024-02-22 09:31:22-05:00 3.001125 33.580000 0.016830 Sell Market \n", + "53 2024-02-22 09:38:13-05:00 3.001125 33.620000 0.016850 Buy Market \n", + "54 2024-02-23 09:31:25-05:00 2.990315 33.650000 0.016804 Sell Market \n", + "55 2024-02-23 09:35:02-05:00 2.990315 33.654100 0.016806 Buy Market \n", + "\n", + " Stop Type \n", + "0 None \n", + "1 TP \n", + "2 None \n", + "3 TSL \n", + "4 None \n", + ".. ... \n", + "51 TSL \n", + "52 None \n", + "53 TSL \n", + "54 None \n", + "55 TSL \n", + "\n", + "[56 rows x 11 columns]" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pf.orders.records_readable" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/research/loading_trades_aggregation.ipynb b/research/loading_trades_aggregation.ipynb new file mode 100644 index 0000000..fe8d653 --- /dev/null +++ b/research/loading_trades_aggregation.ipynb @@ -0,0 +1,316 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Loading trades and vectorized aggregation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from numba import jit\n", + "from alpaca.data.historical import StockHistoricalDataClient\n", + "from v2realbot.config import ACCOUNT1_PAPER_API_KEY, ACCOUNT1_PAPER_SECRET_KEY, DATA_DIR\n", + "from alpaca.data.requests import StockTradesRequest\n", + "from v2realbot.enums.enums import BarType\n", + "import time\n", + "\n", + "from datetime import datetime\n", + "from v2realbot.utils.utils import parse_alpaca_timestamp, ltp, zoneNY, send_to_telegram, fetch_calendar_data\n", + "import pyarrow\n", + "from v2realbot.loader.aggregator_vectorized import fetch_daily_stock_trades, fetch_trades_parallel, generate_time_bars_nb, aggregate_trades\n", + "import vectorbtpro as vbt\n", + "\n", + "vbt.settings.set_theme(\"dark\")\n", + "vbt.settings['plotting']['layout']['width'] = 1280\n", + "vbt.settings.plotting.auto_rangebreaks = True\n", + "# Set the option to display with pagination\n", + "pd.set_option('display.notebook_repr_html', True)\n", + "pd.set_option('display.max_rows', 10) # Number of rows per page" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "symbol = \"SPY\"\n", + "#datetime in zoneNY \n", + "day_start = datetime(2024, 5, 15, 9, 30, 0)\n", + "day_stop = datetime(2024, 5, 16, 16, 00, 0)\n", + "day_start = zoneNY.localize(day_start)\n", + "day_stop = zoneNY.localize(day_stop)\n", + "#neslo by zrychlit, kdyz se zobrazuje pomalu Searching cache - nejaky bottle neck?\n", + "df = fetch_trades_parallel(symbol, day_start, day_stop, minsize=50) #exclude_conditions=['C','O','4','B','7','V','P','W','U','Z','F'])\n", + "ohlcv_df = aggregate_trades(symbol=symbol, trades_df=df, resolution=1, type=BarType.TIME)\n", + "#df.info()\n", + "ohlcv_df\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "basic_data = vbt.Data.from_data(vbt.symbol_dict({symbol: ohlcv_df}), tz_convert=zoneNY)\n", + "vbt.settings['plotting']['auto_rangebreaks'] = True\n", + "basic_data.ohlcv.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import pickle\n", + "from v2realbot.config import ACCOUNT1_PAPER_API_KEY, ACCOUNT1_PAPER_SECRET_KEY, DATA_DIR\n", + "import gzip\n", + "\n", + "file_path = f\"{DATA_DIR}/tradecache/BAC-1709044200-1709067600.cache.gz\"\n", + "\n", + "with gzip.open(file_path, 'rb') as fp:\n", + " tradesResponse = pickle.load(fp)\n", + "\n", + "tradesResponse" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def convert_dict_to_multiindex_df(tradesResponse):\n", + " # Create a DataFrame for each key and add the key as part of the MultiIndex\n", + " dfs = []\n", + " for key, values in tradesResponse.items():\n", + " df = pd.DataFrame(values)\n", + " # Rename columns\n", + " # Select and order columns explicitly\n", + " #print(df)\n", + " df = df[['t', 'x', 'p', 's', 'i', 'c','z']]\n", + " df.rename(columns={'t': 'timestamp', 'c': 'conditions', 'p': 'price', 's': 'size', 'x': 'exchange', 'z':'tape', 'i':'id'}, inplace=True)\n", + " df['symbol'] = key # Add ticker as a column\n", + " df['timestamp'] = pd.to_datetime(df['timestamp']) # Convert 't' from string to datetime before setting it as an index\n", + " df.set_index(['symbol', 'timestamp'], inplace=True) # Set the multi-level index using both 'ticker' and 't'\n", + " df = df.tz_convert(zoneNY, level='timestamp')\n", + " dfs.append(df)\n", + "\n", + " # Concatenate all DataFrames into a single DataFrame with MultiIndex\n", + " final_df = pd.concat(dfs)\n", + "\n", + " return final_df\n", + "\n", + "# Convert and print the DataFrame\n", + "df = convert_dict_to_multiindex_df(tradesResponse)\n", + "df\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ohlcv_df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ohlcv_df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ohlcv_df = aggregate_trades(symbol=symbol, trades_df=df, resolution=1000, type=\"dollar\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ohlcv_df.index.strftime('%Y-%m-%d %H').unique()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#ohlcv_df.groupby(ohlcv_df.index.date).size()\n", + "ohlcv_df.head(100)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#access just BCA\n", + "df_filtered = df.loc[\"BAC\"]\n", + "\n", + "df_filtered.info()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df_filtered= df_filtered.reset_index()\n", + "ticks = df_filtered[['timestamp', 'price', 'size']].to_numpy()\n", + "ticks\n", + "timestamps = ticks[:, 0]\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df_filtered= df_filtered.reset_index()\n", + "ticks = df_filtered[['timestamp', 'price', 'size']].to_numpy()\n", + "\n", + "#timestamp to integer\n", + "# Extract the timestamps column (assuming it's the first column)\n", + "timestamps = ticks[:, 0]\n", + "\n", + "# Convert the timestamps to Unix timestamps in seconds with microsecond precision\n", + "unix_timestamps_s = np.array([ts.timestamp() for ts in timestamps], dtype='float64')\n", + "\n", + "# Replace the original timestamps in the NumPy array with the converted Unix timestamps\n", + "ticks[:, 0] = unix_timestamps_s\n", + "\n", + "#ticks[:, 0] = pd.to_datetime(ticks[:, 0]).astype('int64') // 1_000_000_000 # Convert to Unix timestamp\n", + "ticks\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ticks = ticks.astype(np.float64)\n", + "ticks" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "resolution = 1 # Example resolution of 60 seconds\n", + "ohlcv_bars = generate_time_bars_nb(ticks, resolution)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ohlcv_bars" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Convert the resulting array back to a DataFrame\n", + "columns = ['time', 'open', 'high', 'low', 'close', 'volume', 'trades']\n", + "ohlcv_df = pd.DataFrame(ohlcv_bars, columns=columns)\n", + "ohlcv_df['time'] = pd.to_datetime(ohlcv_df['time'], unit='s')\n", + "ohlcv_df.set_index('time', inplace=True)\n", + "ohlcv_df.index = ohlcv_df.index.tz_localize('UTC').tz_convert(zoneNY)\n", + "#ohlcv_df = ohlcv_df.loc[\"2024-03-1 15:50:00\":\"2024-03-28 13:40:00\"]\n", + "#ohlcv_df.index.strftime('%Y-%m-%d %H').unique()\n", + "\n", + "ohlcv_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/research/rsi_alpaca.ipynb b/research/rsi_alpaca.ipynb new file mode 100644 index 0000000..94d4da3 --- /dev/null +++ b/research/rsi_alpaca.ipynb @@ -0,0 +1,26673 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from v2realbot.tools.loadbatch import load_batch\n", + "from v2realbot.utils.utils import zoneNY\n", + "import pandas as pd\n", + "import numpy as np\n", + "from datetime import timedelta, datetime\n", + "import vectorbtpro as vbt\n", + "import os\n", + "from itables import init_notebook_mode, show\n", + "\n", + "init_notebook_mode(all_interactive=True)\n", + "\n", + "vbt.settings.set_theme(\"dark\")\n", + "vbt.settings['plotting']['layout']['width'] = 1280\n", + "vbt.settings.plotting.auto_rangebreaks = True\n", + "# Set the option to display with pagination\n", + "pd.set_option('display.notebook_repr_html', True)\n", + "pd.set_option('display.max_rows', 10) # Number of rows per page\n", + "\n", + "# Alpaca API credentials\n", + "ALPACA_API_KEY = os.environ.get('ACCOUNT1_PAPER_API_KEY')\n", + "ALPACA_API_SECRET = os.environ.get('ACCOUNT1_PAPER_SECRET_KEY')\n", + "\n", + "# Initialize Alpaca data client\n", + "alpaca_data = vbt.AlpacaData.set_custom_settings(client_config=dict(\n", + " api_key=ALPACA_API_KEY,\n", + " secret_key=ALPACA_API_SECRET\n", + " )\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Fetch Data" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "27b8d22d4264407e8fd0858ef9649f2f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1 [00:00\n", + "\n", + " \n", + " \n", + " Open\n", + " High\n", + " Low\n", + " Close\n", + " Volume\n", + " Trade count\n", + " VWAP\n", + " \n", + " \n", + " Open time\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)\n", + "
\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + " Open High Low Close Volume \\\n", + "Open time \n", + "2024-04-29 09:30:00-04:00 37.8400 37.940 37.7600 37.870 476819.0 \n", + "2024-04-29 09:31:00-04:00 37.8750 37.985 37.7800 37.815 147198.0 \n", + "2024-04-29 09:32:00-04:00 37.8050 37.850 37.7750 37.800 107729.0 \n", + "2024-04-29 09:33:00-04:00 37.7935 37.880 37.7935 37.860 52305.0 \n", + "2024-04-29 09:34:00-04:00 37.8600 37.890 37.8350 37.860 41294.0 \n", + "... ... ... ... ... ... \n", + "2024-05-06 11:33:00-04:00 37.4800 37.485 37.4700 37.475 25795.0 \n", + "2024-05-06 11:34:00-04:00 37.4700 37.490 37.4700 37.485 25650.0 \n", + "2024-05-06 11:35:00-04:00 37.4900 37.525 37.4900 37.500 76940.0 \n", + "2024-05-06 11:36:00-04:00 37.5100 37.510 37.4950 37.505 29354.0 \n", + "2024-05-06 11:37:00-04:00 37.5000 37.511 37.4900 37.505 49202.0 \n", + "\n", + " Trade count VWAP \n", + "Open time \n", + "2024-04-29 09:30:00-04:00 2738 37.855352 \n", + "2024-04-29 09:31:00-04:00 975 37.904413 \n", + "2024-04-29 09:32:00-04:00 875 37.812062 \n", + "2024-04-29 09:33:00-04:00 517 37.842597 \n", + "2024-04-29 09:34:00-04:00 403 37.855641 \n", + "... ... ... \n", + "2024-05-06 11:33:00-04:00 192 37.475600 \n", + "2024-05-06 11:34:00-04:00 210 37.481738 \n", + "2024-05-06 11:35:00-04:00 433 37.506907 \n", + "2024-05-06 11:36:00-04:00 188 37.501721 \n", + "2024-05-06 11:37:00-04:00 293 37.505465 \n", + "\n", + "[2083 rows x 7 columns]" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#filter na dny\n", + "# dates_of_interest = pd.to_datetime(['2024-04-22', '2024-04-23']).tz_localize('US/Eastern')\n", + "# filtered_df = df.loc[df.index.normalize().isin(dates_of_interest)]\n", + "\n", + "# df = filtered_df\n", + "# df.info()\n", + "\n", + "basic_data.data[\"BAC\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "
OpenHighLowCloseVolume
Open time
\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)
\n", + "\n" + ], + "text/plain": [ + " Open High Low Close Volume\n", + "Open time \n", + "2024-04-29 09:30:00-04:00 37.8400 37.9850 37.7349 37.8800 2098173.0\n", + "2024-04-29 09:45:00-04:00 37.8750 38.0300 37.8607 37.9850 1030038.0\n", + "2024-04-29 10:00:00-04:00 37.9900 38.0600 37.9600 38.0145 933777.0\n", + "2024-04-29 10:15:00-04:00 38.0100 38.0300 37.9500 37.9650 657084.0\n", + "2024-04-29 10:30:00-04:00 37.9650 37.9950 37.9250 37.9600 617961.0\n", + "... ... ... ... ... ...\n", + "2024-05-06 10:30:00-04:00 37.6253 37.6465 37.5650 37.5993 925904.0\n", + "2024-05-06 10:45:00-04:00 37.5994 37.6200 37.5400 37.5600 626772.0\n", + "2024-05-06 11:00:00-04:00 37.5600 37.5700 37.5100 37.5343 659209.0\n", + "2024-05-06 11:15:00-04:00 37.5300 37.5600 37.4650 37.4900 870303.0\n", + "2024-05-06 11:30:00-04:00 37.4950 37.5250 37.4700 37.5050 312117.0\n", + "\n", + "[191 rows x 5 columns]" + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "m1_data = basic_data[['Open', 'High', 'Low', 'Close', 'Volume']]\n", + "\n", + "m1_data.data[\"BAC\"]\n", + "#m5_data = m1_data.resample(\"5T\")\n", + "\n", + "#m5_data.data[\"BAC\"].head(10)\n", + "\n", + "m15_data = m1_data.resample(\"15T\")\n", + "\n", + "m15_data = m15_data.transform(lambda x: x.between_time(\"9:30\",\"15:59\"))\n", + "\n", + "m15 = m15_data.data[\"BAC\"]\n", + "\n", + "m15.vbt.ohlcv.plot()\n", + "\n", + "m15\n", + "\n", + "# m1_data.wrapper.index\n", + "\n", + "# m1_resampler = m1_data.wrapper.get_resampler(\"1T\")\n", + "# m1_resampler.index_difference(reverse=True)\n", + "\n", + "\n", + "# m5_resampler.prettify()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Calculate VWAP" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VWAP.run(\n", + " high,\n", + " low,\n", + " close,\n", + " volume,\n", + " anchor=Default(value='D'),\n", + " short_name='vwap',\n", + " hide_params=None,\n", + " hide_default=True,\n", + " **kwargs\n", + "):\n", + " Run `VWAP` indicator.\n", + " \n", + " * Inputs: `high`, `low`, `close`, `volume`\n", + " * Parameters: `anchor`\n", + " * Outputs: `vwap`\n", + " \n", + " Pass a list of parameter names as `hide_params` to hide their column levels, or True to hide all.\n", + " Set `hide_default` to False to show the column levels of the parameters with a default value.\n", + " \n", + " Other keyword arguments are passed to `VWAP.run_pipeline`.\n" + ] + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "close": [ + 37.87, + 37.815, + 37.8, + 37.86, + 37.86, + 37.78, + 37.815, + 37.8737, + 37.885, + 37.885, + 37.88, + 37.92, + 37.845, + 37.86, + 37.88, + 37.87, + 37.93, + 37.96, + 37.9642, + 37.985, + 37.975, + 38.02, + 38, + 37.975, + 38.01, + 38.02, + 37.985, + 38.0086, + 37.985, + 37.985, + 38, + 38.025, + 38.05, + 38.035, + 38.03, + 38.035, + 38.035, + 38.05, + 38.015, + 38.005, + 38.005, + 38.005, + 38.005, + 38.0166, + 38.0145, + 38.015, + 38.025, + 38.025, + 38.01, + 38.005, + 37.9799, + 37.985, + 38, + 38, + 37.9724, + 37.98, + 37.9775, + 37.975, + 37.95, + 37.965, + 37.95, + 37.96, + 37.965, + 37.985, + 37.9877, + 37.975, + 37.96, + 37.96, + 37.9301, + 37.94, + 37.955, + 37.95, + 37.955, + 37.9577, + 37.96, + 37.955, + 37.94, + 37.95, + 37.965, + 37.96, + 37.955, + 37.9599, + 37.935, + 37.944, + 37.9439, + 37.9292, + 37.9301, + 37.95, + 37.945, + 37.94, + 37.94, + 37.945, + 37.96, + 37.945, + 37.94, + 37.95, + 37.95, + 37.935, + 37.945, + 37.94, + 37.945, + 37.92, + 37.915, + 37.92, + 37.915, + 37.9101, + 37.915, + 37.9244, + 37.925, + 37.905, + 37.915, + 37.925, + 37.88, + 37.87, + 37.87, + 37.875, + 37.88, + 37.9, + 37.895, + 37.8986, + 37.8862, + 37.88, + 37.905, + 37.885, + 37.875, + 37.8763, + 37.89, + 37.895, + 37.895, + 37.88, + 37.8497, + 37.8531, + 37.8601, + 37.855, + 37.845, + 37.8499, + 37.845, + 37.85, + 37.84, + 37.845, + 37.86, + 37.855, + 37.84, + 37.835, + 37.825, + 37.83, + 37.815, + 37.805, + 37.83, + 37.808, + 37.7961, + 37.7967, + 37.795, + 37.79, + 37.8, + 37.7952, + 37.8, + 37.7973, + 37.7975, + 37.795, + 37.79, + 37.795, + 37.795, + 37.785, + 37.795, + 37.8, + 37.8, + 37.8, + 37.785, + 37.8, + 37.8, + 37.79, + 37.8, + 37.79, + 37.785, + 37.775, + 37.78, + 37.775, + 37.78, + 37.765, + 37.755, + 37.7535, + 37.775, + 37.775, + 37.78, + 37.7878, + 37.78, + 37.78, + 37.79, + 37.78, + 37.77, + 37.7552, + 37.7601, + 37.7669, + 37.75, + 37.76, + 37.76, + 37.735, + 37.74, + 37.735, + 37.74, + 37.735, + 37.7201, + 37.7201, + 37.7169, + 37.71, + 37.715, + 37.715, + 37.725, + 37.715, + 37.7101, + 37.715, + 37.725, + 37.725, + 37.7499, + 37.7301, + 37.7292, + 37.7284, + 37.74, + 37.745, + 37.73, + 37.7303, + 37.74, + 37.735, + 37.7149, + 37.71, + 37.7174, + 37.715, + 37.725, + 37.725, + 37.7383, + 37.7497, + 37.7403, + 37.7423, + 37.745, + 37.725, + 37.74, + 37.7468, + 37.75, + 37.7582, + 37.7499, + 37.7564, + 37.765, + 37.7658, + 37.765, + 37.785, + 37.7898, + 37.784, + 37.775, + 37.774, + 37.775, + 37.795, + 37.79, + 37.791, + 37.775, + 37.785, + 37.7673, + 37.765, + 37.764, + 37.7674, + 37.7671, + 37.775, + 37.7666, + 37.7548, + 37.765, + 37.75, + 37.76, + 37.731, + 37.73, + 37.705, + 37.715, + 37.725, + 37.725, + 37.725, + 37.725, + 37.725, + 37.7344, + 37.745, + 37.7469, + 37.745, + 37.7241, + 37.725, + 37.735, + 37.755, + 37.75, + 37.7474, + 37.755, + 37.734, + 37.74, + 37.73, + 37.745, + 37.745, + 37.725, + 37.7268, + 37.72, + 37.72, + 37.71, + 37.705, + 37.71, + 37.7138, + 37.695, + 37.6921, + 37.665, + 37.65, + 37.655, + 37.65, + 37.6476, + 37.6499, + 37.65, + 37.655, + 37.665, + 37.6792, + 37.675, + 37.685, + 37.6801, + 37.685, + 37.6863, + 37.69, + 37.685, + 37.69, + 37.69, + 37.67, + 37.68, + 37.665, + 37.66, + 37.665, + 37.66, + 37.6401, + 37.635, + 37.625, + 37.575, + 37.565, + 37.5382, + 37.5, + 37.495, + 37.49, + 37.46, + 37.482, + 37.505, + 37.505, + 37.52, + 37.5, + 37.49, + 37.46, + 37.495, + 37.5, + 37.52, + 37.5162, + 37.525, + 37.53, + 37.545, + 37.555, + 37.545, + 37.53, + 37.52, + 37.51, + 37.5, + 37.5101, + 37.485, + 37.505, + 37.515, + 37.515, + 37.525, + 37.535, + 37.545, + 37.5283, + 37.525, + 37.545, + 37.5401, + 37.52, + 37.525, + 37.535, + 37.5, + 37.505, + 37.53, + 37.48, + 37.5, + 37.52, + 37.505, + 37.475, + 37.49, + 37.485, + 37.495, + 37.495, + 37.515, + 37.525, + 37.525, + 37.51, + 37.51, + 37.56, + 37.6, + 37.4445, + 37.5, + 37.425, + 37.385, + 37.405, + 37.325, + 37.425, + 37.56, + 37.485, + 37.47, + 37.51, + 37.505, + 37.51, + 37.5, + 37.545, + 37.535, + 37.55, + 37.515, + 37.505, + 37.485, + 37.475, + 37.505, + 37.47, + 37.455, + 37.415, + 37.395, + 37.425, + 37.415, + 37.425, + 37.435, + 37.41, + 37.415, + 37.405, + 37.415, + 37.425, + 37.445, + 37.47, + 37.48, + 37.465, + 37.46, + 37.47, + 37.465, + 37.47, + 37.485, + 37.47, + 37.485, + 37.49, + 37.5299, + 37.565, + 37.53, + 37.5501, + 37.545, + 37.535, + 37.55, + 37.555, + 37.55, + 37.535, + 37.5486, + 37.535, + 37.485, + 37.48, + 37.452, + 37.455, + 37.46, + 37.4801, + 37.48, + 37.505, + 37.51, + 37.5, + 37.515, + 37.535, + 37.5582, + 37.56, + 37.585, + 37.585, + 37.6101, + 37.6433, + 37.63, + 37.635, + 37.63, + 37.6392, + 37.66, + 37.66, + 37.6369, + 37.66, + 37.6477, + 37.6399, + 37.63, + 37.655, + 37.64, + 37.64, + 37.63, + 37.6399, + 37.64, + 37.645, + 37.61, + 37.58, + 37.5829, + 37.555, + 37.5403, + 37.535, + 37.545, + 37.52, + 37.515, + 37.5186, + 37.4919, + 37.55, + 37.57, + 37.548, + 37.535, + 37.54, + 37.54, + 37.535, + 37.54, + 37.55, + 37.55, + 37.555, + 37.515, + 37.535, + 37.52, + 37.5, + 37.49, + 37.49, + 37.485, + 37.495, + 37.515, + 37.4964, + 37.51, + 37.5199, + 37.495, + 37.5, + 37.5, + 37.495, + 37.485, + 37.48, + 37.49, + 37.465, + 37.47, + 37.46, + 37.455, + 37.4569, + 37.45, + 37.445, + 37.435, + 37.455, + 37.47, + 37.4901, + 37.495, + 37.495, + 37.465, + 37.47, + 37.45, + 37.45, + 37.4483, + 37.43, + 37.415, + 37.43, + 37.435, + 37.435, + 37.44, + 37.435, + 37.4475, + 37.43, + 37.435, + 37.45, + 37.44, + 37.4281, + 37.42, + 37.415, + 37.42, + 37.4295, + 37.4379, + 37.4401, + 37.44, + 37.43, + 37.455, + 37.445, + 37.4322, + 37.44, + 37.41, + 37.3771, + 37.37, + 37.34, + 37.32, + 37.29, + 37.315, + 37.31, + 37.33, + 37.3179, + 37.325, + 37.3299, + 37.3201, + 37.2999, + 37.29, + 37.305, + 37.28, + 37.29, + 37.2982, + 37.295, + 37.295, + 37.315, + 37.275, + 37.2786, + 37.2701, + 37.275, + 37.295, + 37.295, + 37.285, + 37.2877, + 37.275, + 37.255, + 37.26, + 37.285, + 37.3, + 37.28, + 37.285, + 37.309, + 37.32, + 37.2929, + 37.285, + 37.29, + 37.275, + 37.265, + 37.2586, + 37.28, + 37.265, + 37.265, + 37.2701, + 37.2683, + 37.28, + 37.2999, + 37.295, + 37.29, + 37.295, + 37.285, + 37.295, + 37.295, + 37.285, + 37.2947, + 37.285, + 37.285, + 37.285, + 37.285, + 37.29, + 37.295, + 37.295, + 37.29, + 37.292, + 37.285, + 37.295, + 37.34, + 37.31, + 37.31, + 37.335, + 37.34, + 37.32, + 37.335, + 37.32, + 37.325, + 37.3284, + 37.3299, + 37.345, + 37.36, + 37.36, + 37.36, + 37.35, + 37.35, + 37.365, + 37.37, + 37.365, + 37.3672, + 37.345, + 37.35, + 37.355, + 37.355, + 37.345, + 37.335, + 37.33, + 37.325, + 37.3, + 37.32, + 37.305, + 37.295, + 37.305, + 37.2953, + 37.295, + 37.275, + 37.28, + 37.285, + 37.285, + 37.285, + 37.285, + 37.285, + 37.271, + 37.275, + 37.265, + 37.255, + 37.233, + 37.225, + 37.235, + 37.225, + 37.21, + 37.215, + 37.2304, + 37.215, + 37.2301, + 37.22, + 37.2301, + 37.245, + 37.221, + 37.2081, + 37.204, + 37.195, + 37.195, + 37.175, + 37.1754, + 37.19, + 37.165, + 37.145, + 37.15, + 37.1181, + 37.11, + 37.1267, + 37.145, + 37.145, + 37.145, + 37.145, + 37.135, + 37.13, + 37.1395, + 37.135, + 37.145, + 37.165, + 37.155, + 37.17, + 37.18, + 37.17, + 37.155, + 37.15, + 37.155, + 37.15, + 37.1401, + 37.14, + 37.145, + 37.125, + 37.11, + 37.095, + 37.0977, + 37.095, + 37.085, + 37.1267, + 37.105, + 37.1, + 37.075, + 37.085, + 37.0967, + 37.08, + 37.095, + 37.1017, + 37.085, + 37.085, + 37.065, + 37.08, + 37.095, + 37.085, + 37.06, + 37.065, + 37.0601, + 37.065, + 37.075, + 37.085, + 37.0825, + 37.085, + 37.075, + 37.07, + 37.0557, + 37.045, + 37.0559, + 37.07, + 37.085, + 37.09, + 37.08, + 37.08, + 37.045, + 37.05, + 37.075, + 37.05, + 37.015, + 37.02, + 37.01, + 37.01, + 37.25, + 37.33, + 37.38, + 37.31, + 37.19, + 37.15, + 37.195, + 37.21, + 37.2079, + 37.175, + 37.145, + 37.095, + 37.09, + 37.12, + 37.1401, + 37.115, + 36.995, + 36.99, + 36.975, + 36.9901, + 36.975, + 36.98, + 36.94, + 36.985, + 36.96, + 36.985, + 37.0225, + 37.01, + 37.035, + 37.045, + 36.99, + 37.03, + 37.0406, + 37.06, + 37.075, + 37.125, + 37.105, + 37.131, + 37.11, + 37.12, + 37.11, + 37.12, + 37.095, + 37.1282, + 37.115, + 37.115, + 37.12, + 37.11, + 37.085, + 37.075, + 37.07, + 37.06, + 37.055, + 37.06, + 37.05, + 37.055, + 37.05, + 37.065, + 37.055, + 37.045, + 37.05, + 37.045, + 37.0456, + 37.035, + 37.05, + 37.05, + 37.05, + 37.075, + 37.07, + 37.045, + 37.05, + 37.03, + 37.01, + 37.04, + 37.045, + 37.0313, + 37.0365, + 37.06, + 37.07, + 37.09, + 37.0669, + 37.04, + 37.04, + 37.055, + 37.07, + 37.07, + 37.0795, + 37.075, + 37.0729, + 37.08, + 37.085, + 37.0875, + 37.08, + 37.085, + 37.09, + 37.095, + 37.09, + 37.0912, + 37.065, + 37.061, + 37.065, + 37.0599, + 37.04, + 37.03, + 37.0286, + 37.015, + 37.0237, + 37.02, + 37.03, + 37.025, + 37.04, + 37.06, + 37.0671, + 37.055, + 37.0479, + 37.0664, + 37.06, + 37.065, + 37.08, + 37.08, + 37.085, + 37.0814, + 37.0701, + 37.065, + 37.06, + 37.0576, + 37.04, + 37.03, + 37.0203, + 37.035, + 37.05, + 37.042, + 37.025, + 37.015, + 37.0276, + 37.005, + 37.016, + 37.015, + 37, + 37.0077, + 37, + 36.9782, + 36.9763, + 36.985, + 37, + 36.9935, + 37.0245, + 37.04, + 37.05, + 37.055, + 37.05, + 37.06, + 37.07, + 37.0512, + 37.04, + 37.03, + 37, + 36.995, + 36.9924, + 37.0178, + 37.0266, + 37.03, + 37.04, + 37.04, + 37.025, + 37.01, + 36.995, + 36.995, + 36.9899, + 36.9799, + 36.95, + 36.94, + 36.925, + 36.95, + 36.94, + 36.93, + 36.945, + 36.94, + 36.945, + 36.94, + 36.94, + 36.935, + 36.94, + 36.9586, + 36.945, + 36.94, + 36.94, + 36.945, + 36.94, + 36.935, + 36.925, + 36.935, + 36.915, + 36.915, + 36.935, + 36.935, + 36.945, + 36.925, + 36.925, + 36.925, + 36.92, + 36.915, + 36.93, + 36.925, + 36.925, + 36.93, + 36.9231, + 36.92, + 36.92, + 36.91, + 36.925, + 36.915, + 36.875, + 36.865, + 36.86, + 36.8302, + 36.8515, + 36.825, + 36.8316, + 36.84, + 36.85, + 36.85, + 36.845, + 36.825, + 36.8175, + 36.8206, + 36.805, + 36.825, + 36.83, + 36.805, + 36.815, + 36.8126, + 36.8528, + 36.85, + 36.855, + 36.855, + 36.855, + 36.8799, + 36.8864, + 36.875, + 36.8869, + 36.8872, + 36.92, + 36.905, + 36.945, + 36.9767, + 36.985, + 36.995, + 36.995, + 36.9799, + 36.98, + 36.97, + 36.9721, + 36.955, + 36.96, + 36.95, + 36.945, + 36.945, + 36.95, + 36.935, + 36.94, + 36.925, + 36.91, + 36.89, + 36.9, + 36.905, + 36.915, + 36.93, + 36.925, + 36.935, + 36.945, + 36.9, + 36.99, + 36.96, + 36.97, + 36.93, + 36.935, + 36.9225, + 36.98, + 36.955, + 36.935, + 36.905, + 36.9299, + 36.915, + 36.915, + 36.92, + 36.95, + 36.935, + 36.945, + 36.9342, + 36.92, + 36.94, + 36.935, + 36.945, + 36.945, + 36.95, + 37, + 37.01, + 37.025, + 37.035, + 37.045, + 36.921, + 36.965, + 37.075, + 37.13, + 37, + 37.04, + 37.05, + 37.1, + 37.175, + 37.27, + 37.29, + 37.245, + 37.2818, + 37.415, + 37.325, + 37.34, + 37.37, + 37.36, + 37.42, + 37.43, + 37.4606, + 37.43, + 37.44, + 37.47, + 37.4401, + 37.465, + 37.435, + 37.43, + 37.47, + 37.44, + 37.48, + 37.41, + 37.4, + 37.379, + 37.39, + 37.39, + 37.38, + 37.425, + 37.3908, + 37.39, + 37.3642, + 37.39, + 37.395, + 37.39, + 37.375, + 37.385, + 37.38, + 37.34, + 37.375, + 37.345, + 37.32, + 37.285, + 37.35, + 37.38, + 37.3599, + 37.38, + 37.385, + 37.355, + 37.37, + 37.275, + 37.285, + 37.25, + 37.27, + 37.215, + 37.23, + 37.19, + 37.2, + 37.16, + 37.155, + 37.195, + 37.16, + 37.14, + 37.12, + 37.165, + 37.17, + 37.18, + 37.1301, + 37.14, + 37.17, + 37.11, + 37.05, + 37.025, + 37.01, + 37.015, + 36.995, + 37.015, + 36.955, + 36.955, + 36.945, + 36.95, + 37.46, + 37.475, + 37.4105, + 37.4, + 37.365, + 37.3, + 37.255, + 37.175, + 37.255, + 37.245, + 37.23, + 37.265, + 37.215, + 37.145, + 37.1, + 37.13, + 37.08, + 37.1109, + 37.1, + 37.125, + 37.12, + 37.15, + 37.115, + 37.14, + 37.12, + 37.09, + 37.12, + 37.16, + 37.11, + 37.145, + 37.1189, + 37.04, + 37.01, + 37.0597, + 37.025, + 37.0506, + 37.025, + 37.045, + 37.01, + 36.9349, + 36.97, + 37, + 37.0199, + 36.97, + 36.9621, + 36.9799, + 36.97, + 36.935, + 36.95, + 36.9599, + 36.895, + 36.9099, + 36.905, + 36.959, + 36.9529, + 36.945, + 36.985, + 36.9818, + 37.0053, + 36.995, + 36.98, + 36.985, + 36.9599, + 36.975, + 36.98, + 36.955, + 36.95, + 36.98, + 36.9767, + 36.9639, + 36.93, + 36.905, + 36.8399, + 36.855, + 36.8258, + 36.8295, + 36.825, + 36.845, + 36.855, + 36.865, + 36.8484, + 36.87, + 36.8731, + 36.855, + 36.835, + 36.835, + 36.875, + 36.865, + 36.875, + 36.85, + 36.8659, + 36.855, + 36.92, + 36.9, + 36.9, + 36.895, + 36.905, + 36.915, + 36.91, + 36.92, + 36.91, + 36.915, + 36.9, + 36.89, + 36.875, + 36.8806, + 36.875, + 36.875, + 36.885, + 36.895, + 36.88, + 36.895, + 36.9, + 36.87, + 36.87, + 36.865, + 36.83, + 36.825, + 36.8273, + 36.815, + 36.82, + 36.785, + 36.76, + 36.795, + 36.745, + 36.7302, + 36.74, + 36.72, + 36.74, + 36.7207, + 36.74, + 36.755, + 36.745, + 36.76, + 36.76, + 36.765, + 36.775, + 36.79, + 36.79, + 36.785, + 36.795, + 36.8119, + 36.81, + 36.8, + 36.8131, + 36.795, + 36.8, + 36.7883, + 36.79, + 36.77, + 36.745, + 36.76, + 36.76, + 36.75, + 36.745, + 36.73, + 36.745, + 36.755, + 36.715, + 36.714, + 36.715, + 36.725, + 36.705, + 36.715, + 36.705, + 36.725, + 36.7007, + 36.705, + 36.705, + 36.715, + 36.75, + 36.7274, + 36.75, + 36.75, + 36.7376, + 36.715, + 36.71, + 36.715, + 36.71, + 36.71, + 36.705, + 36.685, + 36.685, + 36.69, + 36.675, + 36.6728, + 36.66, + 36.6715, + 36.7, + 36.715, + 36.715, + 36.735, + 36.725, + 36.735, + 36.75, + 36.75, + 36.735, + 36.75, + 36.745, + 36.75, + 36.755, + 36.76, + 36.765, + 36.765, + 36.755, + 36.75, + 36.755, + 36.74, + 36.755, + 36.755, + 36.765, + 36.78, + 36.786, + 36.775, + 36.77, + 36.7738, + 36.7927, + 36.804, + 36.795, + 36.805, + 36.82, + 36.83, + 36.835, + 36.876, + 36.8796, + 36.8997, + 36.875, + 36.86, + 36.865, + 36.8599, + 36.86, + 36.86, + 36.86, + 36.859, + 36.892, + 36.88, + 36.86, + 36.88, + 36.91, + 36.9177, + 36.895, + 36.895, + 36.875, + 36.87, + 36.885, + 36.875, + 36.895, + 36.885, + 36.8704, + 36.8633, + 36.875, + 36.85, + 36.87, + 36.875, + 36.875, + 36.87, + 36.865, + 36.8699, + 36.87, + 36.865, + 36.875, + 36.88, + 36.885, + 36.875, + 36.8584, + 36.875, + 36.875, + 36.875, + 36.865, + 36.875, + 36.865, + 36.845, + 36.855, + 36.865, + 36.86, + 36.865, + 36.86, + 36.874, + 36.87, + 36.865, + 36.84, + 36.835, + 36.845, + 36.845, + 36.845, + 36.835, + 36.835, + 36.8026, + 36.805, + 36.815, + 36.8127, + 36.815, + 36.815, + 36.83, + 36.8346, + 36.835, + 36.85, + 36.86, + 36.86, + 36.8701, + 36.875, + 36.8701, + 36.875, + 36.905, + 36.8841, + 36.895, + 36.9145, + 36.915, + 36.945, + 36.955, + 36.925, + 36.935, + 36.915, + 36.905, + 36.895, + 36.88, + 36.906, + 36.925, + 36.96, + 36.9577, + 36.925, + 36.92, + 36.935, + 36.96, + 36.935, + 36.9501, + 36.96, + 36.9538, + 36.94, + 36.915, + 36.89, + 36.89, + 36.84, + 36.825, + 36.8528, + 36.89, + 36.895, + 36.915, + 36.95, + 36.96, + 36.955, + 36.935, + 36.89, + 36.9075, + 36.885, + 36.896, + 36.905, + 36.875, + 36.87, + 36.8743, + 36.92, + 36.925, + 36.905, + 36.915, + 36.91, + 36.89, + 36.895, + 36.9, + 36.905, + 36.8778, + 36.8687, + 36.8791, + 36.855, + 36.855, + 36.83, + 36.8, + 36.795, + 36.825, + 36.82, + 36.81, + 36.82, + 36.795, + 36.825, + 36.825, + 36.805, + 36.805, + 36.84, + 36.84, + 36.85, + 36.84, + 36.8, + 36.82, + 36.825, + 36.84, + 36.85, + 36.86, + 36.85, + 36.845, + 36.83, + 36.89, + 36.88, + 37.435, + 37.49, + 37.42, + 37.375, + 37.3, + 37.275, + 37.305, + 37.23, + 37.255, + 37.3111, + 37.3, + 37.35, + 37.325, + 37.265, + 37.29, + 37.285, + 37.38, + 37.385, + 37.4, + 37.4, + 37.36, + 37.38, + 37.415, + 37.42, + 37.425, + 37.455, + 37.4479, + 37.445, + 37.42, + 37.415, + 37.32, + 37.305, + 37.32, + 37.31, + 37.27, + 37.285, + 37.31, + 37.2491, + 37.24, + 37.27, + 37.265, + 37.255, + 37.24, + 37.228, + 37.225, + 37.255, + 37.22, + 37.24, + 37.2299, + 37.19, + 37.1697, + 37.17, + 37.13, + 37.095, + 37.155, + 37.12, + 37.145, + 37.135, + 37.1781, + 37.165, + 37.225, + 37.2, + 37.21, + 37.175, + 37.16, + 37.17, + 37.175, + 37.19, + 37.165, + 37.1603, + 37.189, + 37.1925, + 37.195, + 37.2, + 37.225, + 37.2299, + 37.225, + 37.215, + 37.2299, + 37.2101, + 37.185, + 37.195, + 37.155, + 37.17, + 37.1662, + 37.195, + 37.17, + 37.2, + 37.215, + 37.18, + 37.225, + 37.205, + 37.1725, + 37.195, + 37.195, + 37.19, + 37.1908, + 37.235, + 37.205, + 37.205, + 37.21, + 37.235, + 37.2236, + 37.21, + 37.225, + 37.22, + 37.225, + 37.21, + 37.215, + 37.205, + 37.205, + 37.19, + 37.2, + 37.205, + 37.21, + 37.2, + 37.19, + 37.22, + 37.225, + 37.205, + 37.215, + 37.21, + 37.225, + 37.225, + 37.2283, + 37.23, + 37.215, + 37.2284, + 37.21, + 37.215, + 37.235, + 37.2572, + 37.25, + 37.245, + 37.205, + 37.224, + 37.24, + 37.2299, + 37.205, + 37.24, + 37.245, + 37.2336, + 37.23, + 37.2481, + 37.24, + 37.2425, + 37.235, + 37.245, + 37.245, + 37.235, + 37.245, + 37.24, + 37.24, + 37.235, + 37.24, + 37.24, + 37.235, + 37.2361, + 37.22, + 37.235, + 37.24, + 37.23, + 37.2201, + 37.215, + 37.225, + 37.23, + 37.225, + 37.225, + 37.2094, + 37.21, + 37.213, + 37.2199, + 37.22, + 37.23, + 37.235, + 37.24, + 37.25, + 37.24, + 37.25, + 37.245, + 37.25, + 37.245, + 37.24, + 37.25, + 37.245, + 37.25, + 37.25, + 37.245, + 37.25, + 37.26, + 37.2475, + 37.245, + 37.2541, + 37.265, + 37.2503, + 37.25, + 37.235, + 37.2, + 37.225, + 37.2161, + 37.215, + 37.2001, + 37.2074, + 37.185, + 37.1975, + 37.185, + 37.19, + 37.19, + 37.18, + 37.205, + 37.205, + 37.2063, + 37.2075, + 37.19, + 37.2019, + 37.195, + 37.2, + 37.21, + 37.21, + 37.205, + 37.19, + 37.195, + 37.215, + 37.2, + 37.215, + 37.215, + 37.21, + 37.22, + 37.215, + 37.172, + 37.18, + 37.17, + 37.16, + 37.165, + 37.15, + 37.175, + 37.175, + 37.16, + 37.18, + 37.18, + 37.195, + 37.1799, + 37.165, + 37.16, + 37.194, + 37.21, + 37.21, + 37.21, + 37.22, + 37.23, + 37.24, + 37.25, + 37.2627, + 37.2417, + 37.245, + 37.23, + 37.2425, + 37.2425, + 37.245, + 37.25, + 37.26, + 37.265, + 37.25, + 37.255, + 37.25, + 37.265, + 37.267, + 37.2599, + 37.255, + 37.24, + 37.255, + 37.26, + 37.255, + 37.255, + 37.27, + 37.277, + 37.27, + 37.27, + 37.265, + 37.265, + 37.255, + 37.24, + 37.255, + 37.2324, + 37.245, + 37.2501, + 37.235, + 37.24, + 37.235, + 37.235, + 37.23, + 37.24, + 37.245, + 37.235, + 37.24, + 37.25, + 37.2413, + 37.235, + 37.235, + 37.235, + 37.2329, + 37.2299, + 37.23, + 37.225, + 37.215, + 37.23, + 37.22, + 37.2275, + 37.225, + 37.22, + 37.1967, + 37.21, + 37.19, + 37.195, + 37.185, + 37.17, + 37.195, + 37.205, + 37.19, + 37.195, + 37.2, + 37.2055, + 37.2, + 37.19, + 37.19, + 37.2, + 37.195, + 37.205, + 37.195, + 37.19, + 37.1711, + 37.16, + 37.16, + 37.175, + 37.1601, + 37.185, + 37.1732, + 37.155, + 37.17, + 37.18, + 37.175, + 37.155, + 37.13, + 37.13, + 37.14, + 37.14, + 37.155, + 37.15, + 37.154, + 37.1721, + 37.1701, + 37.1623, + 37.16, + 37.18, + 37.185, + 37.2, + 37.2, + 37.205, + 37.195, + 37.195, + 37.19, + 37.18, + 37.175, + 37.16, + 37.16, + 37.1639, + 37.19, + 37.195, + 37.205, + 37.19, + 37.215, + 37.2225, + 37.215, + 37.215, + 37.205, + 37.21, + 37.215, + 37.2, + 37.23, + 37.215, + 37.23, + 37.23, + 37.245, + 37.25, + 37.245, + 37.25, + 37.245, + 37.23, + 37.245, + 37.235, + 37.24, + 37.72, + 37.675, + 37.63, + 37.5742, + 37.58, + 37.42, + 37.4111, + 37.4022, + 37.42, + 37.43, + 37.44, + 37.485, + 37.535, + 37.5508, + 37.525, + 37.53, + 37.5188, + 37.5299, + 37.5, + 37.435, + 37.465, + 37.475, + 37.495, + 37.495, + 37.515, + 37.535, + 37.535, + 37.545, + 37.5, + 37.49, + 37.48, + 37.505, + 37.51, + 37.535, + 37.57, + 37.5701, + 37.565, + 37.58, + 37.59, + 37.58, + 37.58, + 37.615, + 37.615, + 37.625, + 37.635, + 37.64, + 37.675, + 37.6388, + 37.66, + 37.605, + 37.625, + 37.645, + 37.63, + 37.6352, + 37.625, + 37.6463, + 37.635, + 37.6125, + 37.64, + 37.625, + 37.6326, + 37.595, + 37.59, + 37.5928, + 37.595, + 37.585, + 37.585, + 37.595, + 37.615, + 37.605, + 37.615, + 37.615, + 37.605, + 37.575, + 37.5993, + 37.5924, + 37.59, + 37.595, + 37.595, + 37.595, + 37.6, + 37.5799, + 37.56, + 37.5515, + 37.5625, + 37.58, + 37.545, + 37.555, + 37.555, + 37.56, + 37.55, + 37.5599, + 37.5402, + 37.535, + 37.545, + 37.515, + 37.54, + 37.55, + 37.53, + 37.545, + 37.54, + 37.5377, + 37.53, + 37.53, + 37.5343, + 37.555, + 37.54, + 37.5376, + 37.52, + 37.5301, + 37.545, + 37.545, + 37.5177, + 37.5, + 37.495, + 37.4986, + 37.4982, + 37.475, + 37.48, + 37.49, + 37.4725, + 37.48, + 37.485, + 37.475, + 37.485, + 37.5, + 37.505, + 37.505 + ], + "decreasing": { + "fillcolor": "#ee534f", + "line": { + "color": "#ee534f" + } + }, + "high": [ + 37.94, + 37.985, + 37.85, + 37.88, + 37.89, + 37.86, + 37.83, + 37.895, + 37.89, + 37.9, + 37.89, + 37.93, + 37.92, + 37.87, + 37.88, + 37.89, + 37.93, + 37.965, + 37.97, + 37.99, + 38.005, + 38.03, + 38.03, + 38, + 38.01, + 38.03, + 38.0102, + 38.01, + 38.0075, + 37.99, + 38.01, + 38.04, + 38.06, + 38.05, + 38.0389, + 38.04, + 38.04, + 38.06, + 38.06, + 38.02, + 38.02, + 38.02, + 38.03, + 38.03, + 38.015, + 38.03, + 38.03, + 38.03, + 38.025, + 38.015, + 38.02, + 37.995, + 38, + 38.005, + 37.9991, + 37.99, + 37.99, + 37.99, + 37.98, + 37.97, + 37.97, + 37.9775, + 37.97, + 37.995, + 37.99, + 37.9875, + 37.975, + 37.97, + 37.97, + 37.95, + 37.96, + 37.96, + 37.96, + 37.96, + 37.96, + 37.96, + 37.96, + 37.95, + 37.97, + 37.97, + 37.96, + 37.96, + 37.96, + 37.95, + 37.95, + 37.95, + 37.95, + 37.95, + 37.96, + 37.95, + 37.95, + 37.95, + 37.96, + 37.96, + 37.95, + 37.95, + 37.96, + 37.96, + 37.95, + 37.95, + 37.95, + 37.95, + 37.93, + 37.92, + 37.92, + 37.9299, + 37.93, + 37.93, + 37.93, + 37.925, + 37.93, + 37.93, + 37.925, + 37.89, + 37.88, + 37.88, + 37.89, + 37.9, + 37.9, + 37.91, + 37.895, + 37.885, + 37.91, + 37.91, + 37.8899, + 37.88, + 37.9, + 37.9, + 37.9, + 37.9, + 37.89, + 37.8599, + 37.87, + 37.87, + 37.856, + 37.8499, + 37.85, + 37.85, + 37.85, + 37.85, + 37.86, + 37.86, + 37.85, + 37.85, + 37.84, + 37.83, + 37.83, + 37.82, + 37.83, + 37.83, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.8, + 37.795, + 37.8, + 37.79, + 37.78, + 37.78, + 37.78, + 37.78, + 37.77, + 37.76, + 37.78, + 37.79, + 37.79, + 37.8, + 37.79, + 37.79, + 37.79, + 37.79, + 37.79, + 37.77, + 37.78, + 37.77, + 37.77, + 37.7674, + 37.77, + 37.77, + 37.74, + 37.74, + 37.74, + 37.74, + 37.74, + 37.73, + 37.726, + 37.72, + 37.7299, + 37.72, + 37.7299, + 37.73, + 37.72, + 37.72, + 37.73, + 37.74, + 37.75, + 37.75, + 37.74, + 37.73, + 37.74, + 37.75, + 37.75, + 37.74, + 37.74, + 37.74, + 37.735, + 37.72, + 37.72, + 37.72, + 37.73, + 37.73, + 37.74, + 37.75, + 37.75, + 37.7498, + 37.7484, + 37.75, + 37.75, + 37.75, + 37.76, + 37.76, + 37.76, + 37.76, + 37.77, + 37.77, + 37.767, + 37.79, + 37.8, + 37.8, + 37.7868, + 37.78, + 37.78, + 37.8, + 37.7999, + 37.8, + 37.7942, + 37.79, + 37.79, + 37.77, + 37.77, + 37.7674, + 37.77, + 37.78, + 37.78, + 37.7676, + 37.77, + 37.765, + 37.77, + 37.76, + 37.74, + 37.735, + 37.72, + 37.73, + 37.73, + 37.74, + 37.73, + 37.7288, + 37.74, + 37.75, + 37.75, + 37.75, + 37.75, + 37.73, + 37.74, + 37.76, + 37.76, + 37.75, + 37.76, + 37.755, + 37.74, + 37.74, + 37.75, + 37.75, + 37.75, + 37.73, + 37.73, + 37.74, + 37.73, + 37.72, + 37.72, + 37.72, + 37.715, + 37.7, + 37.695, + 37.6639, + 37.655, + 37.66, + 37.66, + 37.66, + 37.65, + 37.66, + 37.67, + 37.68, + 37.68, + 37.69, + 37.695, + 37.69, + 37.69, + 37.69, + 37.695, + 37.69, + 37.71, + 37.69, + 37.68, + 37.68, + 37.665, + 37.67, + 37.67, + 37.6699, + 37.66, + 37.64, + 37.62, + 37.58, + 37.57, + 37.54, + 37.52, + 37.5064, + 37.5, + 37.49, + 37.51, + 37.51, + 37.52, + 37.515, + 37.5, + 37.49, + 37.5, + 37.51, + 37.52, + 37.525, + 37.525, + 37.53, + 37.55, + 37.56, + 37.56, + 37.55, + 37.54, + 37.535, + 37.52, + 37.52, + 37.5101, + 37.51, + 37.52, + 37.53, + 37.53, + 37.54, + 37.55, + 37.55, + 37.525, + 37.55, + 37.56, + 37.55, + 37.53, + 37.54, + 37.545, + 37.51, + 37.53, + 37.53, + 37.5, + 37.52, + 37.52, + 37.505, + 37.5, + 37.5, + 37.5, + 37.5, + 37.52, + 37.55, + 37.53, + 37.53, + 37.53, + 37.56, + 37.6, + 37.52, + 37.515, + 37.5, + 37.45, + 37.4099, + 37.41, + 37.43, + 37.56, + 37.57, + 37.485, + 37.51, + 37.5258, + 37.54, + 37.51, + 37.57, + 37.565, + 37.58, + 37.565, + 37.535, + 37.53, + 37.51, + 37.52, + 37.505, + 37.47, + 37.45, + 37.42, + 37.43, + 37.425, + 37.43, + 37.45, + 37.47, + 37.44, + 37.44, + 37.42, + 37.44, + 37.45, + 37.48, + 37.495, + 37.49, + 37.47, + 37.48, + 37.49, + 37.48, + 37.49, + 37.49, + 37.49, + 37.49, + 37.53, + 37.57, + 37.565, + 37.56, + 37.56, + 37.56, + 37.56, + 37.6, + 37.56, + 37.565, + 37.55, + 37.55, + 37.55, + 37.5, + 37.49, + 37.475, + 37.4671, + 37.485, + 37.485, + 37.505, + 37.51, + 37.51, + 37.52, + 37.54, + 37.565, + 37.57, + 37.59, + 37.59, + 37.615, + 37.6471, + 37.65, + 37.64, + 37.64, + 37.65, + 37.67, + 37.67, + 37.66, + 37.67, + 37.655, + 37.66, + 37.64, + 37.66, + 37.66, + 37.65, + 37.6401, + 37.6399, + 37.65, + 37.65, + 37.65, + 37.62, + 37.59, + 37.6, + 37.56, + 37.545, + 37.56, + 37.56, + 37.53, + 37.52, + 37.52, + 37.56, + 37.57, + 37.58, + 37.55, + 37.54, + 37.54, + 37.54, + 37.54, + 37.55, + 37.555, + 37.56, + 37.55, + 37.545, + 37.535, + 37.52, + 37.51, + 37.4901, + 37.5, + 37.5, + 37.52, + 37.51, + 37.51, + 37.52, + 37.52, + 37.5077, + 37.505, + 37.5, + 37.5, + 37.49, + 37.49, + 37.4899, + 37.4799, + 37.4778, + 37.47, + 37.46, + 37.45, + 37.45, + 37.46, + 37.46, + 37.48, + 37.5, + 37.51, + 37.51, + 37.495, + 37.47, + 37.47, + 37.45, + 37.45, + 37.45, + 37.44, + 37.44, + 37.44, + 37.44, + 37.445, + 37.44, + 37.45, + 37.45, + 37.44, + 37.45, + 37.445, + 37.44, + 37.43, + 37.43, + 37.42, + 37.43, + 37.445, + 37.45, + 37.445, + 37.44, + 37.465, + 37.46, + 37.445, + 37.44, + 37.43, + 37.415, + 37.39, + 37.38, + 37.34, + 37.315, + 37.3282, + 37.32, + 37.34, + 37.34, + 37.33, + 37.33, + 37.34, + 37.325, + 37.3, + 37.32, + 37.31, + 37.3, + 37.31, + 37.3078, + 37.3, + 37.315, + 37.32, + 37.29, + 37.28, + 37.285, + 37.3, + 37.3, + 37.3, + 37.3, + 37.29, + 37.275, + 37.27, + 37.29, + 37.3, + 37.3, + 37.285, + 37.31, + 37.32, + 37.32, + 37.295, + 37.29, + 37.3, + 37.28, + 37.265, + 37.28, + 37.28, + 37.28, + 37.28, + 37.28, + 37.28, + 37.3, + 37.3, + 37.3, + 37.3, + 37.3, + 37.3, + 37.3, + 37.3, + 37.3, + 37.3, + 37.29, + 37.29, + 37.29, + 37.3, + 37.3, + 37.3, + 37.3, + 37.3, + 37.3, + 37.3, + 37.34, + 37.34, + 37.32, + 37.34, + 37.35, + 37.34, + 37.35, + 37.33, + 37.33, + 37.33, + 37.36, + 37.35, + 37.36, + 37.36, + 37.36, + 37.36, + 37.35, + 37.37, + 37.37, + 37.37, + 37.37, + 37.3677, + 37.36, + 37.36, + 37.36, + 37.36, + 37.35, + 37.34, + 37.33, + 37.33, + 37.32, + 37.32, + 37.31, + 37.32, + 37.31, + 37.3, + 37.295, + 37.29, + 37.29, + 37.29, + 37.29, + 37.31, + 37.3, + 37.2899, + 37.28, + 37.28, + 37.27, + 37.26, + 37.24, + 37.245, + 37.24, + 37.23, + 37.22, + 37.2401, + 37.24, + 37.24, + 37.24, + 37.24, + 37.2475, + 37.25, + 37.23, + 37.215, + 37.21, + 37.2, + 37.195, + 37.19, + 37.19, + 37.1881, + 37.165, + 37.15, + 37.145, + 37.1174, + 37.13, + 37.15, + 37.16, + 37.1599, + 37.17, + 37.1462, + 37.15, + 37.14, + 37.15, + 37.15, + 37.17, + 37.17, + 37.17, + 37.18, + 37.18, + 37.18, + 37.16, + 37.16, + 37.1674, + 37.15, + 37.15, + 37.15, + 37.14, + 37.13, + 37.11, + 37.1075, + 37.11, + 37.1, + 37.1267, + 37.129, + 37.11, + 37.1, + 37.09, + 37.1, + 37.1, + 37.1, + 37.11, + 37.11, + 37.09, + 37.09, + 37.09, + 37.1, + 37.1, + 37.09, + 37.07, + 37.07, + 37.07, + 37.08, + 37.1, + 37.09, + 37.09, + 37.09, + 37.085, + 37.08, + 37.06, + 37.06, + 37.08, + 37.09, + 37.09, + 37.09, + 37.085, + 37.08, + 37.08, + 37.08, + 37.08, + 37.045, + 37.025, + 37.02, + 37.01, + 37.36, + 37.36, + 37.41, + 37.375, + 37.32, + 37.22, + 37.195, + 37.23, + 37.24, + 37.225, + 37.202, + 37.15, + 37.11, + 37.13, + 37.15, + 37.16, + 37.125, + 37.01, + 36.99, + 37.03, + 37.01, + 36.985, + 36.985, + 36.99, + 37, + 36.99, + 37.0375, + 37.035, + 37.05, + 37.06, + 37.07, + 37.035, + 37.05, + 37.07, + 37.08, + 37.13, + 37.1499, + 37.15, + 37.14, + 37.13, + 37.13, + 37.12, + 37.1186, + 37.1282, + 37.125, + 37.12, + 37.1201, + 37.13, + 37.105, + 37.085, + 37.0907, + 37.075, + 37.07, + 37.07, + 37.07, + 37.06, + 37.065, + 37.0707, + 37.08, + 37.055, + 37.06, + 37.05, + 37.05, + 37.05, + 37.05, + 37.05, + 37.05, + 37.08, + 37.08, + 37.08, + 37.05, + 37.0489, + 37.04, + 37.04, + 37.05, + 37.04, + 37.05, + 37.06, + 37.08, + 37.09, + 37.085, + 37.07, + 37.045, + 37.06, + 37.07, + 37.08, + 37.09, + 37.08, + 37.08, + 37.08, + 37.09, + 37.09, + 37.09, + 37.09, + 37.1, + 37.1, + 37.1, + 37.095, + 37.09, + 37.07, + 37.07, + 37.065, + 37.06, + 37.05, + 37.0373, + 37.03, + 37.03, + 37.03, + 37.03, + 37.035, + 37.055, + 37.06, + 37.07, + 37.065, + 37.06, + 37.07, + 37.07, + 37.07, + 37.08, + 37.08, + 37.09, + 37.09, + 37.085, + 37.08, + 37.065, + 37.06, + 37.055, + 37.05, + 37.03, + 37.04, + 37.05, + 37.05, + 37.05, + 37.0367, + 37.0299, + 37.03, + 37.02, + 37.03, + 37.015, + 37.01, + 37.01, + 37.005, + 36.99, + 36.99, + 37, + 37, + 37.03, + 37.04, + 37.06, + 37.075, + 37.06, + 37.06, + 37.07, + 37.07, + 37.06, + 37.045, + 37.02, + 37, + 37, + 37.02, + 37.03, + 37.03, + 37.04, + 37.04, + 37.04, + 37.03, + 37.0199, + 37.01, + 37, + 36.9998, + 36.97, + 36.98, + 36.94, + 36.95, + 36.95, + 36.94, + 36.95, + 36.95, + 36.95, + 36.95, + 36.94, + 36.94, + 36.95, + 36.96, + 36.97, + 36.95, + 36.94, + 36.95, + 36.95, + 36.94, + 36.94, + 36.94, + 36.94, + 36.92, + 36.94, + 36.95, + 36.945, + 36.95, + 36.93, + 36.93, + 36.93, + 36.9279, + 36.93, + 36.93, + 36.93, + 36.93, + 36.93, + 36.92, + 36.92, + 36.92, + 36.93, + 36.9212, + 36.92, + 36.88, + 36.865, + 36.86, + 36.855, + 36.86, + 36.835, + 36.84, + 36.85, + 36.85, + 36.85, + 36.8499, + 36.82, + 36.8287, + 36.8275, + 36.83, + 36.83, + 36.83, + 36.82, + 36.82, + 36.86, + 36.855, + 36.86, + 36.86, + 36.86, + 36.88, + 36.89, + 36.89, + 36.89, + 36.89, + 36.92, + 36.92, + 36.95, + 36.98, + 36.99, + 37.01, + 37, + 37, + 36.98, + 36.98, + 36.9782, + 36.975, + 36.96, + 36.9575, + 36.96, + 36.95, + 36.95, + 36.95, + 36.955, + 36.945, + 36.925, + 36.91, + 36.91, + 36.91, + 36.92, + 36.93, + 36.94, + 36.945, + 36.99, + 36.975, + 37, + 36.99, + 36.985, + 37, + 36.955, + 36.975, + 36.98, + 36.98, + 36.98, + 36.94, + 36.935, + 36.94, + 36.94, + 36.95, + 36.95, + 36.945, + 36.95, + 36.95, + 36.94, + 36.945, + 36.94, + 36.95, + 36.95, + 36.95, + 37.005, + 37.02, + 37.04, + 37.04, + 37.056, + 37.045, + 36.97, + 37.085, + 37.14, + 37.125, + 37.07, + 37.05, + 37.116, + 37.18, + 37.27, + 37.305, + 37.29, + 37.31, + 37.415, + 37.425, + 37.38, + 37.375, + 37.4, + 37.425, + 37.47, + 37.4635, + 37.48, + 37.46, + 37.47, + 37.49, + 37.47, + 37.4878, + 37.475, + 37.48, + 37.505, + 37.5, + 37.5, + 37.43, + 37.41, + 37.41, + 37.41, + 37.4, + 37.425, + 37.435, + 37.41, + 37.41, + 37.39, + 37.4075, + 37.4138, + 37.43, + 37.41, + 37.395, + 37.4, + 37.3885, + 37.37, + 37.35, + 37.33, + 37.35, + 37.39, + 37.39, + 37.41, + 37.39, + 37.3899, + 37.37, + 37.365, + 37.32, + 37.28, + 37.28, + 37.29, + 37.24, + 37.24, + 37.225, + 37.21, + 37.16, + 37.195, + 37.21, + 37.16, + 37.155, + 37.17, + 37.17, + 37.2, + 37.19, + 37.14, + 37.17, + 37.165, + 37.155, + 37.05, + 37.0375, + 37.045, + 37.055, + 37.02, + 37.015, + 36.98, + 36.98, + 36.95, + 37.49, + 37.49, + 37.49, + 37.46, + 37.455, + 37.36, + 37.325, + 37.26, + 37.255, + 37.26, + 37.27, + 37.28, + 37.29, + 37.215, + 37.145, + 37.14, + 37.145, + 37.115, + 37.125, + 37.14, + 37.17, + 37.16, + 37.15, + 37.155, + 37.16, + 37.12, + 37.12, + 37.1674, + 37.17, + 37.15, + 37.15, + 37.115, + 37.035, + 37.06, + 37.07, + 37.0599, + 37.0599, + 37.05, + 37.06, + 37.01, + 36.98, + 37, + 37.025, + 37.02, + 36.98, + 36.99, + 36.98, + 36.975, + 36.95, + 36.9599, + 36.965, + 36.92, + 36.915, + 36.97, + 36.99, + 36.96, + 37, + 37.01, + 37.02, + 37.01, + 36.995, + 36.99, + 36.99, + 36.98, + 36.98, + 36.985, + 36.97, + 36.99, + 36.99, + 36.98, + 36.97, + 36.935, + 36.903, + 36.8599, + 36.855, + 36.845, + 36.84, + 36.86, + 36.875, + 36.875, + 36.8761, + 36.87, + 36.88, + 36.88, + 36.85, + 36.8399, + 36.875, + 36.88, + 36.89, + 36.8877, + 36.87, + 36.89, + 36.92, + 36.915, + 36.9067, + 36.9, + 36.91, + 36.92, + 36.92, + 36.92, + 36.92, + 36.935, + 36.915, + 36.9, + 36.89, + 36.9, + 36.9, + 36.89, + 36.89, + 36.895, + 36.92, + 36.9, + 36.9, + 36.905, + 36.88, + 36.88, + 36.87, + 36.85, + 36.83, + 36.825, + 36.83, + 36.82, + 36.785, + 36.8, + 36.79, + 36.75, + 36.75, + 36.745, + 36.745, + 36.74, + 36.75, + 36.77, + 36.76, + 36.76, + 36.77, + 36.7798, + 36.78, + 36.795, + 36.79, + 36.8, + 36.795, + 36.8162, + 36.82, + 36.8071, + 36.815, + 36.81, + 36.8, + 36.8, + 36.79, + 36.79, + 36.77, + 36.77, + 36.76, + 36.76, + 36.755, + 36.7599, + 36.75, + 36.7574, + 36.7586, + 36.7199, + 36.725, + 36.7299, + 36.73, + 36.7299, + 36.72, + 36.725, + 36.7262, + 36.71, + 36.7095, + 36.715, + 36.75, + 36.7499, + 36.75, + 36.76, + 36.755, + 36.73, + 36.72, + 36.72, + 36.725, + 36.71, + 36.715, + 36.7, + 36.71, + 36.69, + 36.69, + 36.68, + 36.675, + 36.68, + 36.7, + 36.73, + 36.725, + 36.735, + 36.74, + 36.74, + 36.75, + 36.7568, + 36.75, + 36.7501, + 36.77, + 36.76, + 36.7599, + 36.7699, + 36.765, + 36.77, + 36.77, + 36.755, + 36.76, + 36.76, + 36.76, + 36.77, + 36.77, + 36.78, + 36.79, + 36.79, + 36.7858, + 36.79, + 36.7927, + 36.81, + 36.81, + 36.81, + 36.82, + 36.8369, + 36.835, + 36.876, + 36.885, + 36.9, + 36.91, + 36.875, + 36.87, + 36.87, + 36.865, + 36.87, + 36.86, + 36.865, + 36.895, + 36.89, + 36.88, + 36.88, + 36.91, + 36.92, + 36.92, + 36.9, + 36.8999, + 36.885, + 36.89, + 36.895, + 36.895, + 36.905, + 36.895, + 36.87, + 36.88, + 36.88, + 36.876, + 36.876, + 36.88, + 36.89, + 36.87, + 36.88, + 36.875, + 36.87, + 36.88, + 36.88, + 36.895, + 36.89, + 36.875, + 36.88, + 36.88, + 36.88, + 36.88, + 36.8775, + 36.886, + 36.86, + 36.86, + 36.87, + 36.88, + 36.87, + 36.875, + 36.88, + 36.88, + 36.88, + 36.87, + 36.855, + 36.85, + 36.855, + 36.85, + 36.85, + 36.84, + 36.84, + 36.81, + 36.825, + 36.82, + 36.83, + 36.82, + 36.83, + 36.835, + 36.845, + 36.85, + 36.865, + 36.87, + 36.88, + 36.88, + 36.88, + 36.885, + 36.91, + 36.916, + 36.9, + 36.92, + 36.92, + 36.95, + 36.9607, + 36.96, + 36.94, + 36.94, + 36.92, + 36.905, + 36.91, + 36.906, + 36.93, + 36.96, + 36.98, + 36.955, + 36.93, + 36.935, + 36.96, + 36.96, + 36.96, + 36.96, + 36.965, + 36.98, + 36.95, + 36.92, + 36.905, + 36.89, + 36.85, + 36.8528, + 36.89, + 36.91, + 36.92, + 36.95, + 36.96, + 36.97, + 36.96, + 36.94, + 36.93, + 36.91, + 36.896, + 36.916, + 36.9246, + 36.88, + 36.885, + 36.92, + 36.93, + 36.93, + 36.925, + 36.92, + 36.9205, + 36.905, + 36.9, + 36.906, + 36.91, + 36.875, + 36.88, + 36.88, + 36.86, + 36.86, + 36.835, + 36.806, + 36.83, + 36.83, + 36.816, + 36.83, + 36.82, + 36.83, + 36.83, + 36.84, + 36.81, + 36.84, + 36.845, + 36.85, + 36.85, + 36.84, + 36.82, + 36.84, + 36.84, + 36.85, + 36.865, + 36.87, + 36.86, + 36.85, + 36.89, + 36.88, + 37.44, + 37.53, + 37.5, + 37.47, + 37.4, + 37.35, + 37.33, + 37.34, + 37.27, + 37.32, + 37.36, + 37.355, + 37.355, + 37.345, + 37.31, + 37.3, + 37.39, + 37.4, + 37.415, + 37.435, + 37.405, + 37.39, + 37.425, + 37.435, + 37.45, + 37.4585, + 37.47, + 37.46, + 37.46, + 37.44, + 37.52, + 37.39, + 37.335, + 37.33, + 37.335, + 37.3, + 37.33, + 37.33, + 37.26, + 37.27, + 37.295, + 37.275, + 37.26, + 37.27, + 37.24, + 37.27, + 37.2678, + 37.27, + 37.25, + 37.225, + 37.2, + 37.18, + 37.17, + 37.14, + 37.16, + 37.16, + 37.15, + 37.14, + 37.18, + 37.2, + 37.23, + 37.24, + 37.24, + 37.22, + 37.19, + 37.18, + 37.195, + 37.2, + 37.205, + 37.18, + 37.1957, + 37.22, + 37.2, + 37.21, + 37.23, + 37.24, + 37.23, + 37.24, + 37.23, + 37.2399, + 37.22, + 37.2, + 37.195, + 37.175, + 37.18, + 37.2, + 37.2, + 37.21, + 37.225, + 37.215, + 37.2276, + 37.23, + 37.225, + 37.21, + 37.2, + 37.21, + 37.205, + 37.24, + 37.23, + 37.225, + 37.22, + 37.24, + 37.235, + 37.2271, + 37.23, + 37.23, + 37.23, + 37.23, + 37.22, + 37.21, + 37.21, + 37.21, + 37.2, + 37.21, + 37.21, + 37.22, + 37.2, + 37.22, + 37.235, + 37.225, + 37.22, + 37.22, + 37.23, + 37.24, + 37.235, + 37.24, + 37.235, + 37.23, + 37.23, + 37.23, + 37.24, + 37.27, + 37.26, + 37.26, + 37.25, + 37.23, + 37.25, + 37.24, + 37.235, + 37.24, + 37.25, + 37.255, + 37.245, + 37.25, + 37.255, + 37.26, + 37.245, + 37.25, + 37.25, + 37.25, + 37.26, + 37.25, + 37.25, + 37.24, + 37.24, + 37.25, + 37.245, + 37.24, + 37.24, + 37.24, + 37.25, + 37.25, + 37.231, + 37.22, + 37.225, + 37.23, + 37.23, + 37.23, + 37.23, + 37.21, + 37.22, + 37.22, + 37.22, + 37.2383, + 37.235, + 37.25, + 37.26, + 37.25, + 37.25, + 37.25, + 37.25, + 37.25, + 37.2499, + 37.25, + 37.25, + 37.25, + 37.25, + 37.25, + 37.25, + 37.27, + 37.27, + 37.25, + 37.26, + 37.275, + 37.27, + 37.2599, + 37.2499, + 37.2399, + 37.23, + 37.2203, + 37.2257, + 37.22, + 37.21, + 37.21, + 37.1975, + 37.2, + 37.19, + 37.19, + 37.19, + 37.215, + 37.2199, + 37.21, + 37.21, + 37.2099, + 37.21, + 37.205, + 37.2, + 37.21, + 37.215, + 37.21, + 37.21, + 37.2, + 37.24, + 37.215, + 37.22, + 37.23, + 37.22, + 37.22, + 37.22, + 37.22, + 37.185, + 37.18, + 37.1799, + 37.17, + 37.165, + 37.1763, + 37.18, + 37.18, + 37.18, + 37.19, + 37.2, + 37.2, + 37.18, + 37.175, + 37.195, + 37.21, + 37.2188, + 37.21, + 37.22, + 37.23, + 37.24, + 37.25, + 37.2658, + 37.27, + 37.25, + 37.24, + 37.25, + 37.25, + 37.25, + 37.25, + 37.27, + 37.27, + 37.27, + 37.26, + 37.26, + 37.27, + 37.27, + 37.285, + 37.265, + 37.26, + 37.26, + 37.26, + 37.26, + 37.26, + 37.27, + 37.28, + 37.28, + 37.28, + 37.285, + 37.27, + 37.27, + 37.26, + 37.26, + 37.255, + 37.25, + 37.26, + 37.25, + 37.25, + 37.255, + 37.24, + 37.2399, + 37.24, + 37.25, + 37.25, + 37.24, + 37.25, + 37.26, + 37.2458, + 37.24, + 37.245, + 37.24, + 37.235, + 37.23, + 37.23, + 37.225, + 37.23, + 37.23, + 37.23, + 37.23, + 37.225, + 37.215, + 37.22, + 37.215, + 37.2, + 37.2, + 37.19, + 37.2, + 37.21, + 37.21, + 37.2, + 37.21, + 37.21, + 37.21, + 37.2, + 37.2, + 37.2, + 37.2, + 37.21, + 37.21, + 37.2, + 37.19, + 37.175, + 37.17, + 37.19, + 37.175, + 37.19, + 37.185, + 37.175, + 37.18, + 37.18, + 37.18, + 37.175, + 37.1573, + 37.1357, + 37.14, + 37.15, + 37.166, + 37.155, + 37.16, + 37.18, + 37.18, + 37.175, + 37.17, + 37.18, + 37.19, + 37.2, + 37.2, + 37.21, + 37.2069, + 37.2, + 37.195, + 37.19, + 37.19, + 37.18, + 37.17, + 37.17, + 37.2, + 37.2, + 37.21, + 37.205, + 37.22, + 37.23, + 37.23, + 37.22, + 37.22, + 37.21, + 37.22, + 37.22, + 37.235, + 37.23, + 37.23, + 37.23, + 37.25, + 37.25, + 37.25, + 37.25, + 37.25, + 37.25, + 37.25, + 37.27, + 37.25, + 37.73, + 37.775, + 37.72, + 37.635, + 37.6, + 37.595, + 37.45, + 37.415, + 37.4299, + 37.45, + 37.46, + 37.4963, + 37.54, + 37.56, + 37.56, + 37.53, + 37.545, + 37.545, + 37.53, + 37.4971, + 37.47, + 37.48, + 37.5, + 37.508, + 37.52, + 37.535, + 37.565, + 37.55, + 37.57, + 37.51, + 37.51, + 37.5075, + 37.51, + 37.555, + 37.57, + 37.58, + 37.59, + 37.58, + 37.595, + 37.5975, + 37.59, + 37.62, + 37.64, + 37.63, + 37.64, + 37.64, + 37.68, + 37.69, + 37.66, + 37.6586, + 37.63, + 37.645, + 37.65, + 37.64, + 37.645, + 37.6463, + 37.6499, + 37.65, + 37.65, + 37.64, + 37.6465, + 37.64, + 37.605, + 37.6, + 37.6, + 37.6, + 37.59, + 37.5999, + 37.63, + 37.62, + 37.62, + 37.62, + 37.62, + 37.61, + 37.6, + 37.6, + 37.6, + 37.6, + 37.615, + 37.62, + 37.6099, + 37.6, + 37.585, + 37.565, + 37.57, + 37.58, + 37.58, + 37.56, + 37.56, + 37.56, + 37.57, + 37.56, + 37.56, + 37.55, + 37.5479, + 37.546, + 37.54, + 37.55, + 37.55, + 37.55, + 37.55, + 37.5487, + 37.54, + 37.54, + 37.545, + 37.555, + 37.56, + 37.5574, + 37.5394, + 37.54, + 37.55, + 37.55, + 37.545, + 37.52, + 37.51, + 37.4986, + 37.505, + 37.5, + 37.49, + 37.49, + 37.5, + 37.4999, + 37.4873, + 37.485, + 37.49, + 37.525, + 37.51, + 37.511 + ], + "increasing": { + "fillcolor": "#26a69a", + "line": { + "color": "#26a69a" + } + }, + "low": [ + 37.76, + 37.78, + 37.775, + 37.7935, + 37.835, + 37.7349, + 37.76, + 37.82, + 37.83, + 37.87, + 37.825, + 37.875, + 37.845, + 37.82, + 37.84, + 37.865, + 37.8607, + 37.93, + 37.935, + 37.96, + 37.965, + 37.955, + 37.995, + 37.96, + 37.98, + 37.99, + 37.9602, + 37.98, + 37.96, + 37.95, + 37.96, + 37.995, + 38.025, + 38.025, + 38.02, + 38.015, + 38.005, + 38.03, + 38.01, + 38, + 37.99, + 38, + 38, + 38.005, + 37.995, + 38.01, + 38.01, + 38.015, + 38, + 38, + 37.975, + 37.975, + 37.99, + 37.98, + 37.96, + 37.96, + 37.97, + 37.97, + 37.95, + 37.95, + 37.95, + 37.955, + 37.95, + 37.97, + 37.97, + 37.97, + 37.95, + 37.96, + 37.925, + 37.93, + 37.94, + 37.95, + 37.95, + 37.95, + 37.95, + 37.95, + 37.93, + 37.93, + 37.935, + 37.95, + 37.93, + 37.94, + 37.935, + 37.93, + 37.94, + 37.91, + 37.93, + 37.935, + 37.94, + 37.93, + 37.93, + 37.935, + 37.94, + 37.945, + 37.94, + 37.925, + 37.945, + 37.93, + 37.935, + 37.9345, + 37.94, + 37.92, + 37.91, + 37.9, + 37.91, + 37.91, + 37.9137, + 37.915, + 37.92, + 37.905, + 37.905, + 37.91, + 37.88, + 37.87, + 37.87, + 37.86, + 37.87, + 37.88, + 37.885, + 37.8931, + 37.88, + 37.875, + 37.875, + 37.88, + 37.875, + 37.865, + 37.8648, + 37.885, + 37.8801, + 37.88, + 37.845, + 37.84, + 37.85, + 37.855, + 37.84, + 37.83, + 37.8415, + 37.84, + 37.84, + 37.84, + 37.8401, + 37.85, + 37.84, + 37.83, + 37.825, + 37.82, + 37.81, + 37.8, + 37.8, + 37.8, + 37.785, + 37.79, + 37.784, + 37.79, + 37.78, + 37.79, + 37.79, + 37.785, + 37.7901, + 37.795, + 37.79, + 37.79, + 37.795, + 37.785, + 37.78, + 37.79, + 37.7912, + 37.79, + 37.78, + 37.785, + 37.7901, + 37.784, + 37.79, + 37.79, + 37.7801, + 37.77, + 37.77, + 37.765, + 37.7724, + 37.76, + 37.75, + 37.75, + 37.75, + 37.7701, + 37.775, + 37.775, + 37.78, + 37.78, + 37.78, + 37.78, + 37.7639, + 37.755, + 37.755, + 37.76, + 37.75, + 37.75, + 37.76, + 37.73, + 37.72, + 37.73, + 37.73, + 37.7325, + 37.72, + 37.71, + 37.7148, + 37.71, + 37.71, + 37.7125, + 37.715, + 37.71, + 37.71, + 37.71, + 37.715, + 37.725, + 37.725, + 37.73, + 37.72, + 37.7201, + 37.7225, + 37.734, + 37.73, + 37.73, + 37.73, + 37.73, + 37.71, + 37.705, + 37.71, + 37.704, + 37.715, + 37.71, + 37.725, + 37.735, + 37.74, + 37.74, + 37.74, + 37.72, + 37.725, + 37.74, + 37.74, + 37.74, + 37.74, + 37.74, + 37.755, + 37.76, + 37.76, + 37.765, + 37.7814, + 37.784, + 37.775, + 37.77, + 37.77, + 37.77, + 37.7809, + 37.785, + 37.775, + 37.774, + 37.765, + 37.745, + 37.754, + 37.76, + 37.76, + 37.76, + 37.76, + 37.75, + 37.754, + 37.74, + 37.745, + 37.73, + 37.73, + 37.7, + 37.69, + 37.71, + 37.715, + 37.72, + 37.72, + 37.72, + 37.725, + 37.735, + 37.72, + 37.74, + 37.7225, + 37.72, + 37.72, + 37.73, + 37.74, + 37.735, + 37.745, + 37.73, + 37.73, + 37.72, + 37.73, + 37.74, + 37.72, + 37.72, + 37.715, + 37.72, + 37.71, + 37.7, + 37.71, + 37.71, + 37.69, + 37.685, + 37.62, + 37.64, + 37.63, + 37.6402, + 37.64, + 37.64, + 37.62, + 37.645, + 37.66, + 37.6601, + 37.67, + 37.67, + 37.68, + 37.67, + 37.68, + 37.68, + 37.68, + 37.685, + 37.68, + 37.6601, + 37.66, + 37.66, + 37.65, + 37.65, + 37.66, + 37.64, + 37.635, + 37.62, + 37.56, + 37.55, + 37.53, + 37.47, + 37.49, + 37.48, + 37.45, + 37.455, + 37.48, + 37.49, + 37.504, + 37.45, + 37.48, + 37.46, + 37.46, + 37.49, + 37.49, + 37.51, + 37.505, + 37.52, + 37.52, + 37.54, + 37.54, + 37.53, + 37.52, + 37.51, + 37.5, + 37.49, + 37.48, + 37.48, + 37.49, + 37.51, + 37.5137, + 37.52, + 37.525, + 37.52, + 37.505, + 37.525, + 37.54, + 37.52, + 37.5, + 37.5214, + 37.5, + 37.49, + 37.5, + 37.48, + 37.48, + 37.49, + 37.5, + 37.47, + 37.47, + 37.47, + 37.47, + 37.48, + 37.49, + 37.515, + 37.51, + 37.51, + 37.51, + 37.49, + 37.55, + 37.345, + 37.43, + 37.4108, + 37.3598, + 37.36, + 37.32, + 37.31, + 37.42, + 37.4702, + 37.42, + 37.46, + 37.495, + 37.475, + 37.47, + 37.505, + 37.525, + 37.505, + 37.5, + 37.505, + 37.485, + 37.47, + 37.465, + 37.46, + 37.445, + 37.41, + 37.38, + 37.4, + 37.4, + 37.415, + 37.42, + 37.405, + 37.405, + 37.385, + 37.385, + 37.415, + 37.43, + 37.445, + 37.46, + 37.45, + 37.455, + 37.46, + 37.46, + 37.45, + 37.46, + 37.46, + 37.455, + 37.465, + 37.485, + 37.53, + 37.53, + 37.54, + 37.54, + 37.53, + 37.525, + 37.55, + 37.5401, + 37.5301, + 37.53, + 37.53, + 37.48, + 37.47, + 37.45, + 37.45, + 37.455, + 37.46, + 37.45, + 37.47, + 37.49, + 37.49, + 37.495, + 37.51, + 37.535, + 37.545, + 37.555, + 37.57, + 37.585, + 37.61, + 37.63, + 37.62, + 37.62, + 37.63, + 37.635, + 37.65, + 37.635, + 37.63, + 37.635, + 37.625, + 37.62, + 37.625, + 37.64, + 37.635, + 37.62, + 37.615, + 37.63, + 37.63, + 37.61, + 37.58, + 37.575, + 37.555, + 37.535, + 37.5301, + 37.54, + 37.515, + 37.495, + 37.5, + 37.485, + 37.495, + 37.545, + 37.545, + 37.535, + 37.52, + 37.525, + 37.53, + 37.53, + 37.53, + 37.54, + 37.55, + 37.515, + 37.51, + 37.5001, + 37.5, + 37.485, + 37.4714, + 37.485, + 37.48, + 37.5, + 37.485, + 37.49, + 37.5, + 37.4945, + 37.49, + 37.49, + 37.485, + 37.48, + 37.47, + 37.4715, + 37.46, + 37.46, + 37.4501, + 37.45, + 37.45, + 37.44, + 37.42, + 37.435, + 37.44, + 37.454, + 37.47, + 37.49, + 37.49, + 37.46, + 37.455, + 37.43, + 37.44, + 37.44, + 37.43, + 37.41, + 37.415, + 37.415, + 37.43, + 37.43, + 37.42, + 37.435, + 37.43, + 37.43, + 37.43, + 37.42, + 37.42, + 37.42, + 37.41, + 37.415, + 37.4101, + 37.42, + 37.43, + 37.43, + 37.425, + 37.425, + 37.445, + 37.42, + 37.43, + 37.4, + 37.37, + 37.36, + 37.34, + 37.31, + 37.28, + 37.2801, + 37.3, + 37.315, + 37.3101, + 37.314, + 37.32, + 37.32, + 37.29, + 37.285, + 37.285, + 37.27, + 37.2775, + 37.29, + 37.2901, + 37.28, + 37.295, + 37.27, + 37.275, + 37.27, + 37.27, + 37.27, + 37.2801, + 37.285, + 37.275, + 37.27, + 37.25, + 37.244, + 37.265, + 37.284, + 37.2725, + 37.27, + 37.28, + 37.28, + 37.2929, + 37.28, + 37.28, + 37.275, + 37.245, + 37.25, + 37.255, + 37.2601, + 37.255, + 37.26, + 37.26, + 37.2694, + 37.2701, + 37.285, + 37.29, + 37.29, + 37.2848, + 37.28, + 37.2901, + 37.285, + 37.285, + 37.28, + 37.27, + 37.2834, + 37.28, + 37.28, + 37.29, + 37.284, + 37.28, + 37.285, + 37.28, + 37.2801, + 37.295, + 37.3, + 37.305, + 37.31, + 37.33, + 37.32, + 37.32, + 37.31, + 37.3201, + 37.32, + 37.32, + 37.325, + 37.34, + 37.35, + 37.35, + 37.33, + 37.33, + 37.344, + 37.36, + 37.36, + 37.355, + 37.34, + 37.345, + 37.35, + 37.35, + 37.3414, + 37.33, + 37.325, + 37.32, + 37.3, + 37.305, + 37.3, + 37.295, + 37.295, + 37.29, + 37.29, + 37.27, + 37.265, + 37.28, + 37.275, + 37.274, + 37.285, + 37.2801, + 37.26, + 37.264, + 37.26, + 37.24, + 37.23, + 37.205, + 37.22, + 37.2201, + 37.21, + 37.205, + 37.17, + 37.21, + 37.21, + 37.22, + 37.215, + 37.23, + 37.22, + 37.2001, + 37.2, + 37.19, + 37.184, + 37.17, + 37.1701, + 37.17, + 37.16, + 37.144, + 37.13, + 37.105, + 37.1, + 37.11, + 37.125, + 37.14, + 37.14, + 37.13, + 37.1338, + 37.13, + 37.12, + 37.135, + 37.135, + 37.145, + 37.14, + 37.15, + 37.1603, + 37.16, + 37.15, + 37.14, + 37.145, + 37.14, + 37.135, + 37.13, + 37.13, + 37.1225, + 37.1, + 37.08, + 37.09, + 37.0832, + 37.0801, + 37.085, + 37.1001, + 37.085, + 37.075, + 37.07, + 37.08, + 37.0729, + 37.08, + 37.095, + 37.085, + 37.08, + 37.06, + 37.0625, + 37.07, + 37.08, + 37.05, + 37.0534, + 37.045, + 37.06, + 37.05, + 37.07, + 37.08, + 37.08, + 37.06, + 37.07, + 37.05, + 37.035, + 37.0419, + 37.05, + 37.07, + 37.07, + 37.08, + 37.0548, + 37.025, + 37.03, + 37.035, + 37.03, + 37.01, + 36.9901, + 36.981, + 37.01, + 37.02, + 37.22, + 37.34, + 37.285, + 37.18, + 37.135, + 37.11, + 37.18, + 37.16, + 37.17, + 37.14, + 37.075, + 37.07, + 37.0711, + 37.105, + 37.095, + 36.9902, + 36.98, + 36.96, + 36.975, + 36.97, + 36.95, + 36.93, + 36.925, + 36.95, + 36.93, + 36.975, + 37, + 37.0195, + 37.03, + 36.97, + 36.99, + 37.01, + 37.03, + 37.055, + 37.07, + 37.105, + 37.095, + 37.11, + 37.1107, + 37.09, + 37.09, + 37.085, + 37.07, + 37.11, + 37.09, + 37.1, + 37.1, + 37.07, + 37.06, + 37.06, + 37.055, + 37.05, + 37.05, + 37.05, + 37.04, + 37.035, + 37.05, + 37.045, + 37.03, + 37.0314, + 37.04, + 37.03, + 37.03, + 37.0303, + 37.045, + 37.03, + 37.05, + 37.0638, + 37.035, + 37.03, + 37.03, + 37.01, + 37.01, + 37.0301, + 37.02, + 37.035, + 37.035, + 37.0532, + 37.065, + 37.06, + 37.04, + 37.035, + 37.04, + 37.055, + 37.0615, + 37.07, + 37.0601, + 37.0724, + 37.07, + 37.07, + 37.07, + 37.0718, + 37.07, + 37.0827, + 37.085, + 37.09, + 37.08, + 37.06, + 37.0525, + 37.05, + 37.0403, + 37.04, + 37.03, + 37.01, + 37.0101, + 37.015, + 37.01, + 37, + 37.02, + 37.023, + 37.035, + 37.05, + 37.05, + 37.04, + 37.05, + 37.05, + 37.06, + 37.06, + 37.065, + 37.07, + 37.08, + 37.06, + 37.06, + 37.05, + 37.04, + 37.03, + 37.0213, + 37.02, + 37.0225, + 37.025, + 37.03, + 37.025, + 37.01, + 37.01, + 37, + 37, + 37.0148, + 37, + 37, + 36.9923, + 36.975, + 36.97, + 36.97, + 36.9893, + 36.99, + 36.9919, + 37.015, + 37.035, + 37.045, + 37.045, + 37.05, + 37.05, + 37.05, + 37.03, + 37.02, + 37, + 36.99, + 36.9924, + 36.995, + 37.01, + 37.0231, + 37.03, + 37.03, + 37.02, + 37.01, + 36.99, + 36.995, + 36.98, + 36.97, + 36.94, + 36.94, + 36.92, + 36.92, + 36.9301, + 36.93, + 36.93, + 36.94, + 36.94, + 36.94, + 36.93, + 36.93, + 36.935, + 36.945, + 36.94, + 36.935, + 36.9301, + 36.9336, + 36.9317, + 36.93, + 36.92, + 36.9291, + 36.915, + 36.915, + 36.915, + 36.93, + 36.93, + 36.925, + 36.92, + 36.9209, + 36.91, + 36.9101, + 36.915, + 36.925, + 36.925, + 36.9217, + 36.9225, + 36.9124, + 36.91, + 36.91, + 36.905, + 36.91, + 36.875, + 36.86, + 36.84, + 36.82, + 36.825, + 36.82, + 36.82, + 36.83, + 36.84, + 36.84, + 36.8425, + 36.82, + 36.81, + 36.815, + 36.77, + 36.8082, + 36.82, + 36.805, + 36.8, + 36.81, + 36.8101, + 36.845, + 36.8501, + 36.85, + 36.845, + 36.85, + 36.88, + 36.87, + 36.8733, + 36.88, + 36.885, + 36.9, + 36.905, + 36.944, + 36.97, + 36.985, + 36.99, + 36.97, + 36.955, + 36.965, + 36.96, + 36.9512, + 36.95, + 36.93, + 36.94, + 36.9428, + 36.94, + 36.935, + 36.94, + 36.915, + 36.91, + 36.89, + 36.89, + 36.89, + 36.9, + 36.9109, + 36.92, + 36.9239, + 36.91, + 36.89, + 36.91, + 36.94, + 36.96, + 36.91, + 36.925, + 36.9225, + 36.925, + 36.955, + 36.935, + 36.895, + 36.91, + 36.915, + 36.91, + 36.91, + 36.9207, + 36.9306, + 36.9301, + 36.93, + 36.91, + 36.93, + 36.9201, + 36.915, + 36.9401, + 36.935, + 36.945, + 37.005, + 37, + 37.01, + 37.0225, + 36.91, + 36.89, + 36.95, + 37.065, + 36.92, + 36.98, + 36.98, + 37.05, + 37.07, + 37.155, + 37.245, + 37.22, + 37.21, + 37.28, + 37.32, + 37.31, + 37.275, + 37.36, + 37.36, + 37.4124, + 37.42, + 37.425, + 37.426, + 37.425, + 37.4401, + 37.4, + 37.42, + 37.4001, + 37.42, + 37.43, + 37.425, + 37.39, + 37.365, + 37.375, + 37.33, + 37.38, + 37.36, + 37.37, + 37.38, + 37.37, + 37.35, + 37.33, + 37.36, + 37.3814, + 37.375, + 37.37, + 37.355, + 37.34, + 37.34, + 37.315, + 37.29, + 37.265, + 37.275, + 37.34, + 37.34, + 37.35, + 37.35, + 37.35, + 37.34, + 37.26, + 37.2723, + 37.21, + 37.2401, + 37.205, + 37.19, + 37.175, + 37.19, + 37.16, + 37.11, + 37.14, + 37.15, + 37.125, + 37.12, + 37.11, + 37.12, + 37.16, + 37.13, + 37.095, + 37.12, + 37.11, + 37.05, + 37, + 37.005, + 37.005, + 36.97, + 36.985, + 36.95, + 36.95, + 36.93, + 36.94, + 37.37, + 37.435, + 37.385, + 37.38, + 37.35, + 37.285, + 37.245, + 37.1708, + 37.175, + 37.22, + 37.225, + 37.1911, + 37.215, + 37.14, + 37.085, + 37.085, + 37.075, + 37.035, + 37.085, + 37.095, + 37.11, + 37.114, + 37.095, + 37.115, + 37.1099, + 37.09, + 37.095, + 37.115, + 37.11, + 37.11, + 37.1124, + 37.02, + 37.005, + 37.01, + 37.02, + 37.025, + 37.005, + 37.015, + 37, + 36.91, + 36.92, + 36.96, + 36.9826, + 36.97, + 36.96, + 36.96, + 36.96, + 36.93, + 36.92, + 36.9313, + 36.89, + 36.89, + 36.89, + 36.91, + 36.935, + 36.94, + 36.9415, + 36.98, + 36.98, + 36.995, + 36.96, + 36.97, + 36.95, + 36.96, + 36.96, + 36.945, + 36.9402, + 36.95, + 36.97, + 36.96, + 36.93, + 36.9, + 36.835, + 36.81, + 36.81, + 36.81, + 36.81, + 36.8129, + 36.84, + 36.845, + 36.84, + 36.8324, + 36.85, + 36.84, + 36.82, + 36.82, + 36.83, + 36.85, + 36.86, + 36.85, + 36.84, + 36.8525, + 36.86, + 36.885, + 36.88, + 36.885, + 36.89, + 36.89, + 36.905, + 36.9019, + 36.9, + 36.91, + 36.89, + 36.88, + 36.86, + 36.875, + 36.87, + 36.8612, + 36.86, + 36.8744, + 36.88, + 36.88, + 36.88, + 36.87, + 36.87, + 36.86, + 36.83, + 36.82, + 36.8, + 36.81, + 36.81, + 36.77, + 36.7501, + 36.755, + 36.7328, + 36.73, + 36.72, + 36.7138, + 36.7, + 36.72, + 36.72, + 36.745, + 36.74, + 36.74, + 36.7415, + 36.755, + 36.76, + 36.77, + 36.78, + 36.78, + 36.775, + 36.79, + 36.8, + 36.79, + 36.8017, + 36.7935, + 36.79, + 36.775, + 36.785, + 36.76, + 36.7333, + 36.745, + 36.74, + 36.735, + 36.74, + 36.73, + 36.74, + 36.74, + 36.71, + 36.695, + 36.71, + 36.69, + 36.7, + 36.7, + 36.7, + 36.7, + 36.69, + 36.695, + 36.69, + 36.7, + 36.715, + 36.7235, + 36.715, + 36.74, + 36.72, + 36.71, + 36.7, + 36.71, + 36.7, + 36.695, + 36.695, + 36.685, + 36.66, + 36.67, + 36.67, + 36.66, + 36.65, + 36.65, + 36.675, + 36.6937, + 36.71, + 36.715, + 36.72, + 36.72, + 36.73, + 36.745, + 36.73, + 36.7321, + 36.74, + 36.74, + 36.75, + 36.75, + 36.75, + 36.7521, + 36.75, + 36.73, + 36.745, + 36.73, + 36.735, + 36.75, + 36.755, + 36.755, + 36.77, + 36.7734, + 36.77, + 36.77, + 36.775, + 36.79, + 36.7911, + 36.79, + 36.805, + 36.81, + 36.82, + 36.8285, + 36.87, + 36.86, + 36.87, + 36.86, + 36.86, + 36.85, + 36.845, + 36.855, + 36.85, + 36.8517, + 36.855, + 36.875, + 36.86, + 36.85, + 36.875, + 36.9, + 36.89, + 36.885, + 36.8701, + 36.87, + 36.865, + 36.875, + 36.865, + 36.885, + 36.87, + 36.85, + 36.865, + 36.85, + 36.855, + 36.865, + 36.87, + 36.87, + 36.855, + 36.86, + 36.86, + 36.86, + 36.86, + 36.87, + 36.8745, + 36.87, + 36.8529, + 36.8501, + 36.87, + 36.87, + 36.86, + 36.8601, + 36.85, + 36.84, + 36.84, + 36.85, + 36.86, + 36.854, + 36.85, + 36.86, + 36.87, + 36.86, + 36.835, + 36.83, + 36.8335, + 36.83, + 36.84, + 36.834, + 36.83, + 36.79, + 36.79, + 36.805, + 36.81, + 36.81, + 36.81, + 36.81, + 36.824, + 36.83, + 36.835, + 36.8438, + 36.854, + 36.86, + 36.8601, + 36.87, + 36.87, + 36.875, + 36.88, + 36.88, + 36.89, + 36.905, + 36.91, + 36.94, + 36.92, + 36.92, + 36.91, + 36.89, + 36.8936, + 36.87, + 36.88, + 36.905, + 36.92, + 36.955, + 36.92, + 36.92, + 36.915, + 36.935, + 36.935, + 36.94, + 36.95, + 36.95, + 36.94, + 36.91, + 36.88, + 36.885, + 36.835, + 36.82, + 36.82, + 36.85, + 36.88, + 36.89, + 36.91, + 36.94, + 36.9401, + 36.935, + 36.88, + 36.885, + 36.88, + 36.875, + 36.885, + 36.87, + 36.85, + 36.8601, + 36.88, + 36.91, + 36.905, + 36.905, + 36.9, + 36.88, + 36.885, + 36.89, + 36.89, + 36.8749, + 36.85, + 36.86, + 36.845, + 36.84, + 36.83, + 36.78, + 36.78, + 36.79, + 36.81, + 36.8, + 36.81, + 36.795, + 36.7996, + 36.8, + 36.805, + 36.785, + 36.805, + 36.8237, + 36.84, + 36.83, + 36.8, + 36.79, + 36.81, + 36.815, + 36.8341, + 36.83, + 36.84, + 36.84, + 36.81, + 36.825, + 36.87, + 37.23, + 37.39, + 37.36, + 37.3, + 37.29, + 37.26, + 37.26, + 37.23, + 37.16, + 37.23, + 37.3, + 37.26, + 37.3, + 37.25, + 37.26, + 37.24, + 37.26, + 37.37, + 37.38, + 37.37, + 37.35, + 37.34, + 37.375, + 37.4, + 37.41, + 37.415, + 37.43, + 37.41, + 37.415, + 37.4, + 37.29, + 37.28, + 37.28, + 37.27, + 37.26, + 37.26, + 37.28, + 37.24, + 37.22, + 37.21, + 37.25, + 37.24, + 37.22, + 37.22, + 37.18, + 37.22, + 37.22, + 37.23, + 37.22, + 37.17, + 37.15, + 37.15, + 37.12, + 37.09, + 37.08, + 37.12, + 37.11, + 37.11, + 37.125, + 37.165, + 37.16, + 37.2, + 37.18, + 37.1701, + 37.16, + 37.15, + 37.15, + 37.17, + 37.15, + 37.15, + 37.1625, + 37.18, + 37.17, + 37.19, + 37.2, + 37.21, + 37.21, + 37.215, + 37.2, + 37.2, + 37.18, + 37.17, + 37.15, + 37.15, + 37.15, + 37.16, + 37.16, + 37.16, + 37.19, + 37.18, + 37.19, + 37.2, + 37.17, + 37.17, + 37.18, + 37.18, + 37.18, + 37.19, + 37.2, + 37.17, + 37.18, + 37.215, + 37.22, + 37.21, + 37.21, + 37.21, + 37.22, + 37.21, + 37.2, + 37.19, + 37.2, + 37.18, + 37.18, + 37.19, + 37.2, + 37.195, + 37.18, + 37.19, + 37.21, + 37.205, + 37.2, + 37.2, + 37.21, + 37.22, + 37.21, + 37.22, + 37.21, + 37.21, + 37.21, + 37.21, + 37.21, + 37.23, + 37.24, + 37.245, + 37.2, + 37.2, + 37.22, + 37.22, + 37.19, + 37.2, + 37.23, + 37.23, + 37.23, + 37.22, + 37.24, + 37.23, + 37.23, + 37.23, + 37.24, + 37.23, + 37.23, + 37.24, + 37.22, + 37.23, + 37.22, + 37.23, + 37.22, + 37.23, + 37.22, + 37.22, + 37.23, + 37.22, + 37.22, + 37.2, + 37.21, + 37.22, + 37.22, + 37.22, + 37.2, + 37.2, + 37.2, + 37.2, + 37.21, + 37.21, + 37.22, + 37.23, + 37.24, + 37.235, + 37.23, + 37.2425, + 37.24, + 37.2415, + 37.23, + 37.24, + 37.24, + 37.24, + 37.24, + 37.23, + 37.24, + 37.24, + 37.245, + 37.2425, + 37.24, + 37.252, + 37.25, + 37.24, + 37.22, + 37.2, + 37.21, + 37.21, + 37.21, + 37.2, + 37.19, + 37.1828, + 37.18, + 37.18, + 37.185, + 37.18, + 37.18, + 37.17, + 37.2, + 37.195, + 37.195, + 37.18, + 37.19, + 37.18, + 37.19, + 37.19, + 37.2, + 37.2, + 37.19, + 37.19, + 37.19, + 37.2, + 37.2, + 37.21, + 37.2, + 37.2, + 37.21, + 37.172, + 37.16, + 37.17, + 37.155, + 37.16, + 37.15, + 37.15, + 37.17, + 37.16, + 37.16, + 37.17, + 37.18, + 37.17, + 37.16, + 37.16, + 37.17, + 37.19, + 37.2, + 37.2025, + 37.2, + 37.21, + 37.22, + 37.23, + 37.24, + 37.24, + 37.24, + 37.23, + 37.23, + 37.24, + 37.24, + 37.24, + 37.24, + 37.25, + 37.25, + 37.25, + 37.25, + 37.25, + 37.26, + 37.255, + 37.25, + 37.24, + 37.25, + 37.25, + 37.25, + 37.25, + 37.25, + 37.26, + 37.27, + 37.27, + 37.26, + 37.25, + 37.25, + 37.24, + 37.24, + 37.2324, + 37.23, + 37.24, + 37.235, + 37.23, + 37.235, + 37.2301, + 37.22, + 37.23, + 37.23, + 37.2301, + 37.23, + 37.23, + 37.24, + 37.23, + 37.22, + 37.22, + 37.22, + 37.22, + 37.2201, + 37.21, + 37.215, + 37.21, + 37.22, + 37.22, + 37.21, + 37.21, + 37.19, + 37.19, + 37.19, + 37.19, + 37.18, + 37.17, + 37.18, + 37.19, + 37.1842, + 37.18, + 37.19, + 37.2, + 37.19, + 37.19, + 37.18, + 37.17, + 37.19, + 37.19, + 37.1901, + 37.19, + 37.17, + 37.16, + 37.15, + 37.15, + 37.155, + 37.16, + 37.17, + 37.154, + 37.15, + 37.17, + 37.17, + 37.15, + 37.13, + 37.13, + 37.12, + 37.13, + 37.14, + 37.14, + 37.14, + 37.15, + 37.17, + 37.1623, + 37.16, + 37.16, + 37.17, + 37.18, + 37.19, + 37.19, + 37.19, + 37.19, + 37.16, + 37.18, + 37.17, + 37.16, + 37.16, + 37.16, + 37.16, + 37.18, + 37.19, + 37.19, + 37.19, + 37.21, + 37.21, + 37.21, + 37.19, + 37.2, + 37.2, + 37.2, + 37.2, + 37.21, + 37.2, + 37.22, + 37.23, + 37.23, + 37.225, + 37.23, + 37.24, + 37.23, + 37.23, + 37.23, + 37.24, + 37.66, + 37.6701, + 37.62, + 37.571, + 37.5336, + 37.42, + 37.41, + 37.36, + 37.3901, + 37.39, + 37.41, + 37.445, + 37.48, + 37.51, + 37.5, + 37.5, + 37.51, + 37.5, + 37.49, + 37.43, + 37.425, + 37.46, + 37.465, + 37.49, + 37.49, + 37.515, + 37.52, + 37.5201, + 37.5, + 37.485, + 37.48, + 37.47, + 37.49, + 37.5, + 37.53, + 37.55, + 37.54, + 37.55, + 37.56, + 37.57, + 37.5699, + 37.57, + 37.61, + 37.61, + 37.62, + 37.63, + 37.63, + 37.63, + 37.63, + 37.6, + 37.591, + 37.6225, + 37.6225, + 37.625, + 37.61, + 37.625, + 37.62, + 37.6, + 37.61, + 37.62, + 37.6225, + 37.59, + 37.58, + 37.58, + 37.59, + 37.58, + 37.565, + 37.573, + 37.595, + 37.6, + 37.6024, + 37.61, + 37.6, + 37.575, + 37.5725, + 37.5801, + 37.58, + 37.5781, + 37.59, + 37.59, + 37.59, + 37.565, + 37.56, + 37.55, + 37.55, + 37.5625, + 37.54, + 37.54, + 37.54, + 37.55, + 37.55, + 37.545, + 37.54, + 37.525, + 37.5301, + 37.51, + 37.51, + 37.535, + 37.53, + 37.53, + 37.53, + 37.53, + 37.53, + 37.52, + 37.53, + 37.53, + 37.535, + 37.53, + 37.515, + 37.52, + 37.53, + 37.53, + 37.51, + 37.5, + 37.49, + 37.47, + 37.49, + 37.47, + 37.465, + 37.47, + 37.4725, + 37.4725, + 37.475, + 37.47, + 37.47, + 37.49, + 37.495, + 37.49 + ], + "name": "OHLC", + "opacity": 0.75, + "open": [ + 37.84, + 37.875, + 37.805, + 37.7935, + 37.86, + 37.86, + 37.775, + 37.83, + 37.875, + 37.885, + 37.89, + 37.88, + 37.92, + 37.84, + 37.86, + 37.875, + 37.87, + 37.935, + 37.95, + 37.9657, + 37.9893, + 37.97, + 38.03, + 37.99, + 37.98, + 38.005, + 38.0102, + 37.99, + 38.0075, + 37.9802, + 37.99, + 38, + 38.025, + 38.04, + 38.03, + 38.0276, + 38.031, + 38.035, + 38.05, + 38.01, + 38, + 38.01, + 38, + 38.005, + 38.01, + 38.01, + 38.014, + 38.025, + 38.02, + 38.01, + 38.01, + 37.98, + 37.99, + 37.995, + 37.9991, + 37.97, + 37.975, + 37.975, + 37.975, + 37.955, + 37.965, + 37.955, + 37.96, + 37.97, + 37.985, + 37.98, + 37.97, + 37.96, + 37.97, + 37.935, + 37.9498, + 37.955, + 37.9525, + 37.95, + 37.955, + 37.96, + 37.95, + 37.94, + 37.9403, + 37.97, + 37.955, + 37.955, + 37.955, + 37.935, + 37.945, + 37.95, + 37.93, + 37.935, + 37.9499, + 37.95, + 37.93, + 37.945, + 37.9475, + 37.955, + 37.95, + 37.95, + 37.95, + 37.96, + 37.935, + 37.945, + 37.945, + 37.9475, + 37.92, + 37.915, + 37.915, + 37.915, + 37.92, + 37.915, + 37.925, + 37.9234, + 37.905, + 37.915, + 37.92, + 37.888, + 37.87, + 37.87, + 37.87, + 37.885, + 37.9, + 37.895, + 37.895, + 37.88, + 37.88, + 37.91, + 37.885, + 37.875, + 37.87, + 37.9, + 37.8981, + 37.8979, + 37.89, + 37.85, + 37.86, + 37.87, + 37.855, + 37.84, + 37.8445, + 37.85, + 37.845, + 37.845, + 37.845, + 37.855, + 37.85, + 37.845, + 37.835, + 37.825, + 37.825, + 37.815, + 37.81, + 37.83, + 37.8, + 37.8, + 37.795, + 37.7967, + 37.79, + 37.8, + 37.795, + 37.7999, + 37.795, + 37.7981, + 37.795, + 37.795, + 37.8, + 37.79, + 37.785, + 37.8, + 37.8, + 37.795, + 37.795, + 37.785, + 37.7953, + 37.7949, + 37.7962, + 37.79, + 37.79, + 37.7899, + 37.7748, + 37.775, + 37.775, + 37.78, + 37.765, + 37.755, + 37.755, + 37.775, + 37.7765, + 37.79, + 37.784, + 37.785, + 37.78, + 37.785, + 37.785, + 37.7671, + 37.755, + 37.76, + 37.7601, + 37.76, + 37.76, + 37.76, + 37.735, + 37.73, + 37.735, + 37.7399, + 37.735, + 37.72, + 37.72, + 37.715, + 37.7172, + 37.72, + 37.72, + 37.726, + 37.715, + 37.715, + 37.72, + 37.73, + 37.725, + 37.7449, + 37.73, + 37.729, + 37.7237, + 37.734, + 37.7401, + 37.735, + 37.74, + 37.74, + 37.735, + 37.71, + 37.7195, + 37.7177, + 37.715, + 37.724, + 37.725, + 37.74, + 37.75, + 37.74, + 37.7433, + 37.745, + 37.725, + 37.745, + 37.75, + 37.745, + 37.76, + 37.745, + 37.755, + 37.765, + 37.765, + 37.765, + 37.79, + 37.79, + 37.7868, + 37.775, + 37.775, + 37.775, + 37.7934, + 37.785, + 37.79, + 37.78, + 37.7861, + 37.76, + 37.76, + 37.76, + 37.76, + 37.76, + 37.775, + 37.7676, + 37.755, + 37.765, + 37.75, + 37.76, + 37.73, + 37.735, + 37.705, + 37.72, + 37.72, + 37.72, + 37.725, + 37.7288, + 37.7267, + 37.735, + 37.745, + 37.745, + 37.75, + 37.7276, + 37.72, + 37.73, + 37.755, + 37.74, + 37.745, + 37.75, + 37.74, + 37.735, + 37.74, + 37.745, + 37.745, + 37.72, + 37.725, + 37.72, + 37.725, + 37.71, + 37.71, + 37.7151, + 37.715, + 37.695, + 37.69, + 37.6629, + 37.645, + 37.655, + 37.6577, + 37.64, + 37.64, + 37.645, + 37.66, + 37.6601, + 37.68, + 37.67, + 37.685, + 37.685, + 37.6852, + 37.69, + 37.685, + 37.685, + 37.69, + 37.685, + 37.665, + 37.675, + 37.66, + 37.65, + 37.665, + 37.66, + 37.6442, + 37.64, + 37.62, + 37.57, + 37.565, + 37.54, + 37.505, + 37.5, + 37.5, + 37.455, + 37.49, + 37.5, + 37.51, + 37.51, + 37.5, + 37.485, + 37.47, + 37.5, + 37.5, + 37.5191, + 37.515, + 37.52, + 37.53, + 37.54, + 37.55, + 37.545, + 37.54, + 37.525, + 37.51, + 37.51, + 37.51, + 37.4843, + 37.505, + 37.51, + 37.52, + 37.5262, + 37.535, + 37.545, + 37.525, + 37.525, + 37.545, + 37.545, + 37.525, + 37.525, + 37.5375, + 37.505, + 37.505, + 37.525, + 37.485, + 37.5, + 37.515, + 37.5, + 37.47, + 37.495, + 37.485, + 37.495, + 37.495, + 37.515, + 37.525, + 37.525, + 37.514, + 37.516, + 37.55, + 37.345, + 37.44, + 37.5, + 37.425, + 37.38, + 37.4, + 37.3203, + 37.425, + 37.555, + 37.48, + 37.47, + 37.5058, + 37.51, + 37.51, + 37.505, + 37.545, + 37.535, + 37.56, + 37.515, + 37.505, + 37.485, + 37.47, + 37.505, + 37.46, + 37.45, + 37.415, + 37.4, + 37.425, + 37.415, + 37.42, + 37.43, + 37.41, + 37.4135, + 37.405, + 37.42, + 37.43, + 37.445, + 37.475, + 37.48, + 37.46, + 37.47, + 37.48, + 37.46, + 37.48, + 37.485, + 37.474, + 37.4822, + 37.485, + 37.53, + 37.5615, + 37.54, + 37.55, + 37.545, + 37.53, + 37.56, + 37.555, + 37.545, + 37.54, + 37.545, + 37.5338, + 37.485, + 37.475, + 37.455, + 37.4591, + 37.4699, + 37.485, + 37.48, + 37.5, + 37.5085, + 37.495, + 37.5101, + 37.535, + 37.555, + 37.555, + 37.585, + 37.585, + 37.6101, + 37.645, + 37.63, + 37.6337, + 37.63, + 37.635, + 37.6601, + 37.655, + 37.63, + 37.655, + 37.6499, + 37.63, + 37.63, + 37.66, + 37.645, + 37.6401, + 37.62, + 37.63, + 37.635, + 37.65, + 37.62, + 37.575, + 37.585, + 37.55, + 37.545, + 37.54, + 37.55, + 37.51, + 37.5177, + 37.52, + 37.495, + 37.555, + 37.56, + 37.5499, + 37.535, + 37.535, + 37.54, + 37.53, + 37.535, + 37.5483, + 37.56, + 37.55, + 37.515, + 37.535, + 37.52, + 37.51, + 37.4901, + 37.49, + 37.4873, + 37.5, + 37.51, + 37.495, + 37.5, + 37.5199, + 37.495, + 37.4967, + 37.495, + 37.4901, + 37.485, + 37.475, + 37.4899, + 37.47, + 37.4737, + 37.46, + 37.455, + 37.45, + 37.445, + 37.45, + 37.445, + 37.454, + 37.47, + 37.4984, + 37.495, + 37.4901, + 37.4601, + 37.46, + 37.445, + 37.445, + 37.45, + 37.4301, + 37.415, + 37.4285, + 37.4301, + 37.4346, + 37.435, + 37.44, + 37.45, + 37.4367, + 37.43, + 37.44, + 37.43, + 37.425, + 37.4271, + 37.415, + 37.4176, + 37.4288, + 37.44, + 37.445, + 37.435, + 37.425, + 37.455, + 37.44, + 37.43, + 37.43, + 37.41, + 37.38, + 37.365, + 37.335, + 37.315, + 37.285, + 37.315, + 37.315, + 37.325, + 37.3199, + 37.325, + 37.33, + 37.32, + 37.295, + 37.2901, + 37.305, + 37.2775, + 37.295, + 37.2989, + 37.2951, + 37.295, + 37.31, + 37.28, + 37.2729, + 37.275, + 37.275, + 37.3, + 37.295, + 37.285, + 37.285, + 37.27, + 37.255, + 37.2674, + 37.29, + 37.295, + 37.28, + 37.285, + 37.305, + 37.3192, + 37.295, + 37.28, + 37.29, + 37.275, + 37.265, + 37.255, + 37.27, + 37.265, + 37.265, + 37.274, + 37.2694, + 37.2799, + 37.295, + 37.295, + 37.295, + 37.296, + 37.285, + 37.295, + 37.29, + 37.285, + 37.294, + 37.285, + 37.285, + 37.29, + 37.29, + 37.295, + 37.295, + 37.29, + 37.285, + 37.295, + 37.29, + 37.295, + 37.34, + 37.305, + 37.31, + 37.34, + 37.3345, + 37.3285, + 37.33, + 37.325, + 37.325, + 37.325, + 37.3299, + 37.34, + 37.36, + 37.36, + 37.36, + 37.345, + 37.345, + 37.3665, + 37.365, + 37.365, + 37.36, + 37.345, + 37.355, + 37.355, + 37.355, + 37.345, + 37.33, + 37.33, + 37.325, + 37.31, + 37.32, + 37.305, + 37.295, + 37.305, + 37.295, + 37.295, + 37.275, + 37.28, + 37.285, + 37.285, + 37.29, + 37.29, + 37.285, + 37.275, + 37.275, + 37.265, + 37.2565, + 37.23, + 37.225, + 37.235, + 37.225, + 37.215, + 37.22, + 37.24, + 37.215, + 37.24, + 37.22, + 37.24, + 37.25, + 37.225, + 37.2099, + 37.21, + 37.2, + 37.195, + 37.18, + 37.175, + 37.185, + 37.16, + 37.145, + 37.14, + 37.1174, + 37.11, + 37.1265, + 37.14, + 37.145, + 37.145, + 37.14, + 37.1374, + 37.125, + 37.135, + 37.135, + 37.145, + 37.17, + 37.155, + 37.17, + 37.175, + 37.165, + 37.155, + 37.145, + 37.155, + 37.145, + 37.145, + 37.14, + 37.14, + 37.125, + 37.105, + 37.095, + 37.0989, + 37.095, + 37.085, + 37.129, + 37.11, + 37.1, + 37.08, + 37.09, + 37.1, + 37.085, + 37.1, + 37.105, + 37.085, + 37.085, + 37.065, + 37.08, + 37.099, + 37.0863, + 37.055, + 37.06, + 37.07, + 37.06, + 37.079, + 37.085, + 37.09, + 37.09, + 37.075, + 37.07, + 37.055, + 37.045, + 37.055, + 37.07, + 37.09, + 37.085, + 37.085, + 37.08, + 37.045, + 37.06, + 37.08, + 37.035, + 37.0101, + 37.02, + 37.01, + 37.21, + 37.24, + 37.34, + 37.375, + 37.315, + 37.18, + 37.145, + 37.19, + 37.215, + 37.2, + 37.18, + 37.15, + 37.09, + 37.09, + 37.12, + 37.1504, + 37.12, + 37, + 36.985, + 36.975, + 36.995, + 36.97, + 36.97, + 36.93, + 36.985, + 36.96, + 36.99, + 37.02, + 37.0195, + 37.04, + 37.045, + 37, + 37.035, + 37.04, + 37.0599, + 37.075, + 37.13, + 37.105, + 37.135, + 37.115, + 37.125, + 37.1001, + 37.1186, + 37.0906, + 37.12, + 37.11, + 37.1125, + 37.1208, + 37.1, + 37.08, + 37.075, + 37.07, + 37.06, + 37.0507, + 37.06, + 37.055, + 37.05, + 37.05, + 37.068, + 37.055, + 37.0404, + 37.05, + 37.045, + 37.05, + 37.035, + 37.05, + 37.05, + 37.05, + 37.08, + 37.075, + 37.04, + 37.0489, + 37.04, + 37.01, + 37.04, + 37.04, + 37.0399, + 37.04, + 37.0532, + 37.065, + 37.085, + 37.065, + 37.04, + 37.0406, + 37.055, + 37.07, + 37.075, + 37.08, + 37.0774, + 37.075, + 37.08, + 37.085, + 37.085, + 37.075, + 37.085, + 37.09, + 37.091, + 37.095, + 37.09, + 37.07, + 37.07, + 37.065, + 37.06, + 37.04, + 37.03, + 37.025, + 37.0183, + 37.03, + 37.02, + 37.025, + 37.023, + 37.035, + 37.06, + 37.06, + 37.06, + 37.05, + 37.06, + 37.06, + 37.0643, + 37.075, + 37.07, + 37.085, + 37.085, + 37.07, + 37.065, + 37.0591, + 37.055, + 37.04, + 37.025, + 37.025, + 37.0365, + 37.05, + 37.0452, + 37.025, + 37.015, + 37.025, + 37.0047, + 37.02, + 37.015, + 37.005, + 37.006, + 36.9923, + 36.98, + 36.9763, + 36.9893, + 36.995, + 37, + 37.028, + 37.04, + 37.05, + 37.055, + 37.055, + 37.06, + 37.065, + 37.055, + 37.04, + 37.02, + 37, + 37, + 36.995, + 37.0103, + 37.0299, + 37.03, + 37.04, + 37.04, + 37.03, + 37.0199, + 37, + 37, + 36.99, + 36.97, + 36.9528, + 36.94, + 36.925, + 36.9477, + 36.9304, + 36.93, + 36.95, + 36.94, + 36.945, + 36.94, + 36.935, + 36.9374, + 36.945, + 36.955, + 36.9474, + 36.935, + 36.95, + 36.945, + 36.94, + 36.935, + 36.93, + 36.94, + 36.915, + 36.915, + 36.94, + 36.93, + 36.945, + 36.925, + 36.93, + 36.925, + 36.9101, + 36.92, + 36.93, + 36.93, + 36.925, + 36.93, + 36.92, + 36.9178, + 36.92, + 36.915, + 36.9212, + 36.92, + 36.8701, + 36.865, + 36.8568, + 36.83, + 36.86, + 36.8224, + 36.831, + 36.84, + 36.85, + 36.85, + 36.845, + 36.82, + 36.82, + 36.8275, + 36.8082, + 36.8219, + 36.825, + 36.805, + 36.815, + 36.8108, + 36.855, + 36.855, + 36.86, + 36.86, + 36.855, + 36.88, + 36.8817, + 36.8778, + 36.885, + 36.885, + 36.915, + 36.91, + 36.944, + 36.9762, + 36.985, + 37, + 36.9948, + 36.976, + 36.9729, + 36.97, + 36.975, + 36.955, + 36.95, + 36.945, + 36.945, + 36.94, + 36.942, + 36.94, + 36.945, + 36.925, + 36.91, + 36.89, + 36.91, + 36.905, + 36.915, + 36.925, + 36.9239, + 36.94, + 36.94, + 36.91, + 36.99, + 36.965, + 36.975, + 36.93, + 36.94, + 36.925, + 36.98, + 36.955, + 36.93, + 36.91, + 36.92, + 36.915, + 36.91, + 36.9207, + 36.945, + 36.935, + 36.95, + 36.9373, + 36.93, + 36.935, + 36.935, + 36.95, + 36.945, + 36.945, + 37.005, + 37.01, + 37.03, + 37.035, + 37.045, + 36.925, + 36.965, + 37.075, + 37.125, + 37, + 37.04, + 37.05, + 37.095, + 37.175, + 37.26, + 37.29, + 37.25, + 37.29, + 37.415, + 37.33, + 37.335, + 37.38, + 37.37, + 37.415, + 37.43, + 37.465, + 37.43, + 37.43, + 37.465, + 37.445, + 37.46, + 37.44, + 37.42, + 37.48, + 37.44, + 37.48, + 37.41, + 37.4, + 37.38, + 37.39, + 37.395, + 37.38, + 37.425, + 37.395, + 37.39, + 37.3699, + 37.38, + 37.3901, + 37.4, + 37.375, + 37.3808, + 37.38, + 37.345, + 37.37, + 37.34, + 37.32, + 37.285, + 37.35, + 37.38, + 37.355, + 37.39, + 37.38, + 37.36, + 37.365, + 37.275, + 37.28, + 37.2495, + 37.27, + 37.22, + 37.23, + 37.195, + 37.21, + 37.16, + 37.155, + 37.2, + 37.16, + 37.145, + 37.12, + 37.165, + 37.18, + 37.19, + 37.13, + 37.14, + 37.16, + 37.115, + 37.05, + 37.03, + 37.02, + 37.02, + 37, + 37.01, + 36.9543, + 36.96, + 36.94, + 37.37, + 37.45, + 37.48, + 37.42, + 37.405, + 37.36, + 37.31, + 37.25, + 37.175, + 37.26, + 37.2442, + 37.23, + 37.2642, + 37.215, + 37.145, + 37.11, + 37.13, + 37.07, + 37.11, + 37.1, + 37.125, + 37.125, + 37.15, + 37.12, + 37.135, + 37.12, + 37.1, + 37.115, + 37.16, + 37.115, + 37.148, + 37.11, + 37.03, + 37.02, + 37.06, + 37.03, + 37.055, + 37.021, + 37.05, + 37.01, + 36.935, + 36.97, + 36.995, + 37.02, + 36.975, + 36.97, + 36.974, + 36.965, + 36.94, + 36.95, + 36.95, + 36.895, + 36.9086, + 36.91, + 36.96, + 36.96, + 36.945, + 36.985, + 36.98, + 37.0014, + 36.995, + 36.985, + 36.9831, + 36.96, + 36.9756, + 36.975, + 36.955, + 36.9535, + 36.98, + 36.9707, + 36.965, + 36.93, + 36.903, + 36.835, + 36.8501, + 36.825, + 36.8294, + 36.825, + 36.845, + 36.855, + 36.87, + 36.85, + 36.8696, + 36.875, + 36.85, + 36.83, + 36.835, + 36.875, + 36.8681, + 36.875, + 36.85, + 36.865, + 36.86, + 36.914, + 36.9067, + 36.8999, + 36.895, + 36.9, + 36.91, + 36.905, + 36.915, + 36.91, + 36.911, + 36.9, + 36.89, + 36.875, + 36.885, + 36.875, + 36.88, + 36.89, + 36.895, + 36.88, + 36.895, + 36.9, + 36.875, + 36.875, + 36.87, + 36.84, + 36.8299, + 36.825, + 36.82, + 36.82, + 36.785, + 36.76, + 36.79, + 36.745, + 36.7311, + 36.744, + 36.7299, + 36.74, + 36.72, + 36.745, + 36.755, + 36.745, + 36.7549, + 36.755, + 36.77, + 36.77, + 36.785, + 36.785, + 36.785, + 36.7916, + 36.815, + 36.805, + 36.805, + 36.81, + 36.795, + 36.795, + 36.79, + 36.785, + 36.77, + 36.745, + 36.755, + 36.75, + 36.75, + 36.75, + 36.74, + 36.75, + 36.755, + 36.7179, + 36.72, + 36.71, + 36.7213, + 36.7021, + 36.72, + 36.705, + 36.725, + 36.7, + 36.7, + 36.7001, + 36.715, + 36.741, + 36.725, + 36.75, + 36.75, + 36.73, + 36.71, + 36.715, + 36.72, + 36.708, + 36.705, + 36.7, + 36.68, + 36.68, + 36.6832, + 36.675, + 36.675, + 36.655, + 36.68, + 36.7, + 36.715, + 36.715, + 36.735, + 36.73, + 36.74, + 36.7527, + 36.75, + 36.74, + 36.75, + 36.745, + 36.75, + 36.755, + 36.76, + 36.765, + 36.7677, + 36.75, + 36.7501, + 36.755, + 36.74, + 36.7575, + 36.755, + 36.76, + 36.78, + 36.78, + 36.77, + 36.77, + 36.775, + 36.79, + 36.8, + 36.8, + 36.81, + 36.81, + 36.83, + 36.83, + 36.88, + 36.875, + 36.9, + 36.875, + 36.8622, + 36.87, + 36.86, + 36.86, + 36.855, + 36.86, + 36.86, + 36.89, + 36.88, + 36.855, + 36.88, + 36.91, + 36.915, + 36.895, + 36.895, + 36.88, + 36.87, + 36.89, + 36.87, + 36.895, + 36.885, + 36.87, + 36.87, + 36.88, + 36.855, + 36.875, + 36.875, + 36.875, + 36.86, + 36.865, + 36.865, + 36.87, + 36.865, + 36.88, + 36.875, + 36.885, + 36.875, + 36.855, + 36.875, + 36.875, + 36.875, + 36.87, + 36.88, + 36.86, + 36.845, + 36.855, + 36.865, + 36.86, + 36.865, + 36.866, + 36.88, + 36.875, + 36.865, + 36.84, + 36.84, + 36.84, + 36.8442, + 36.84, + 36.84, + 36.835, + 36.805, + 36.81, + 36.82, + 36.815, + 36.82, + 36.815, + 36.83, + 36.835, + 36.835, + 36.85, + 36.865, + 36.86, + 36.875, + 36.875, + 36.875, + 36.875, + 36.909, + 36.885, + 36.8942, + 36.92, + 36.92, + 36.95, + 36.96, + 36.9272, + 36.935, + 36.915, + 36.905, + 36.9, + 36.88, + 36.905, + 36.925, + 36.96, + 36.955, + 36.925, + 36.925, + 36.935, + 36.96, + 36.94, + 36.96, + 36.955, + 36.96, + 36.94, + 36.9118, + 36.89, + 36.89, + 36.84, + 36.8201, + 36.86, + 36.89, + 36.895, + 36.92, + 36.94, + 36.955, + 36.955, + 36.935, + 36.89, + 36.91, + 36.885, + 36.895, + 36.91, + 36.87, + 36.865, + 36.88, + 36.91, + 36.925, + 36.905, + 36.92, + 36.91, + 36.895, + 36.9, + 36.895, + 36.905, + 36.87, + 36.865, + 36.87, + 36.8541, + 36.86, + 36.83, + 36.8, + 36.79, + 36.825, + 36.815, + 36.81, + 36.8171, + 36.7996, + 36.83, + 36.825, + 36.8, + 36.805, + 36.84, + 36.84, + 36.85, + 36.83, + 36.805, + 36.82, + 36.825, + 36.8341, + 36.85, + 36.86, + 36.85, + 36.85, + 36.825, + 36.88, + 37.25, + 37.435, + 37.495, + 37.435, + 37.3794, + 37.3, + 37.275, + 37.31, + 37.235, + 37.255, + 37.32, + 37.295, + 37.35, + 37.33, + 37.27, + 37.29, + 37.285, + 37.375, + 37.39, + 37.4, + 37.4, + 37.365, + 37.38, + 37.42, + 37.425, + 37.42, + 37.455, + 37.445, + 37.445, + 37.415, + 37.42, + 37.33, + 37.3, + 37.325, + 37.32, + 37.28, + 37.285, + 37.305, + 37.245, + 37.24, + 37.27, + 37.265, + 37.26, + 37.235, + 37.225, + 37.225, + 37.255, + 37.23, + 37.235, + 37.2208, + 37.2, + 37.165, + 37.17, + 37.135, + 37.095, + 37.15, + 37.12, + 37.14, + 37.135, + 37.1706, + 37.17, + 37.225, + 37.2175, + 37.205, + 37.1799, + 37.16, + 37.17, + 37.18, + 37.2, + 37.17, + 37.1625, + 37.19, + 37.195, + 37.195, + 37.2, + 37.22, + 37.225, + 37.22, + 37.215, + 37.229, + 37.215, + 37.18, + 37.19, + 37.15, + 37.165, + 37.1686, + 37.1999, + 37.17, + 37.201, + 37.215, + 37.195, + 37.22, + 37.205, + 37.178, + 37.195, + 37.195, + 37.195, + 37.195, + 37.23, + 37.205, + 37.2001, + 37.2276, + 37.235, + 37.22, + 37.2125, + 37.22, + 37.2201, + 37.225, + 37.215, + 37.21, + 37.205, + 37.205, + 37.185, + 37.2, + 37.21, + 37.205, + 37.2, + 37.195, + 37.215, + 37.225, + 37.21, + 37.2173, + 37.215, + 37.22, + 37.22, + 37.23, + 37.225, + 37.22, + 37.225, + 37.215, + 37.215, + 37.24, + 37.2501, + 37.255, + 37.2401, + 37.21, + 37.225, + 37.23, + 37.225, + 37.205, + 37.24, + 37.2456, + 37.235, + 37.235, + 37.25, + 37.2425, + 37.24, + 37.23, + 37.25, + 37.25, + 37.24, + 37.2401, + 37.245, + 37.2332, + 37.2397, + 37.2399, + 37.24, + 37.235, + 37.23, + 37.22, + 37.2398, + 37.245, + 37.23, + 37.22, + 37.21, + 37.225, + 37.225, + 37.23, + 37.225, + 37.21, + 37.2085, + 37.2165, + 37.2143, + 37.22, + 37.2282, + 37.2399, + 37.25, + 37.245, + 37.2338, + 37.25, + 37.24, + 37.25, + 37.245, + 37.245, + 37.25, + 37.25, + 37.25, + 37.25, + 37.25, + 37.25, + 37.27, + 37.245, + 37.245, + 37.26, + 37.265, + 37.255, + 37.2499, + 37.235, + 37.215, + 37.2203, + 37.2125, + 37.22, + 37.205, + 37.205, + 37.19, + 37.19, + 37.19, + 37.185, + 37.185, + 37.18, + 37.21, + 37.205, + 37.2, + 37.2, + 37.195, + 37.205, + 37.2, + 37.195, + 37.21, + 37.21, + 37.21, + 37.2, + 37.195, + 37.215, + 37.205, + 37.215, + 37.215, + 37.2099, + 37.215, + 37.215, + 37.174, + 37.175, + 37.175, + 37.17, + 37.165, + 37.16, + 37.175, + 37.18, + 37.165, + 37.1795, + 37.18, + 37.195, + 37.175, + 37.165, + 37.175, + 37.195, + 37.21, + 37.205, + 37.2025, + 37.215, + 37.23, + 37.2369, + 37.2493, + 37.27, + 37.25, + 37.24, + 37.24, + 37.25, + 37.245, + 37.25, + 37.25, + 37.26, + 37.265, + 37.255, + 37.255, + 37.255, + 37.27, + 37.27, + 37.255, + 37.26, + 37.255, + 37.255, + 37.25, + 37.26, + 37.26, + 37.27, + 37.275, + 37.27, + 37.27, + 37.265, + 37.27, + 37.26, + 37.24, + 37.25, + 37.2399, + 37.245, + 37.25, + 37.24, + 37.245, + 37.2361, + 37.235, + 37.2359, + 37.24, + 37.25, + 37.2378, + 37.2328, + 37.25, + 37.24, + 37.2328, + 37.235, + 37.235, + 37.235, + 37.23, + 37.2299, + 37.225, + 37.215, + 37.23, + 37.22, + 37.22, + 37.225, + 37.215, + 37.2, + 37.21, + 37.19, + 37.195, + 37.18, + 37.18, + 37.19, + 37.2, + 37.185, + 37.2, + 37.205, + 37.205, + 37.195, + 37.2, + 37.19, + 37.2, + 37.195, + 37.205, + 37.195, + 37.19, + 37.175, + 37.165, + 37.1566, + 37.175, + 37.1659, + 37.18, + 37.17, + 37.155, + 37.17, + 37.175, + 37.17, + 37.15, + 37.13, + 37.13, + 37.135, + 37.15, + 37.155, + 37.15, + 37.16, + 37.18, + 37.175, + 37.17, + 37.165, + 37.175, + 37.185, + 37.2, + 37.2, + 37.2, + 37.195, + 37.19, + 37.1888, + 37.18, + 37.17, + 37.16, + 37.165, + 37.165, + 37.195, + 37.195, + 37.205, + 37.2, + 37.215, + 37.23, + 37.215, + 37.215, + 37.205, + 37.205, + 37.215, + 37.205, + 37.23, + 37.21, + 37.23, + 37.23, + 37.245, + 37.25, + 37.245, + 37.245, + 37.245, + 37.235, + 37.24, + 37.25, + 37.66, + 37.73, + 37.67, + 37.62, + 37.58, + 37.59, + 37.42, + 37.41, + 37.4096, + 37.425, + 37.435, + 37.445, + 37.48, + 37.54, + 37.56, + 37.525, + 37.53, + 37.515, + 37.525, + 37.4971, + 37.44, + 37.465, + 37.47, + 37.495, + 37.4959, + 37.515, + 37.535, + 37.5325, + 37.545, + 37.5, + 37.495, + 37.485, + 37.5, + 37.505, + 37.53, + 37.57, + 37.57, + 37.57, + 37.58, + 37.5975, + 37.58, + 37.58, + 37.62, + 37.615, + 37.625, + 37.635, + 37.635, + 37.68, + 37.635, + 37.6586, + 37.61, + 37.6225, + 37.64, + 37.63, + 37.636, + 37.63, + 37.64, + 37.635, + 37.615, + 37.635, + 37.6253, + 37.64, + 37.59, + 37.595, + 37.5944, + 37.6, + 37.585, + 37.58, + 37.6, + 37.6117, + 37.6091, + 37.6132, + 37.6102, + 37.6, + 37.575, + 37.5994, + 37.59, + 37.59, + 37.5937, + 37.595, + 37.595, + 37.59, + 37.5795, + 37.565, + 37.555, + 37.5626, + 37.575, + 37.54, + 37.555, + 37.55, + 37.56, + 37.555, + 37.5589, + 37.545, + 37.5378, + 37.54, + 37.51, + 37.54, + 37.55, + 37.53, + 37.55, + 37.535, + 37.535, + 37.54, + 37.535, + 37.53, + 37.558, + 37.54, + 37.5382, + 37.52, + 37.535, + 37.5456, + 37.5409, + 37.5199, + 37.5, + 37.495, + 37.4945, + 37.495, + 37.47, + 37.485, + 37.495, + 37.4766, + 37.4825, + 37.48, + 37.47, + 37.49, + 37.51, + 37.5 + ], + "type": "candlestick", + "uid": "101cd526-a049-44b8-ae03-e29ce5a5ece2", + "x": [ + "2024-04-29T09:30:00-04:00", + "2024-04-29T09:31:00-04:00", + "2024-04-29T09:32:00-04:00", + "2024-04-29T09:33:00-04:00", + "2024-04-29T09:34:00-04:00", + "2024-04-29T09:35:00-04:00", + "2024-04-29T09:36:00-04:00", + "2024-04-29T09:37:00-04:00", + "2024-04-29T09:38:00-04:00", + "2024-04-29T09:39:00-04:00", + "2024-04-29T09:40:00-04:00", + "2024-04-29T09:41:00-04:00", + "2024-04-29T09:42:00-04:00", + "2024-04-29T09:43:00-04:00", + "2024-04-29T09:44:00-04:00", + "2024-04-29T09:45:00-04:00", + "2024-04-29T09:46:00-04:00", + "2024-04-29T09:47:00-04:00", + "2024-04-29T09:48:00-04:00", + "2024-04-29T09:49:00-04:00", + "2024-04-29T09:50:00-04:00", + "2024-04-29T09:51:00-04:00", + "2024-04-29T09:52:00-04:00", + "2024-04-29T09:53:00-04:00", + "2024-04-29T09:54:00-04:00", + "2024-04-29T09:55:00-04:00", + "2024-04-29T09:56:00-04:00", + "2024-04-29T09:57:00-04:00", + "2024-04-29T09:58:00-04:00", + "2024-04-29T09:59:00-04:00", + "2024-04-29T10:00:00-04:00", + "2024-04-29T10:01:00-04:00", + "2024-04-29T10:02:00-04:00", + "2024-04-29T10:03:00-04:00", + "2024-04-29T10:04:00-04:00", + "2024-04-29T10:05:00-04:00", + "2024-04-29T10:06:00-04:00", + "2024-04-29T10:07:00-04:00", + "2024-04-29T10:08:00-04:00", + "2024-04-29T10:09:00-04:00", + "2024-04-29T10:10:00-04:00", + "2024-04-29T10:11:00-04:00", + "2024-04-29T10:12:00-04:00", + "2024-04-29T10:13:00-04:00", + "2024-04-29T10:14:00-04:00", + "2024-04-29T10:15:00-04:00", + "2024-04-29T10:16:00-04:00", + "2024-04-29T10:17:00-04:00", + "2024-04-29T10:18:00-04:00", + "2024-04-29T10:19:00-04:00", + "2024-04-29T10:20:00-04:00", + "2024-04-29T10:21:00-04:00", + "2024-04-29T10:22:00-04:00", + "2024-04-29T10:23:00-04:00", + "2024-04-29T10:24:00-04:00", + "2024-04-29T10:25:00-04:00", + "2024-04-29T10:26:00-04:00", + "2024-04-29T10:27:00-04:00", + "2024-04-29T10:28:00-04:00", + "2024-04-29T10:29:00-04:00", + "2024-04-29T10:30:00-04:00", + "2024-04-29T10:31:00-04:00", + "2024-04-29T10:32:00-04:00", + "2024-04-29T10:33:00-04:00", + "2024-04-29T10:34:00-04:00", + "2024-04-29T10:35:00-04:00", + "2024-04-29T10:36:00-04:00", + "2024-04-29T10:37:00-04:00", + "2024-04-29T10:38:00-04:00", + "2024-04-29T10:39:00-04:00", + "2024-04-29T10:40:00-04:00", + "2024-04-29T10:41:00-04:00", + "2024-04-29T10:42:00-04:00", + "2024-04-29T10:43:00-04:00", + "2024-04-29T10:44:00-04:00", + "2024-04-29T10:45:00-04:00", + "2024-04-29T10:46:00-04:00", + "2024-04-29T10:47:00-04:00", + "2024-04-29T10:48:00-04:00", + "2024-04-29T10:49:00-04:00", + "2024-04-29T10:50:00-04:00", + "2024-04-29T10:51:00-04:00", + "2024-04-29T10:52:00-04:00", + "2024-04-29T10:53:00-04:00", + "2024-04-29T10:54:00-04:00", + "2024-04-29T10:55:00-04:00", + "2024-04-29T10:56:00-04:00", + "2024-04-29T10:57:00-04:00", + "2024-04-29T10:58:00-04:00", + "2024-04-29T10:59:00-04:00", + "2024-04-29T11:00:00-04:00", + "2024-04-29T11:01:00-04:00", + "2024-04-29T11:02:00-04:00", + "2024-04-29T11:03:00-04:00", + "2024-04-29T11:04:00-04:00", + "2024-04-29T11:05:00-04:00", + "2024-04-29T11:06:00-04:00", + "2024-04-29T11:07:00-04:00", + "2024-04-29T11:08:00-04:00", + "2024-04-29T11:09:00-04:00", + "2024-04-29T11:10:00-04:00", + "2024-04-29T11:11:00-04:00", + "2024-04-29T11:12:00-04:00", + "2024-04-29T11:13:00-04:00", + "2024-04-29T11:14:00-04:00", + "2024-04-29T11:15:00-04:00", + "2024-04-29T11:16:00-04:00", + "2024-04-29T11:17:00-04:00", + "2024-04-29T11:18:00-04:00", + "2024-04-29T11:19:00-04:00", + "2024-04-29T11:20:00-04:00", + "2024-04-29T11:21:00-04:00", + "2024-04-29T11:22:00-04:00", + "2024-04-29T11:23:00-04:00", + "2024-04-29T11:24:00-04:00", + "2024-04-29T11:25:00-04:00", + "2024-04-29T11:26:00-04:00", + "2024-04-29T11:27:00-04:00", + "2024-04-29T11:28:00-04:00", + "2024-04-29T11:29:00-04:00", + "2024-04-29T11:30:00-04:00", + "2024-04-29T11:31:00-04:00", + "2024-04-29T11:32:00-04:00", + "2024-04-29T11:33:00-04:00", + "2024-04-29T11:34:00-04:00", + "2024-04-29T11:35:00-04:00", + "2024-04-29T11:36:00-04:00", + "2024-04-29T11:37:00-04:00", + "2024-04-29T11:38:00-04:00", + "2024-04-29T11:39:00-04:00", + "2024-04-29T11:40:00-04:00", + "2024-04-29T11:41:00-04:00", + "2024-04-29T11:42:00-04:00", + "2024-04-29T11:43:00-04:00", + "2024-04-29T11:44:00-04:00", + "2024-04-29T11:45:00-04:00", + "2024-04-29T11:46:00-04:00", + "2024-04-29T11:47:00-04:00", + "2024-04-29T11:48:00-04:00", + "2024-04-29T11:49:00-04:00", + "2024-04-29T11:50:00-04:00", + "2024-04-29T11:51:00-04:00", + "2024-04-29T11:52:00-04:00", + "2024-04-29T11:53:00-04:00", + "2024-04-29T11:54:00-04:00", + "2024-04-29T11:55:00-04:00", + "2024-04-29T11:56:00-04:00", + "2024-04-29T11:57:00-04:00", + "2024-04-29T11:58:00-04:00", + "2024-04-29T11:59:00-04:00", + "2024-04-29T12:00:00-04:00", + "2024-04-29T12:01:00-04:00", + "2024-04-29T12:02:00-04:00", + "2024-04-29T12:03:00-04:00", + "2024-04-29T12:04:00-04:00", + "2024-04-29T12:05:00-04:00", + "2024-04-29T12:06:00-04:00", + "2024-04-29T12:07:00-04:00", + "2024-04-29T12:08:00-04:00", + "2024-04-29T12:09:00-04:00", + "2024-04-29T12:10:00-04:00", + "2024-04-29T12:11:00-04:00", + "2024-04-29T12:12:00-04:00", + "2024-04-29T12:13:00-04:00", + "2024-04-29T12:14:00-04:00", + "2024-04-29T12:15:00-04:00", + "2024-04-29T12:16:00-04:00", + "2024-04-29T12:17:00-04:00", + "2024-04-29T12:18:00-04:00", + "2024-04-29T12:19:00-04:00", + "2024-04-29T12:20:00-04:00", + "2024-04-29T12:21:00-04:00", + "2024-04-29T12:22:00-04:00", + "2024-04-29T12:23:00-04:00", + "2024-04-29T12:24:00-04:00", + "2024-04-29T12:25:00-04:00", + "2024-04-29T12:26:00-04:00", + "2024-04-29T12:27:00-04:00", + "2024-04-29T12:28:00-04:00", + "2024-04-29T12:29:00-04:00", + "2024-04-29T12:30:00-04:00", + "2024-04-29T12:31:00-04:00", + "2024-04-29T12:32:00-04:00", + "2024-04-29T12:33:00-04:00", + "2024-04-29T12:34:00-04:00", + "2024-04-29T12:35:00-04:00", + "2024-04-29T12:36:00-04:00", + "2024-04-29T12:37:00-04:00", + "2024-04-29T12:38:00-04:00", + "2024-04-29T12:39:00-04:00", + "2024-04-29T12:40:00-04:00", + "2024-04-29T12:41:00-04:00", + "2024-04-29T12:42:00-04:00", + "2024-04-29T12:43:00-04:00", + "2024-04-29T12:44:00-04:00", + "2024-04-29T12:45:00-04:00", + "2024-04-29T12:46:00-04:00", + "2024-04-29T12:47:00-04:00", + "2024-04-29T12:48:00-04:00", + "2024-04-29T12:49:00-04:00", + "2024-04-29T12:50:00-04:00", + "2024-04-29T12:51:00-04:00", + "2024-04-29T12:52:00-04:00", + "2024-04-29T12:53:00-04:00", + "2024-04-29T12:54:00-04:00", + "2024-04-29T12:55:00-04:00", + "2024-04-29T12:56:00-04:00", + "2024-04-29T12:57:00-04:00", + "2024-04-29T12:58:00-04:00", + "2024-04-29T12:59:00-04:00", + "2024-04-29T13:00:00-04:00", + "2024-04-29T13:01:00-04:00", + "2024-04-29T13:02:00-04:00", + "2024-04-29T13:03:00-04:00", + "2024-04-29T13:04:00-04:00", + "2024-04-29T13:05:00-04:00", + "2024-04-29T13:06:00-04:00", + "2024-04-29T13:07:00-04:00", + "2024-04-29T13:08:00-04:00", + "2024-04-29T13:09:00-04:00", + "2024-04-29T13:10:00-04:00", + "2024-04-29T13:11:00-04:00", + "2024-04-29T13:12:00-04:00", + "2024-04-29T13:13:00-04:00", + "2024-04-29T13:14:00-04:00", + "2024-04-29T13:15:00-04:00", + "2024-04-29T13:16:00-04:00", + "2024-04-29T13:17:00-04:00", + "2024-04-29T13:18:00-04:00", + "2024-04-29T13:19:00-04:00", + "2024-04-29T13:20:00-04:00", + "2024-04-29T13:21:00-04:00", + "2024-04-29T13:22:00-04:00", + "2024-04-29T13:23:00-04:00", + "2024-04-29T13:24:00-04:00", + "2024-04-29T13:25:00-04:00", + "2024-04-29T13:26:00-04:00", + "2024-04-29T13:27:00-04:00", + "2024-04-29T13:28:00-04:00", + "2024-04-29T13:29:00-04:00", + "2024-04-29T13:30:00-04:00", + "2024-04-29T13:31:00-04:00", + "2024-04-29T13:32:00-04:00", + "2024-04-29T13:33:00-04:00", + "2024-04-29T13:34:00-04:00", + "2024-04-29T13:35:00-04:00", + "2024-04-29T13:36:00-04:00", + "2024-04-29T13:37:00-04:00", + "2024-04-29T13:38:00-04:00", + "2024-04-29T13:39:00-04:00", + "2024-04-29T13:40:00-04:00", + "2024-04-29T13:41:00-04:00", + "2024-04-29T13:42:00-04:00", + "2024-04-29T13:43:00-04:00", + "2024-04-29T13:44:00-04:00", + "2024-04-29T13:45:00-04:00", + "2024-04-29T13:46:00-04:00", + "2024-04-29T13:47:00-04:00", + "2024-04-29T13:48:00-04:00", + "2024-04-29T13:49:00-04:00", + "2024-04-29T13:50:00-04:00", + "2024-04-29T13:51:00-04:00", + "2024-04-29T13:52:00-04:00", + "2024-04-29T13:53:00-04:00", + "2024-04-29T13:54:00-04:00", + "2024-04-29T13:55:00-04:00", + "2024-04-29T13:56:00-04:00", + "2024-04-29T13:57:00-04:00", + "2024-04-29T13:58:00-04:00", + "2024-04-29T13:59:00-04:00", + "2024-04-29T14:00:00-04:00", + "2024-04-29T14:01:00-04:00", + "2024-04-29T14:02:00-04:00", + "2024-04-29T14:03:00-04:00", + "2024-04-29T14:04:00-04:00", + "2024-04-29T14:05:00-04:00", + "2024-04-29T14:06:00-04:00", + "2024-04-29T14:07:00-04:00", + "2024-04-29T14:08:00-04:00", + "2024-04-29T14:09:00-04:00", + "2024-04-29T14:10:00-04:00", + "2024-04-29T14:11:00-04:00", + "2024-04-29T14:12:00-04:00", + "2024-04-29T14:13:00-04:00", + "2024-04-29T14:14:00-04:00", + "2024-04-29T14:15:00-04:00", + "2024-04-29T14:16:00-04:00", + "2024-04-29T14:17:00-04:00", + "2024-04-29T14:18:00-04:00", + "2024-04-29T14:19:00-04:00", + "2024-04-29T14:20:00-04:00", + "2024-04-29T14:21:00-04:00", + "2024-04-29T14:22:00-04:00", + "2024-04-29T14:23:00-04:00", + "2024-04-29T14:24:00-04:00", + "2024-04-29T14:25:00-04:00", + "2024-04-29T14:26:00-04:00", + "2024-04-29T14:27:00-04:00", + "2024-04-29T14:28:00-04:00", + "2024-04-29T14:29:00-04:00", + "2024-04-29T14:30:00-04:00", + "2024-04-29T14:31:00-04:00", + "2024-04-29T14:32:00-04:00", + "2024-04-29T14:33:00-04:00", + "2024-04-29T14:34:00-04:00", + "2024-04-29T14:35:00-04:00", + "2024-04-29T14:36:00-04:00", + "2024-04-29T14:37:00-04:00", + "2024-04-29T14:38:00-04:00", + "2024-04-29T14:39:00-04:00", + "2024-04-29T14:40:00-04:00", + "2024-04-29T14:41:00-04:00", + "2024-04-29T14:42:00-04:00", + "2024-04-29T14:43:00-04:00", + "2024-04-29T14:44:00-04:00", + "2024-04-29T14:45:00-04:00", + "2024-04-29T14:46:00-04:00", + "2024-04-29T14:47:00-04:00", + "2024-04-29T14:48:00-04:00", + "2024-04-29T14:49:00-04:00", + "2024-04-29T14:50:00-04:00", + "2024-04-29T14:51:00-04:00", + "2024-04-29T14:52:00-04:00", + "2024-04-29T14:53:00-04:00", + "2024-04-29T14:54:00-04:00", + "2024-04-29T14:55:00-04:00", + "2024-04-29T14:56:00-04:00", + "2024-04-29T14:57:00-04:00", + "2024-04-29T14:58:00-04:00", + "2024-04-29T14:59:00-04:00", + "2024-04-29T15:00:00-04:00", + "2024-04-29T15:01:00-04:00", + "2024-04-29T15:02:00-04:00", + "2024-04-29T15:03:00-04:00", + "2024-04-29T15:04:00-04:00", + "2024-04-29T15:05:00-04:00", + "2024-04-29T15:06:00-04:00", + "2024-04-29T15:07:00-04:00", + "2024-04-29T15:08:00-04:00", + "2024-04-29T15:09:00-04:00", + "2024-04-29T15:10:00-04:00", + "2024-04-29T15:11:00-04:00", + "2024-04-29T15:12:00-04:00", + "2024-04-29T15:13:00-04:00", + "2024-04-29T15:14:00-04:00", + "2024-04-29T15:15:00-04:00", + "2024-04-29T15:16:00-04:00", + "2024-04-29T15:17:00-04:00", + "2024-04-29T15:18:00-04:00", + "2024-04-29T15:19:00-04:00", + "2024-04-29T15:20:00-04:00", + "2024-04-29T15:21:00-04:00", + "2024-04-29T15:22:00-04:00", + "2024-04-29T15:23:00-04:00", + "2024-04-29T15:24:00-04:00", + "2024-04-29T15:25:00-04:00", + "2024-04-29T15:26:00-04:00", + "2024-04-29T15:27:00-04:00", + "2024-04-29T15:28:00-04:00", + "2024-04-29T15:29:00-04:00", + "2024-04-29T15:30:00-04:00", + "2024-04-29T15:31:00-04:00", + "2024-04-29T15:32:00-04:00", + "2024-04-29T15:33:00-04:00", + "2024-04-29T15:34:00-04:00", + "2024-04-29T15:35:00-04:00", + "2024-04-29T15:36:00-04:00", + "2024-04-29T15:37:00-04:00", + "2024-04-29T15:38:00-04:00", + "2024-04-29T15:39:00-04:00", + "2024-04-29T15:40:00-04:00", + "2024-04-29T15:41:00-04:00", + "2024-04-29T15:42:00-04:00", + "2024-04-29T15:43:00-04:00", + "2024-04-29T15:44:00-04:00", + "2024-04-29T15:45:00-04:00", + "2024-04-29T15:46:00-04:00", + "2024-04-29T15:47:00-04:00", + "2024-04-29T15:48:00-04:00", + "2024-04-29T15:49:00-04:00", + "2024-04-29T15:50:00-04:00", + "2024-04-29T15:51:00-04:00", + "2024-04-29T15:52:00-04:00", + "2024-04-29T15:53:00-04:00", + "2024-04-29T15:54:00-04:00", + "2024-04-29T15:55:00-04:00", + "2024-04-29T15:56:00-04:00", + "2024-04-29T15:57:00-04:00", + "2024-04-29T15:58:00-04:00", + "2024-04-29T15:59:00-04:00", + "2024-04-29T16:00:00-04:00", + "2024-04-30T09:30:00-04:00", + "2024-04-30T09:31:00-04:00", + "2024-04-30T09:32:00-04:00", + "2024-04-30T09:33:00-04:00", + "2024-04-30T09:34:00-04:00", + "2024-04-30T09:35:00-04:00", + "2024-04-30T09:36:00-04:00", + "2024-04-30T09:37:00-04:00", + "2024-04-30T09:38:00-04:00", + "2024-04-30T09:39:00-04:00", + "2024-04-30T09:40:00-04:00", + "2024-04-30T09:41:00-04:00", + "2024-04-30T09:42:00-04:00", + "2024-04-30T09:43:00-04:00", + "2024-04-30T09:44:00-04:00", + "2024-04-30T09:45:00-04:00", + "2024-04-30T09:46:00-04:00", + "2024-04-30T09:47:00-04:00", + "2024-04-30T09:48:00-04:00", + "2024-04-30T09:49:00-04:00", + "2024-04-30T09:50:00-04:00", + "2024-04-30T09:51:00-04:00", + "2024-04-30T09:52:00-04:00", + "2024-04-30T09:53:00-04:00", + "2024-04-30T09:54:00-04:00", + "2024-04-30T09:55:00-04:00", + "2024-04-30T09:56:00-04:00", + "2024-04-30T09:57:00-04:00", + "2024-04-30T09:58:00-04:00", + "2024-04-30T09:59:00-04:00", + "2024-04-30T10:00:00-04:00", + "2024-04-30T10:01:00-04:00", + "2024-04-30T10:02:00-04:00", + "2024-04-30T10:03:00-04:00", + "2024-04-30T10:04:00-04:00", + "2024-04-30T10:05:00-04:00", + "2024-04-30T10:06:00-04:00", + "2024-04-30T10:07:00-04:00", + "2024-04-30T10:08:00-04:00", + "2024-04-30T10:09:00-04:00", + "2024-04-30T10:10:00-04:00", + "2024-04-30T10:11:00-04:00", + "2024-04-30T10:12:00-04:00", + "2024-04-30T10:13:00-04:00", + "2024-04-30T10:14:00-04:00", + "2024-04-30T10:15:00-04:00", + "2024-04-30T10:16:00-04:00", + "2024-04-30T10:17:00-04:00", + "2024-04-30T10:18:00-04:00", + "2024-04-30T10:19:00-04:00", + "2024-04-30T10:20:00-04:00", + "2024-04-30T10:21:00-04:00", + "2024-04-30T10:22:00-04:00", + "2024-04-30T10:23:00-04:00", + "2024-04-30T10:24:00-04:00", + "2024-04-30T10:25:00-04:00", + "2024-04-30T10:26:00-04:00", + "2024-04-30T10:27:00-04:00", + "2024-04-30T10:28:00-04:00", + "2024-04-30T10:29:00-04:00", + "2024-04-30T10:30:00-04:00", + "2024-04-30T10:31:00-04:00", + "2024-04-30T10:32:00-04:00", + "2024-04-30T10:33:00-04:00", + "2024-04-30T10:34:00-04:00", + "2024-04-30T10:35:00-04:00", + "2024-04-30T10:36:00-04:00", + "2024-04-30T10:37:00-04:00", + "2024-04-30T10:38:00-04:00", + "2024-04-30T10:39:00-04:00", + "2024-04-30T10:40:00-04:00", + "2024-04-30T10:41:00-04:00", + "2024-04-30T10:42:00-04:00", + "2024-04-30T10:43:00-04:00", + "2024-04-30T10:44:00-04:00", + "2024-04-30T10:45:00-04:00", + "2024-04-30T10:46:00-04:00", + "2024-04-30T10:47:00-04:00", + "2024-04-30T10:48:00-04:00", + "2024-04-30T10:49:00-04:00", + "2024-04-30T10:50:00-04:00", + "2024-04-30T10:51:00-04:00", + "2024-04-30T10:52:00-04:00", + "2024-04-30T10:53:00-04:00", + "2024-04-30T10:54:00-04:00", + "2024-04-30T10:55:00-04:00", + "2024-04-30T10:56:00-04:00", + "2024-04-30T10:57:00-04:00", + "2024-04-30T10:58:00-04:00", + "2024-04-30T10:59:00-04:00", + "2024-04-30T11:00:00-04:00", + "2024-04-30T11:01:00-04:00", + "2024-04-30T11:02:00-04:00", + "2024-04-30T11:03:00-04:00", + "2024-04-30T11:04:00-04:00", + "2024-04-30T11:05:00-04:00", + "2024-04-30T11:06:00-04:00", + "2024-04-30T11:07:00-04:00", + "2024-04-30T11:08:00-04:00", + "2024-04-30T11:09:00-04:00", + "2024-04-30T11:10:00-04:00", + "2024-04-30T11:11:00-04:00", + "2024-04-30T11:12:00-04:00", + "2024-04-30T11:13:00-04:00", + "2024-04-30T11:14:00-04:00", + "2024-04-30T11:15:00-04:00", + "2024-04-30T11:16:00-04:00", + "2024-04-30T11:17:00-04:00", + "2024-04-30T11:18:00-04:00", + "2024-04-30T11:19:00-04:00", + "2024-04-30T11:20:00-04:00", + "2024-04-30T11:21:00-04:00", + "2024-04-30T11:22:00-04:00", + "2024-04-30T11:23:00-04:00", + "2024-04-30T11:24:00-04:00", + "2024-04-30T11:25:00-04:00", + "2024-04-30T11:26:00-04:00", + "2024-04-30T11:27:00-04:00", + "2024-04-30T11:28:00-04:00", + "2024-04-30T11:29:00-04:00", + "2024-04-30T11:30:00-04:00", + "2024-04-30T11:31:00-04:00", + "2024-04-30T11:32:00-04:00", + "2024-04-30T11:33:00-04:00", + "2024-04-30T11:34:00-04:00", + "2024-04-30T11:35:00-04:00", + "2024-04-30T11:36:00-04:00", + "2024-04-30T11:37:00-04:00", + "2024-04-30T11:38:00-04:00", + "2024-04-30T11:39:00-04:00", + "2024-04-30T11:40:00-04:00", + "2024-04-30T11:41:00-04:00", + "2024-04-30T11:42:00-04:00", + "2024-04-30T11:43:00-04:00", + "2024-04-30T11:44:00-04:00", + "2024-04-30T11:45:00-04:00", + "2024-04-30T11:46:00-04:00", + "2024-04-30T11:47:00-04:00", + "2024-04-30T11:48:00-04:00", + "2024-04-30T11:49:00-04:00", + "2024-04-30T11:50:00-04:00", + "2024-04-30T11:51:00-04:00", + "2024-04-30T11:52:00-04:00", + "2024-04-30T11:53:00-04:00", + "2024-04-30T11:54:00-04:00", + "2024-04-30T11:55:00-04:00", + "2024-04-30T11:56:00-04:00", + "2024-04-30T11:57:00-04:00", + "2024-04-30T11:58:00-04:00", + "2024-04-30T11:59:00-04:00", + "2024-04-30T12:00:00-04:00", + "2024-04-30T12:01:00-04:00", + "2024-04-30T12:02:00-04:00", + "2024-04-30T12:03:00-04:00", + "2024-04-30T12:04:00-04:00", + "2024-04-30T12:05:00-04:00", + "2024-04-30T12:06:00-04:00", + "2024-04-30T12:07:00-04:00", + "2024-04-30T12:08:00-04:00", + "2024-04-30T12:09:00-04:00", + "2024-04-30T12:10:00-04:00", + "2024-04-30T12:11:00-04:00", + "2024-04-30T12:12:00-04:00", + "2024-04-30T12:13:00-04:00", + "2024-04-30T12:14:00-04:00", + "2024-04-30T12:15:00-04:00", + "2024-04-30T12:16:00-04:00", + "2024-04-30T12:17:00-04:00", + "2024-04-30T12:18:00-04:00", + "2024-04-30T12:19:00-04:00", + "2024-04-30T12:20:00-04:00", + "2024-04-30T12:21:00-04:00", + "2024-04-30T12:22:00-04:00", + "2024-04-30T12:23:00-04:00", + "2024-04-30T12:24:00-04:00", + "2024-04-30T12:25:00-04:00", + "2024-04-30T12:26:00-04:00", + "2024-04-30T12:27:00-04:00", + "2024-04-30T12:28:00-04:00", + "2024-04-30T12:29:00-04:00", + "2024-04-30T12:30:00-04:00", + "2024-04-30T12:31:00-04:00", + "2024-04-30T12:32:00-04:00", + "2024-04-30T12:33:00-04:00", + "2024-04-30T12:34:00-04:00", + "2024-04-30T12:35:00-04:00", + "2024-04-30T12:36:00-04:00", + "2024-04-30T12:37:00-04:00", + "2024-04-30T12:38:00-04:00", + "2024-04-30T12:39:00-04:00", + "2024-04-30T12:40:00-04:00", + "2024-04-30T12:41:00-04:00", + "2024-04-30T12:42:00-04:00", + "2024-04-30T12:43:00-04:00", + "2024-04-30T12:44:00-04:00", + "2024-04-30T12:45:00-04:00", + "2024-04-30T12:46:00-04:00", + "2024-04-30T12:47:00-04:00", + "2024-04-30T12:48:00-04:00", + "2024-04-30T12:49:00-04:00", + "2024-04-30T12:50:00-04:00", + "2024-04-30T12:51:00-04:00", + "2024-04-30T12:52:00-04:00", + "2024-04-30T12:53:00-04:00", + "2024-04-30T12:54:00-04:00", + "2024-04-30T12:55:00-04:00", + "2024-04-30T12:56:00-04:00", + "2024-04-30T12:57:00-04:00", + "2024-04-30T12:58:00-04:00", + "2024-04-30T12:59:00-04:00", + "2024-04-30T13:00:00-04:00", + "2024-04-30T13:01:00-04:00", + "2024-04-30T13:02:00-04:00", + "2024-04-30T13:03:00-04:00", + "2024-04-30T13:04:00-04:00", + "2024-04-30T13:05:00-04:00", + "2024-04-30T13:06:00-04:00", + "2024-04-30T13:07:00-04:00", + "2024-04-30T13:08:00-04:00", + "2024-04-30T13:09:00-04:00", + "2024-04-30T13:10:00-04:00", + "2024-04-30T13:11:00-04:00", + "2024-04-30T13:12:00-04:00", + "2024-04-30T13:13:00-04:00", + "2024-04-30T13:14:00-04:00", + "2024-04-30T13:15:00-04:00", + "2024-04-30T13:16:00-04:00", + "2024-04-30T13:17:00-04:00", + "2024-04-30T13:18:00-04:00", + "2024-04-30T13:19:00-04:00", + "2024-04-30T13:20:00-04:00", + "2024-04-30T13:21:00-04:00", + "2024-04-30T13:22:00-04:00", + "2024-04-30T13:23:00-04:00", + "2024-04-30T13:24:00-04:00", + "2024-04-30T13:25:00-04:00", + "2024-04-30T13:26:00-04:00", + "2024-04-30T13:27:00-04:00", + "2024-04-30T13:28:00-04:00", + "2024-04-30T13:29:00-04:00", + "2024-04-30T13:30:00-04:00", + "2024-04-30T13:31:00-04:00", + "2024-04-30T13:32:00-04:00", + "2024-04-30T13:33:00-04:00", + "2024-04-30T13:34:00-04:00", + "2024-04-30T13:35:00-04:00", + "2024-04-30T13:36:00-04:00", + "2024-04-30T13:37:00-04:00", + "2024-04-30T13:38:00-04:00", + "2024-04-30T13:39:00-04:00", + "2024-04-30T13:40:00-04:00", + "2024-04-30T13:41:00-04:00", + "2024-04-30T13:42:00-04:00", + "2024-04-30T13:43:00-04:00", + "2024-04-30T13:44:00-04:00", + "2024-04-30T13:45:00-04:00", + "2024-04-30T13:46:00-04:00", + "2024-04-30T13:47:00-04:00", + "2024-04-30T13:48:00-04:00", + "2024-04-30T13:49:00-04:00", + "2024-04-30T13:50:00-04:00", + "2024-04-30T13:51:00-04:00", + "2024-04-30T13:52:00-04:00", + "2024-04-30T13:53:00-04:00", + "2024-04-30T13:54:00-04:00", + "2024-04-30T13:55:00-04:00", + "2024-04-30T13:56:00-04:00", + "2024-04-30T13:57:00-04:00", + "2024-04-30T13:58:00-04:00", + "2024-04-30T13:59:00-04:00", + "2024-04-30T14:00:00-04:00", + "2024-04-30T14:01:00-04:00", + "2024-04-30T14:02:00-04:00", + "2024-04-30T14:03:00-04:00", + "2024-04-30T14:04:00-04:00", + "2024-04-30T14:05:00-04:00", + "2024-04-30T14:06:00-04:00", + "2024-04-30T14:07:00-04:00", + "2024-04-30T14:08:00-04:00", + "2024-04-30T14:09:00-04:00", + "2024-04-30T14:10:00-04:00", + "2024-04-30T14:11:00-04:00", + "2024-04-30T14:12:00-04:00", + "2024-04-30T14:13:00-04:00", + "2024-04-30T14:14:00-04:00", + "2024-04-30T14:15:00-04:00", + "2024-04-30T14:16:00-04:00", + "2024-04-30T14:17:00-04:00", + "2024-04-30T14:18:00-04:00", + "2024-04-30T14:19:00-04:00", + "2024-04-30T14:20:00-04:00", + "2024-04-30T14:21:00-04:00", + "2024-04-30T14:22:00-04:00", + "2024-04-30T14:23:00-04:00", + "2024-04-30T14:24:00-04:00", + "2024-04-30T14:25:00-04:00", + "2024-04-30T14:26:00-04:00", + "2024-04-30T14:27:00-04:00", + "2024-04-30T14:28:00-04:00", + "2024-04-30T14:29:00-04:00", + "2024-04-30T14:30:00-04:00", + "2024-04-30T14:31:00-04:00", + "2024-04-30T14:32:00-04:00", + "2024-04-30T14:33:00-04:00", + "2024-04-30T14:34:00-04:00", + "2024-04-30T14:35:00-04:00", + "2024-04-30T14:36:00-04:00", + "2024-04-30T14:37:00-04:00", + "2024-04-30T14:38:00-04:00", + "2024-04-30T14:39:00-04:00", + "2024-04-30T14:40:00-04:00", + "2024-04-30T14:41:00-04:00", + "2024-04-30T14:42:00-04:00", + "2024-04-30T14:43:00-04:00", + "2024-04-30T14:44:00-04:00", + "2024-04-30T14:45:00-04:00", + "2024-04-30T14:46:00-04:00", + "2024-04-30T14:47:00-04:00", + "2024-04-30T14:48:00-04:00", + "2024-04-30T14:49:00-04:00", + "2024-04-30T14:50:00-04:00", + "2024-04-30T14:51:00-04:00", + "2024-04-30T14:52:00-04:00", + "2024-04-30T14:53:00-04:00", + "2024-04-30T14:54:00-04:00", + "2024-04-30T14:55:00-04:00", + "2024-04-30T14:56:00-04:00", + "2024-04-30T14:57:00-04:00", + "2024-04-30T14:58:00-04:00", + "2024-04-30T14:59:00-04:00", + "2024-04-30T15:00:00-04:00", + "2024-04-30T15:01:00-04:00", + "2024-04-30T15:02:00-04:00", + "2024-04-30T15:03:00-04:00", + "2024-04-30T15:04:00-04:00", + "2024-04-30T15:05:00-04:00", + "2024-04-30T15:06:00-04:00", + "2024-04-30T15:07:00-04:00", + "2024-04-30T15:08:00-04:00", + "2024-04-30T15:09:00-04:00", + "2024-04-30T15:10:00-04:00", + "2024-04-30T15:11:00-04:00", + "2024-04-30T15:12:00-04:00", + "2024-04-30T15:13:00-04:00", + "2024-04-30T15:14:00-04:00", + "2024-04-30T15:15:00-04:00", + "2024-04-30T15:16:00-04:00", + "2024-04-30T15:17:00-04:00", + "2024-04-30T15:18:00-04:00", + "2024-04-30T15:19:00-04:00", + "2024-04-30T15:20:00-04:00", + "2024-04-30T15:21:00-04:00", + "2024-04-30T15:22:00-04:00", + "2024-04-30T15:23:00-04:00", + "2024-04-30T15:24:00-04:00", + "2024-04-30T15:25:00-04:00", + "2024-04-30T15:26:00-04:00", + "2024-04-30T15:27:00-04:00", + "2024-04-30T15:28:00-04:00", + "2024-04-30T15:29:00-04:00", + "2024-04-30T15:30:00-04:00", + "2024-04-30T15:31:00-04:00", + "2024-04-30T15:32:00-04:00", + "2024-04-30T15:33:00-04:00", + "2024-04-30T15:34:00-04:00", + "2024-04-30T15:35:00-04:00", + "2024-04-30T15:36:00-04:00", + "2024-04-30T15:37:00-04:00", + "2024-04-30T15:38:00-04:00", + "2024-04-30T15:39:00-04:00", + "2024-04-30T15:40:00-04:00", + "2024-04-30T15:41:00-04:00", + "2024-04-30T15:42:00-04:00", + "2024-04-30T15:43:00-04:00", + "2024-04-30T15:44:00-04:00", + "2024-04-30T15:45:00-04:00", + "2024-04-30T15:46:00-04:00", + "2024-04-30T15:47:00-04:00", + "2024-04-30T15:48:00-04:00", + "2024-04-30T15:49:00-04:00", + "2024-04-30T15:50:00-04:00", + "2024-04-30T15:51:00-04:00", + "2024-04-30T15:52:00-04:00", + "2024-04-30T15:53:00-04:00", + "2024-04-30T15:54:00-04:00", + "2024-04-30T15:55:00-04:00", + "2024-04-30T15:56:00-04:00", + "2024-04-30T15:57:00-04:00", + "2024-04-30T15:58:00-04:00", + "2024-04-30T15:59:00-04:00", + "2024-04-30T16:00:00-04:00", + "2024-05-01T09:30:00-04:00", + "2024-05-01T09:31:00-04:00", + "2024-05-01T09:32:00-04:00", + "2024-05-01T09:33:00-04:00", + "2024-05-01T09:34:00-04:00", + "2024-05-01T09:35:00-04:00", + "2024-05-01T09:36:00-04:00", + "2024-05-01T09:37:00-04:00", + "2024-05-01T09:38:00-04:00", + "2024-05-01T09:39:00-04:00", + "2024-05-01T09:40:00-04:00", + "2024-05-01T09:41:00-04:00", + "2024-05-01T09:42:00-04:00", + "2024-05-01T09:43:00-04:00", + "2024-05-01T09:44:00-04:00", + "2024-05-01T09:45:00-04:00", + "2024-05-01T09:46:00-04:00", + "2024-05-01T09:47:00-04:00", + "2024-05-01T09:48:00-04:00", + "2024-05-01T09:49:00-04:00", + "2024-05-01T09:50:00-04:00", + "2024-05-01T09:51:00-04:00", + "2024-05-01T09:52:00-04:00", + "2024-05-01T09:53:00-04:00", + "2024-05-01T09:54:00-04:00", + "2024-05-01T09:55:00-04:00", + "2024-05-01T09:56:00-04:00", + "2024-05-01T09:57:00-04:00", + "2024-05-01T09:58:00-04:00", + "2024-05-01T09:59:00-04:00", + "2024-05-01T10:00:00-04:00", + "2024-05-01T10:01:00-04:00", + "2024-05-01T10:02:00-04:00", + "2024-05-01T10:03:00-04:00", + "2024-05-01T10:04:00-04:00", + "2024-05-01T10:05:00-04:00", + "2024-05-01T10:06:00-04:00", + "2024-05-01T10:07:00-04:00", + "2024-05-01T10:08:00-04:00", + "2024-05-01T10:09:00-04:00", + "2024-05-01T10:10:00-04:00", + "2024-05-01T10:11:00-04:00", + "2024-05-01T10:12:00-04:00", + "2024-05-01T10:13:00-04:00", + "2024-05-01T10:14:00-04:00", + "2024-05-01T10:15:00-04:00", + "2024-05-01T10:16:00-04:00", + "2024-05-01T10:17:00-04:00", + "2024-05-01T10:18:00-04:00", + "2024-05-01T10:19:00-04:00", + "2024-05-01T10:20:00-04:00", + "2024-05-01T10:21:00-04:00", + "2024-05-01T10:22:00-04:00", + "2024-05-01T10:23:00-04:00", + "2024-05-01T10:24:00-04:00", + "2024-05-01T10:25:00-04:00", + "2024-05-01T10:26:00-04:00", + "2024-05-01T10:27:00-04:00", + "2024-05-01T10:28:00-04:00", + "2024-05-01T10:29:00-04:00", + "2024-05-01T10:30:00-04:00", + "2024-05-01T10:31:00-04:00", + "2024-05-01T10:32:00-04:00", + "2024-05-01T10:33:00-04:00", + "2024-05-01T10:34:00-04:00", + "2024-05-01T10:35:00-04:00", + "2024-05-01T10:36:00-04:00", + "2024-05-01T10:37:00-04:00", + "2024-05-01T10:38:00-04:00", + "2024-05-01T10:39:00-04:00", + "2024-05-01T10:40:00-04:00", + "2024-05-01T10:41:00-04:00", + "2024-05-01T10:42:00-04:00", + "2024-05-01T10:43:00-04:00", + "2024-05-01T10:44:00-04:00", + "2024-05-01T10:45:00-04:00", + "2024-05-01T10:46:00-04:00", + "2024-05-01T10:47:00-04:00", + "2024-05-01T10:48:00-04:00", + "2024-05-01T10:49:00-04:00", + "2024-05-01T10:50:00-04:00", + "2024-05-01T10:51:00-04:00", + "2024-05-01T10:52:00-04:00", + "2024-05-01T10:53:00-04:00", + "2024-05-01T10:54:00-04:00", + "2024-05-01T10:55:00-04:00", + "2024-05-01T10:56:00-04:00", + "2024-05-01T10:57:00-04:00", + "2024-05-01T10:58:00-04:00", + "2024-05-01T10:59:00-04:00", + "2024-05-01T11:00:00-04:00", + "2024-05-01T11:01:00-04:00", + "2024-05-01T11:02:00-04:00", + "2024-05-01T11:03:00-04:00", + "2024-05-01T11:04:00-04:00", + "2024-05-01T11:05:00-04:00", + "2024-05-01T11:06:00-04:00", + "2024-05-01T11:07:00-04:00", + "2024-05-01T11:08:00-04:00", + "2024-05-01T11:09:00-04:00", + "2024-05-01T11:10:00-04:00", + "2024-05-01T11:11:00-04:00", + "2024-05-01T11:12:00-04:00", + "2024-05-01T11:13:00-04:00", + "2024-05-01T11:14:00-04:00", + "2024-05-01T11:15:00-04:00", + "2024-05-01T11:16:00-04:00", + "2024-05-01T11:17:00-04:00", + "2024-05-01T11:18:00-04:00", + "2024-05-01T11:19:00-04:00", + "2024-05-01T11:20:00-04:00", + "2024-05-01T11:21:00-04:00", + "2024-05-01T11:22:00-04:00", + "2024-05-01T11:23:00-04:00", + "2024-05-01T11:24:00-04:00", + "2024-05-01T11:25:00-04:00", + "2024-05-01T11:26:00-04:00", + "2024-05-01T11:27:00-04:00", + "2024-05-01T11:28:00-04:00", + "2024-05-01T11:29:00-04:00", + "2024-05-01T11:30:00-04:00", + "2024-05-01T11:31:00-04:00", + "2024-05-01T11:32:00-04:00", + "2024-05-01T11:33:00-04:00", + "2024-05-01T11:34:00-04:00", + "2024-05-01T11:35:00-04:00", + "2024-05-01T11:36:00-04:00", + "2024-05-01T11:37:00-04:00", + "2024-05-01T11:38:00-04:00", + "2024-05-01T11:39:00-04:00", + "2024-05-01T11:40:00-04:00", + "2024-05-01T11:41:00-04:00", + "2024-05-01T11:42:00-04:00", + "2024-05-01T11:43:00-04:00", + "2024-05-01T11:44:00-04:00", + "2024-05-01T11:45:00-04:00", + "2024-05-01T11:46:00-04:00", + "2024-05-01T11:47:00-04:00", + "2024-05-01T11:48:00-04:00", + "2024-05-01T11:49:00-04:00", + "2024-05-01T11:50:00-04:00", + "2024-05-01T11:51:00-04:00", + "2024-05-01T11:52:00-04:00", + "2024-05-01T11:53:00-04:00", + "2024-05-01T11:54:00-04:00", + "2024-05-01T11:55:00-04:00", + "2024-05-01T11:56:00-04:00", + "2024-05-01T11:57:00-04:00", + "2024-05-01T11:58:00-04:00", + "2024-05-01T11:59:00-04:00", + "2024-05-01T12:00:00-04:00", + "2024-05-01T12:01:00-04:00", + "2024-05-01T12:02:00-04:00", + "2024-05-01T12:03:00-04:00", + "2024-05-01T12:04:00-04:00", + "2024-05-01T12:05:00-04:00", + "2024-05-01T12:06:00-04:00", + "2024-05-01T12:07:00-04:00", + "2024-05-01T12:08:00-04:00", + "2024-05-01T12:09:00-04:00", + "2024-05-01T12:10:00-04:00", + "2024-05-01T12:11:00-04:00", + "2024-05-01T12:12:00-04:00", + "2024-05-01T12:13:00-04:00", + "2024-05-01T12:14:00-04:00", + "2024-05-01T12:15:00-04:00", + "2024-05-01T12:16:00-04:00", + "2024-05-01T12:17:00-04:00", + "2024-05-01T12:18:00-04:00", + "2024-05-01T12:19:00-04:00", + "2024-05-01T12:20:00-04:00", + "2024-05-01T12:21:00-04:00", + "2024-05-01T12:22:00-04:00", + "2024-05-01T12:23:00-04:00", + "2024-05-01T12:24:00-04:00", + "2024-05-01T12:25:00-04:00", + "2024-05-01T12:26:00-04:00", + "2024-05-01T12:27:00-04:00", + "2024-05-01T12:28:00-04:00", + "2024-05-01T12:29:00-04:00", + "2024-05-01T12:30:00-04:00", + "2024-05-01T12:31:00-04:00", + "2024-05-01T12:32:00-04:00", + "2024-05-01T12:33:00-04:00", + "2024-05-01T12:34:00-04:00", + "2024-05-01T12:35:00-04:00", + "2024-05-01T12:36:00-04:00", + "2024-05-01T12:37:00-04:00", + "2024-05-01T12:38:00-04:00", + "2024-05-01T12:39:00-04:00", + "2024-05-01T12:40:00-04:00", + "2024-05-01T12:41:00-04:00", + "2024-05-01T12:42:00-04:00", + "2024-05-01T12:43:00-04:00", + "2024-05-01T12:44:00-04:00", + "2024-05-01T12:45:00-04:00", + "2024-05-01T12:46:00-04:00", + "2024-05-01T12:47:00-04:00", + "2024-05-01T12:48:00-04:00", + "2024-05-01T12:49:00-04:00", + "2024-05-01T12:50:00-04:00", + "2024-05-01T12:51:00-04:00", + "2024-05-01T12:52:00-04:00", + "2024-05-01T12:53:00-04:00", + "2024-05-01T12:54:00-04:00", + "2024-05-01T12:55:00-04:00", + "2024-05-01T12:56:00-04:00", + "2024-05-01T12:57:00-04:00", + "2024-05-01T12:58:00-04:00", + "2024-05-01T12:59:00-04:00", + "2024-05-01T13:00:00-04:00", + "2024-05-01T13:01:00-04:00", + "2024-05-01T13:02:00-04:00", + "2024-05-01T13:03:00-04:00", + "2024-05-01T13:04:00-04:00", + "2024-05-01T13:05:00-04:00", + "2024-05-01T13:06:00-04:00", + "2024-05-01T13:07:00-04:00", + "2024-05-01T13:08:00-04:00", + "2024-05-01T13:09:00-04:00", + "2024-05-01T13:10:00-04:00", + "2024-05-01T13:11:00-04:00", + "2024-05-01T13:12:00-04:00", + "2024-05-01T13:13:00-04:00", + "2024-05-01T13:14:00-04:00", + "2024-05-01T13:15:00-04:00", + "2024-05-01T13:16:00-04:00", + "2024-05-01T13:17:00-04:00", + "2024-05-01T13:18:00-04:00", + "2024-05-01T13:19:00-04:00", + "2024-05-01T13:20:00-04:00", + "2024-05-01T13:21:00-04:00", + "2024-05-01T13:22:00-04:00", + "2024-05-01T13:23:00-04:00", + "2024-05-01T13:24:00-04:00", + "2024-05-01T13:25:00-04:00", + "2024-05-01T13:26:00-04:00", + "2024-05-01T13:27:00-04:00", + "2024-05-01T13:28:00-04:00", + "2024-05-01T13:29:00-04:00", + "2024-05-01T13:30:00-04:00", + "2024-05-01T13:31:00-04:00", + "2024-05-01T13:32:00-04:00", + "2024-05-01T13:33:00-04:00", + "2024-05-01T13:34:00-04:00", + "2024-05-01T13:35:00-04:00", + "2024-05-01T13:36:00-04:00", + "2024-05-01T13:37:00-04:00", + "2024-05-01T13:38:00-04:00", + "2024-05-01T13:39:00-04:00", + "2024-05-01T13:40:00-04:00", + "2024-05-01T13:41:00-04:00", + "2024-05-01T13:42:00-04:00", + "2024-05-01T13:43:00-04:00", + "2024-05-01T13:44:00-04:00", + "2024-05-01T13:45:00-04:00", + "2024-05-01T13:46:00-04:00", + "2024-05-01T13:47:00-04:00", + "2024-05-01T13:48:00-04:00", + "2024-05-01T13:49:00-04:00", + "2024-05-01T13:50:00-04:00", + "2024-05-01T13:51:00-04:00", + "2024-05-01T13:52:00-04:00", + "2024-05-01T13:53:00-04:00", + "2024-05-01T13:54:00-04:00", + "2024-05-01T13:55:00-04:00", + "2024-05-01T13:56:00-04:00", + "2024-05-01T13:57:00-04:00", + "2024-05-01T13:58:00-04:00", + "2024-05-01T13:59:00-04:00", + "2024-05-01T14:00:00-04:00", + "2024-05-01T14:01:00-04:00", + "2024-05-01T14:02:00-04:00", + "2024-05-01T14:03:00-04:00", + "2024-05-01T14:04:00-04:00", + "2024-05-01T14:05:00-04:00", + "2024-05-01T14:06:00-04:00", + "2024-05-01T14:07:00-04:00", + "2024-05-01T14:08:00-04:00", + "2024-05-01T14:09:00-04:00", + "2024-05-01T14:10:00-04:00", + "2024-05-01T14:11:00-04:00", + "2024-05-01T14:12:00-04:00", + "2024-05-01T14:13:00-04:00", + "2024-05-01T14:14:00-04:00", + "2024-05-01T14:15:00-04:00", + "2024-05-01T14:16:00-04:00", + "2024-05-01T14:17:00-04:00", + "2024-05-01T14:18:00-04:00", + "2024-05-01T14:19:00-04:00", + "2024-05-01T14:20:00-04:00", + "2024-05-01T14:21:00-04:00", + "2024-05-01T14:22:00-04:00", + "2024-05-01T14:23:00-04:00", + "2024-05-01T14:24:00-04:00", + "2024-05-01T14:25:00-04:00", + "2024-05-01T14:26:00-04:00", + "2024-05-01T14:27:00-04:00", + "2024-05-01T14:28:00-04:00", + "2024-05-01T14:29:00-04:00", + "2024-05-01T14:30:00-04:00", + "2024-05-01T14:31:00-04:00", + "2024-05-01T14:32:00-04:00", + "2024-05-01T14:33:00-04:00", + "2024-05-01T14:34:00-04:00", + "2024-05-01T14:35:00-04:00", + "2024-05-01T14:36:00-04:00", + "2024-05-01T14:37:00-04:00", + "2024-05-01T14:38:00-04:00", + "2024-05-01T14:39:00-04:00", + "2024-05-01T14:40:00-04:00", + "2024-05-01T14:41:00-04:00", + "2024-05-01T14:42:00-04:00", + "2024-05-01T14:43:00-04:00", + "2024-05-01T14:44:00-04:00", + "2024-05-01T14:45:00-04:00", + "2024-05-01T14:46:00-04:00", + "2024-05-01T14:47:00-04:00", + "2024-05-01T14:48:00-04:00", + "2024-05-01T14:49:00-04:00", + "2024-05-01T14:50:00-04:00", + "2024-05-01T14:51:00-04:00", + "2024-05-01T14:52:00-04:00", + "2024-05-01T14:53:00-04:00", + "2024-05-01T14:54:00-04:00", + "2024-05-01T14:55:00-04:00", + "2024-05-01T14:56:00-04:00", + "2024-05-01T14:57:00-04:00", + "2024-05-01T14:58:00-04:00", + "2024-05-01T14:59:00-04:00", + "2024-05-01T15:00:00-04:00", + "2024-05-01T15:01:00-04:00", + "2024-05-01T15:02:00-04:00", + "2024-05-01T15:03:00-04:00", + "2024-05-01T15:04:00-04:00", + "2024-05-01T15:05:00-04:00", + "2024-05-01T15:06:00-04:00", + "2024-05-01T15:07:00-04:00", + "2024-05-01T15:08:00-04:00", + "2024-05-01T15:09:00-04:00", + "2024-05-01T15:10:00-04:00", + "2024-05-01T15:11:00-04:00", + "2024-05-01T15:12:00-04:00", + "2024-05-01T15:13:00-04:00", + "2024-05-01T15:14:00-04:00", + "2024-05-01T15:15:00-04:00", + "2024-05-01T15:16:00-04:00", + "2024-05-01T15:17:00-04:00", + "2024-05-01T15:18:00-04:00", + "2024-05-01T15:19:00-04:00", + "2024-05-01T15:20:00-04:00", + "2024-05-01T15:21:00-04:00", + "2024-05-01T15:22:00-04:00", + "2024-05-01T15:23:00-04:00", + "2024-05-01T15:24:00-04:00", + "2024-05-01T15:25:00-04:00", + "2024-05-01T15:26:00-04:00", + "2024-05-01T15:27:00-04:00", + "2024-05-01T15:28:00-04:00", + "2024-05-01T15:29:00-04:00", + "2024-05-01T15:30:00-04:00", + "2024-05-01T15:31:00-04:00", + "2024-05-01T15:32:00-04:00", + "2024-05-01T15:33:00-04:00", + "2024-05-01T15:34:00-04:00", + "2024-05-01T15:35:00-04:00", + "2024-05-01T15:36:00-04:00", + "2024-05-01T15:37:00-04:00", + "2024-05-01T15:38:00-04:00", + "2024-05-01T15:39:00-04:00", + "2024-05-01T15:40:00-04:00", + "2024-05-01T15:41:00-04:00", + "2024-05-01T15:42:00-04:00", + "2024-05-01T15:43:00-04:00", + "2024-05-01T15:44:00-04:00", + "2024-05-01T15:45:00-04:00", + "2024-05-01T15:46:00-04:00", + "2024-05-01T15:47:00-04:00", + "2024-05-01T15:48:00-04:00", + "2024-05-01T15:49:00-04:00", + "2024-05-01T15:50:00-04:00", + "2024-05-01T15:51:00-04:00", + "2024-05-01T15:52:00-04:00", + "2024-05-01T15:53:00-04:00", + "2024-05-01T15:54:00-04:00", + "2024-05-01T15:55:00-04:00", + "2024-05-01T15:56:00-04:00", + "2024-05-01T15:57:00-04:00", + "2024-05-01T15:58:00-04:00", + "2024-05-01T15:59:00-04:00", + "2024-05-01T16:00:00-04:00", + "2024-05-02T09:30:00-04:00", + "2024-05-02T09:31:00-04:00", + "2024-05-02T09:32:00-04:00", + "2024-05-02T09:33:00-04:00", + "2024-05-02T09:34:00-04:00", + "2024-05-02T09:35:00-04:00", + "2024-05-02T09:36:00-04:00", + "2024-05-02T09:37:00-04:00", + "2024-05-02T09:38:00-04:00", + "2024-05-02T09:39:00-04:00", + "2024-05-02T09:40:00-04:00", + "2024-05-02T09:41:00-04:00", + "2024-05-02T09:42:00-04:00", + "2024-05-02T09:43:00-04:00", + "2024-05-02T09:44:00-04:00", + "2024-05-02T09:45:00-04:00", + "2024-05-02T09:46:00-04:00", + "2024-05-02T09:47:00-04:00", + "2024-05-02T09:48:00-04:00", + "2024-05-02T09:49:00-04:00", + "2024-05-02T09:50:00-04:00", + "2024-05-02T09:51:00-04:00", + "2024-05-02T09:52:00-04:00", + "2024-05-02T09:53:00-04:00", + "2024-05-02T09:54:00-04:00", + "2024-05-02T09:55:00-04:00", + "2024-05-02T09:56:00-04:00", + "2024-05-02T09:57:00-04:00", + "2024-05-02T09:58:00-04:00", + "2024-05-02T09:59:00-04:00", + "2024-05-02T10:00:00-04:00", + "2024-05-02T10:01:00-04:00", + "2024-05-02T10:02:00-04:00", + "2024-05-02T10:03:00-04:00", + "2024-05-02T10:04:00-04:00", + "2024-05-02T10:05:00-04:00", + "2024-05-02T10:06:00-04:00", + "2024-05-02T10:07:00-04:00", + "2024-05-02T10:08:00-04:00", + "2024-05-02T10:09:00-04:00", + "2024-05-02T10:10:00-04:00", + "2024-05-02T10:11:00-04:00", + "2024-05-02T10:12:00-04:00", + "2024-05-02T10:13:00-04:00", + "2024-05-02T10:14:00-04:00", + "2024-05-02T10:15:00-04:00", + "2024-05-02T10:16:00-04:00", + "2024-05-02T10:17:00-04:00", + "2024-05-02T10:18:00-04:00", + "2024-05-02T10:19:00-04:00", + "2024-05-02T10:20:00-04:00", + "2024-05-02T10:21:00-04:00", + "2024-05-02T10:22:00-04:00", + "2024-05-02T10:23:00-04:00", + "2024-05-02T10:24:00-04:00", + "2024-05-02T10:25:00-04:00", + "2024-05-02T10:26:00-04:00", + "2024-05-02T10:27:00-04:00", + "2024-05-02T10:28:00-04:00", + "2024-05-02T10:29:00-04:00", + "2024-05-02T10:30:00-04:00", + "2024-05-02T10:31:00-04:00", + "2024-05-02T10:32:00-04:00", + "2024-05-02T10:33:00-04:00", + "2024-05-02T10:34:00-04:00", + "2024-05-02T10:35:00-04:00", + "2024-05-02T10:36:00-04:00", + "2024-05-02T10:37:00-04:00", + "2024-05-02T10:38:00-04:00", + "2024-05-02T10:39:00-04:00", + "2024-05-02T10:40:00-04:00", + "2024-05-02T10:41:00-04:00", + "2024-05-02T10:42:00-04:00", + "2024-05-02T10:43:00-04:00", + "2024-05-02T10:44:00-04:00", + "2024-05-02T10:45:00-04:00", + "2024-05-02T10:46:00-04:00", + "2024-05-02T10:47:00-04:00", + "2024-05-02T10:48:00-04:00", + "2024-05-02T10:49:00-04:00", + "2024-05-02T10:50:00-04:00", + "2024-05-02T10:51:00-04:00", + "2024-05-02T10:52:00-04:00", + "2024-05-02T10:53:00-04:00", + "2024-05-02T10:54:00-04:00", + "2024-05-02T10:55:00-04:00", + "2024-05-02T10:56:00-04:00", + "2024-05-02T10:57:00-04:00", + "2024-05-02T10:58:00-04:00", + "2024-05-02T10:59:00-04:00", + "2024-05-02T11:00:00-04:00", + "2024-05-02T11:01:00-04:00", + "2024-05-02T11:02:00-04:00", + "2024-05-02T11:03:00-04:00", + "2024-05-02T11:04:00-04:00", + "2024-05-02T11:05:00-04:00", + "2024-05-02T11:06:00-04:00", + "2024-05-02T11:07:00-04:00", + "2024-05-02T11:08:00-04:00", + "2024-05-02T11:09:00-04:00", + "2024-05-02T11:10:00-04:00", + "2024-05-02T11:11:00-04:00", + "2024-05-02T11:12:00-04:00", + "2024-05-02T11:13:00-04:00", + "2024-05-02T11:14:00-04:00", + "2024-05-02T11:15:00-04:00", + "2024-05-02T11:16:00-04:00", + "2024-05-02T11:17:00-04:00", + "2024-05-02T11:18:00-04:00", + "2024-05-02T11:19:00-04:00", + "2024-05-02T11:20:00-04:00", + "2024-05-02T11:21:00-04:00", + "2024-05-02T11:22:00-04:00", + "2024-05-02T11:23:00-04:00", + "2024-05-02T11:24:00-04:00", + "2024-05-02T11:25:00-04:00", + "2024-05-02T11:26:00-04:00", + "2024-05-02T11:27:00-04:00", + "2024-05-02T11:28:00-04:00", + "2024-05-02T11:29:00-04:00", + "2024-05-02T11:30:00-04:00", + "2024-05-02T11:31:00-04:00", + "2024-05-02T11:32:00-04:00", + "2024-05-02T11:33:00-04:00", + "2024-05-02T11:34:00-04:00", + "2024-05-02T11:35:00-04:00", + "2024-05-02T11:36:00-04:00", + "2024-05-02T11:37:00-04:00", + "2024-05-02T11:38:00-04:00", + "2024-05-02T11:39:00-04:00", + "2024-05-02T11:40:00-04:00", + "2024-05-02T11:41:00-04:00", + "2024-05-02T11:42:00-04:00", + "2024-05-02T11:43:00-04:00", + "2024-05-02T11:44:00-04:00", + "2024-05-02T11:45:00-04:00", + "2024-05-02T11:46:00-04:00", + "2024-05-02T11:47:00-04:00", + "2024-05-02T11:48:00-04:00", + "2024-05-02T11:49:00-04:00", + "2024-05-02T11:50:00-04:00", + "2024-05-02T11:51:00-04:00", + "2024-05-02T11:52:00-04:00", + "2024-05-02T11:53:00-04:00", + "2024-05-02T11:54:00-04:00", + "2024-05-02T11:55:00-04:00", + "2024-05-02T11:56:00-04:00", + "2024-05-02T11:57:00-04:00", + "2024-05-02T11:58:00-04:00", + "2024-05-02T11:59:00-04:00", + "2024-05-02T12:00:00-04:00", + "2024-05-02T12:01:00-04:00", + "2024-05-02T12:02:00-04:00", + "2024-05-02T12:03:00-04:00", + "2024-05-02T12:04:00-04:00", + "2024-05-02T12:05:00-04:00", + "2024-05-02T12:06:00-04:00", + "2024-05-02T12:07:00-04:00", + "2024-05-02T12:08:00-04:00", + "2024-05-02T12:09:00-04:00", + "2024-05-02T12:10:00-04:00", + "2024-05-02T12:11:00-04:00", + "2024-05-02T12:12:00-04:00", + "2024-05-02T12:13:00-04:00", + "2024-05-02T12:14:00-04:00", + "2024-05-02T12:15:00-04:00", + "2024-05-02T12:16:00-04:00", + "2024-05-02T12:17:00-04:00", + "2024-05-02T12:18:00-04:00", + "2024-05-02T12:19:00-04:00", + "2024-05-02T12:20:00-04:00", + "2024-05-02T12:21:00-04:00", + "2024-05-02T12:22:00-04:00", + "2024-05-02T12:23:00-04:00", + "2024-05-02T12:24:00-04:00", + "2024-05-02T12:25:00-04:00", + "2024-05-02T12:26:00-04:00", + "2024-05-02T12:27:00-04:00", + "2024-05-02T12:28:00-04:00", + "2024-05-02T12:29:00-04:00", + "2024-05-02T12:30:00-04:00", + "2024-05-02T12:31:00-04:00", + "2024-05-02T12:32:00-04:00", + "2024-05-02T12:33:00-04:00", + "2024-05-02T12:34:00-04:00", + "2024-05-02T12:35:00-04:00", + "2024-05-02T12:36:00-04:00", + "2024-05-02T12:37:00-04:00", + "2024-05-02T12:38:00-04:00", + "2024-05-02T12:39:00-04:00", + "2024-05-02T12:40:00-04:00", + "2024-05-02T12:41:00-04:00", + "2024-05-02T12:42:00-04:00", + "2024-05-02T12:43:00-04:00", + "2024-05-02T12:44:00-04:00", + "2024-05-02T12:45:00-04:00", + "2024-05-02T12:46:00-04:00", + "2024-05-02T12:47:00-04:00", + "2024-05-02T12:48:00-04:00", + "2024-05-02T12:49:00-04:00", + "2024-05-02T12:50:00-04:00", + "2024-05-02T12:51:00-04:00", + "2024-05-02T12:52:00-04:00", + "2024-05-02T12:53:00-04:00", + "2024-05-02T12:54:00-04:00", + "2024-05-02T12:55:00-04:00", + "2024-05-02T12:56:00-04:00", + "2024-05-02T12:57:00-04:00", + "2024-05-02T12:58:00-04:00", + "2024-05-02T12:59:00-04:00", + "2024-05-02T13:00:00-04:00", + "2024-05-02T13:01:00-04:00", + "2024-05-02T13:02:00-04:00", + "2024-05-02T13:03:00-04:00", + "2024-05-02T13:04:00-04:00", + "2024-05-02T13:05:00-04:00", + "2024-05-02T13:06:00-04:00", + "2024-05-02T13:07:00-04:00", + "2024-05-02T13:08:00-04:00", + "2024-05-02T13:09:00-04:00", + "2024-05-02T13:10:00-04:00", + "2024-05-02T13:11:00-04:00", + "2024-05-02T13:12:00-04:00", + "2024-05-02T13:13:00-04:00", + "2024-05-02T13:14:00-04:00", + "2024-05-02T13:15:00-04:00", + "2024-05-02T13:16:00-04:00", + "2024-05-02T13:17:00-04:00", + "2024-05-02T13:18:00-04:00", + "2024-05-02T13:19:00-04:00", + "2024-05-02T13:20:00-04:00", + "2024-05-02T13:21:00-04:00", + "2024-05-02T13:22:00-04:00", + "2024-05-02T13:23:00-04:00", + "2024-05-02T13:24:00-04:00", + "2024-05-02T13:25:00-04:00", + "2024-05-02T13:26:00-04:00", + "2024-05-02T13:27:00-04:00", + "2024-05-02T13:28:00-04:00", + "2024-05-02T13:29:00-04:00", + "2024-05-02T13:30:00-04:00", + "2024-05-02T13:31:00-04:00", + "2024-05-02T13:32:00-04:00", + "2024-05-02T13:33:00-04:00", + "2024-05-02T13:34:00-04:00", + "2024-05-02T13:35:00-04:00", + "2024-05-02T13:36:00-04:00", + "2024-05-02T13:37:00-04:00", + "2024-05-02T13:38:00-04:00", + "2024-05-02T13:39:00-04:00", + "2024-05-02T13:40:00-04:00", + "2024-05-02T13:41:00-04:00", + "2024-05-02T13:42:00-04:00", + "2024-05-02T13:43:00-04:00", + "2024-05-02T13:44:00-04:00", + "2024-05-02T13:45:00-04:00", + "2024-05-02T13:46:00-04:00", + "2024-05-02T13:47:00-04:00", + "2024-05-02T13:48:00-04:00", + "2024-05-02T13:49:00-04:00", + "2024-05-02T13:50:00-04:00", + "2024-05-02T13:51:00-04:00", + "2024-05-02T13:52:00-04:00", + "2024-05-02T13:53:00-04:00", + "2024-05-02T13:54:00-04:00", + "2024-05-02T13:55:00-04:00", + "2024-05-02T13:56:00-04:00", + "2024-05-02T13:57:00-04:00", + "2024-05-02T13:58:00-04:00", + "2024-05-02T13:59:00-04:00", + "2024-05-02T14:00:00-04:00", + "2024-05-02T14:01:00-04:00", + "2024-05-02T14:02:00-04:00", + "2024-05-02T14:03:00-04:00", + "2024-05-02T14:04:00-04:00", + "2024-05-02T14:05:00-04:00", + "2024-05-02T14:06:00-04:00", + "2024-05-02T14:07:00-04:00", + "2024-05-02T14:08:00-04:00", + "2024-05-02T14:09:00-04:00", + "2024-05-02T14:10:00-04:00", + "2024-05-02T14:11:00-04:00", + "2024-05-02T14:12:00-04:00", + "2024-05-02T14:13:00-04:00", + "2024-05-02T14:14:00-04:00", + "2024-05-02T14:15:00-04:00", + "2024-05-02T14:16:00-04:00", + "2024-05-02T14:17:00-04:00", + "2024-05-02T14:18:00-04:00", + "2024-05-02T14:19:00-04:00", + "2024-05-02T14:20:00-04:00", + "2024-05-02T14:21:00-04:00", + "2024-05-02T14:22:00-04:00", + "2024-05-02T14:23:00-04:00", + "2024-05-02T14:24:00-04:00", + "2024-05-02T14:25:00-04:00", + "2024-05-02T14:26:00-04:00", + "2024-05-02T14:27:00-04:00", + "2024-05-02T14:28:00-04:00", + "2024-05-02T14:29:00-04:00", + "2024-05-02T14:30:00-04:00", + "2024-05-02T14:31:00-04:00", + "2024-05-02T14:32:00-04:00", + "2024-05-02T14:33:00-04:00", + "2024-05-02T14:34:00-04:00", + "2024-05-02T14:35:00-04:00", + "2024-05-02T14:36:00-04:00", + "2024-05-02T14:37:00-04:00", + "2024-05-02T14:38:00-04:00", + "2024-05-02T14:39:00-04:00", + "2024-05-02T14:40:00-04:00", + "2024-05-02T14:41:00-04:00", + "2024-05-02T14:42:00-04:00", + "2024-05-02T14:43:00-04:00", + "2024-05-02T14:44:00-04:00", + "2024-05-02T14:45:00-04:00", + "2024-05-02T14:46:00-04:00", + "2024-05-02T14:47:00-04:00", + "2024-05-02T14:48:00-04:00", + "2024-05-02T14:49:00-04:00", + "2024-05-02T14:50:00-04:00", + "2024-05-02T14:51:00-04:00", + "2024-05-02T14:52:00-04:00", + "2024-05-02T14:53:00-04:00", + "2024-05-02T14:54:00-04:00", + "2024-05-02T14:55:00-04:00", + "2024-05-02T14:56:00-04:00", + "2024-05-02T14:57:00-04:00", + "2024-05-02T14:58:00-04:00", + "2024-05-02T14:59:00-04:00", + "2024-05-02T15:00:00-04:00", + "2024-05-02T15:01:00-04:00", + "2024-05-02T15:02:00-04:00", + "2024-05-02T15:03:00-04:00", + "2024-05-02T15:04:00-04:00", + "2024-05-02T15:05:00-04:00", + "2024-05-02T15:06:00-04:00", + "2024-05-02T15:07:00-04:00", + "2024-05-02T15:08:00-04:00", + "2024-05-02T15:09:00-04:00", + "2024-05-02T15:10:00-04:00", + "2024-05-02T15:11:00-04:00", + "2024-05-02T15:12:00-04:00", + "2024-05-02T15:13:00-04:00", + "2024-05-02T15:14:00-04:00", + "2024-05-02T15:15:00-04:00", + "2024-05-02T15:16:00-04:00", + "2024-05-02T15:17:00-04:00", + "2024-05-02T15:18:00-04:00", + "2024-05-02T15:19:00-04:00", + "2024-05-02T15:20:00-04:00", + "2024-05-02T15:21:00-04:00", + "2024-05-02T15:22:00-04:00", + "2024-05-02T15:23:00-04:00", + "2024-05-02T15:24:00-04:00", + "2024-05-02T15:25:00-04:00", + "2024-05-02T15:26:00-04:00", + "2024-05-02T15:27:00-04:00", + "2024-05-02T15:28:00-04:00", + "2024-05-02T15:29:00-04:00", + "2024-05-02T15:30:00-04:00", + "2024-05-02T15:31:00-04:00", + "2024-05-02T15:32:00-04:00", + "2024-05-02T15:33:00-04:00", + "2024-05-02T15:34:00-04:00", + "2024-05-02T15:35:00-04:00", + "2024-05-02T15:36:00-04:00", + "2024-05-02T15:37:00-04:00", + "2024-05-02T15:38:00-04:00", + "2024-05-02T15:39:00-04:00", + "2024-05-02T15:40:00-04:00", + "2024-05-02T15:41:00-04:00", + "2024-05-02T15:42:00-04:00", + "2024-05-02T15:43:00-04:00", + "2024-05-02T15:44:00-04:00", + "2024-05-02T15:45:00-04:00", + "2024-05-02T15:46:00-04:00", + "2024-05-02T15:47:00-04:00", + "2024-05-02T15:48:00-04:00", + "2024-05-02T15:49:00-04:00", + "2024-05-02T15:50:00-04:00", + "2024-05-02T15:51:00-04:00", + "2024-05-02T15:52:00-04:00", + "2024-05-02T15:53:00-04:00", + "2024-05-02T15:54:00-04:00", + "2024-05-02T15:55:00-04:00", + "2024-05-02T15:56:00-04:00", + "2024-05-02T15:57:00-04:00", + "2024-05-02T15:58:00-04:00", + "2024-05-02T15:59:00-04:00", + "2024-05-02T16:00:00-04:00", + "2024-05-03T09:30:00-04:00", + "2024-05-03T09:31:00-04:00", + "2024-05-03T09:32:00-04:00", + "2024-05-03T09:33:00-04:00", + "2024-05-03T09:34:00-04:00", + "2024-05-03T09:35:00-04:00", + "2024-05-03T09:36:00-04:00", + "2024-05-03T09:37:00-04:00", + "2024-05-03T09:38:00-04:00", + "2024-05-03T09:39:00-04:00", + "2024-05-03T09:40:00-04:00", + "2024-05-03T09:41:00-04:00", + "2024-05-03T09:42:00-04:00", + "2024-05-03T09:43:00-04:00", + "2024-05-03T09:44:00-04:00", + "2024-05-03T09:45:00-04:00", + "2024-05-03T09:46:00-04:00", + "2024-05-03T09:47:00-04:00", + "2024-05-03T09:48:00-04:00", + "2024-05-03T09:49:00-04:00", + "2024-05-03T09:50:00-04:00", + "2024-05-03T09:51:00-04:00", + "2024-05-03T09:52:00-04:00", + "2024-05-03T09:53:00-04:00", + "2024-05-03T09:54:00-04:00", + "2024-05-03T09:55:00-04:00", + "2024-05-03T09:56:00-04:00", + "2024-05-03T09:57:00-04:00", + "2024-05-03T09:58:00-04:00", + "2024-05-03T09:59:00-04:00", + "2024-05-03T10:00:00-04:00", + "2024-05-03T10:01:00-04:00", + "2024-05-03T10:02:00-04:00", + "2024-05-03T10:03:00-04:00", + "2024-05-03T10:04:00-04:00", + "2024-05-03T10:05:00-04:00", + "2024-05-03T10:06:00-04:00", + "2024-05-03T10:07:00-04:00", + "2024-05-03T10:08:00-04:00", + "2024-05-03T10:09:00-04:00", + "2024-05-03T10:10:00-04:00", + "2024-05-03T10:11:00-04:00", + "2024-05-03T10:12:00-04:00", + "2024-05-03T10:13:00-04:00", + "2024-05-03T10:14:00-04:00", + "2024-05-03T10:15:00-04:00", + "2024-05-03T10:16:00-04:00", + "2024-05-03T10:17:00-04:00", + "2024-05-03T10:18:00-04:00", + "2024-05-03T10:19:00-04:00", + "2024-05-03T10:20:00-04:00", + "2024-05-03T10:21:00-04:00", + "2024-05-03T10:22:00-04:00", + "2024-05-03T10:23:00-04:00", + "2024-05-03T10:24:00-04:00", + "2024-05-03T10:25:00-04:00", + "2024-05-03T10:26:00-04:00", + "2024-05-03T10:27:00-04:00", + "2024-05-03T10:28:00-04:00", + "2024-05-03T10:29:00-04:00", + "2024-05-03T10:30:00-04:00", + "2024-05-03T10:31:00-04:00", + "2024-05-03T10:32:00-04:00", + "2024-05-03T10:33:00-04:00", + "2024-05-03T10:34:00-04:00", + "2024-05-03T10:35:00-04:00", + "2024-05-03T10:36:00-04:00", + "2024-05-03T10:37:00-04:00", + "2024-05-03T10:38:00-04:00", + "2024-05-03T10:39:00-04:00", + "2024-05-03T10:40:00-04:00", + "2024-05-03T10:41:00-04:00", + "2024-05-03T10:42:00-04:00", + "2024-05-03T10:43:00-04:00", + "2024-05-03T10:44:00-04:00", + "2024-05-03T10:45:00-04:00", + "2024-05-03T10:46:00-04:00", + "2024-05-03T10:47:00-04:00", + "2024-05-03T10:48:00-04:00", + "2024-05-03T10:49:00-04:00", + "2024-05-03T10:50:00-04:00", + "2024-05-03T10:51:00-04:00", + "2024-05-03T10:52:00-04:00", + "2024-05-03T10:53:00-04:00", + "2024-05-03T10:54:00-04:00", + "2024-05-03T10:55:00-04:00", + "2024-05-03T10:56:00-04:00", + "2024-05-03T10:57:00-04:00", + "2024-05-03T10:58:00-04:00", + "2024-05-03T10:59:00-04:00", + "2024-05-03T11:00:00-04:00", + "2024-05-03T11:01:00-04:00", + "2024-05-03T11:02:00-04:00", + "2024-05-03T11:03:00-04:00", + "2024-05-03T11:04:00-04:00", + "2024-05-03T11:05:00-04:00", + "2024-05-03T11:06:00-04:00", + "2024-05-03T11:07:00-04:00", + "2024-05-03T11:08:00-04:00", + "2024-05-03T11:09:00-04:00", + "2024-05-03T11:10:00-04:00", + "2024-05-03T11:11:00-04:00", + "2024-05-03T11:12:00-04:00", + "2024-05-03T11:13:00-04:00", + "2024-05-03T11:14:00-04:00", + "2024-05-03T11:15:00-04:00", + "2024-05-03T11:16:00-04:00", + "2024-05-03T11:17:00-04:00", + "2024-05-03T11:18:00-04:00", + "2024-05-03T11:19:00-04:00", + "2024-05-03T11:20:00-04:00", + "2024-05-03T11:21:00-04:00", + "2024-05-03T11:22:00-04:00", + "2024-05-03T11:23:00-04:00", + "2024-05-03T11:24:00-04:00", + "2024-05-03T11:25:00-04:00", + "2024-05-03T11:26:00-04:00", + "2024-05-03T11:27:00-04:00", + "2024-05-03T11:28:00-04:00", + "2024-05-03T11:29:00-04:00", + "2024-05-03T11:30:00-04:00", + "2024-05-03T11:31:00-04:00", + "2024-05-03T11:32:00-04:00", + "2024-05-03T11:33:00-04:00", + "2024-05-03T11:34:00-04:00", + "2024-05-03T11:35:00-04:00", + "2024-05-03T11:36:00-04:00", + "2024-05-03T11:37:00-04:00", + "2024-05-03T11:38:00-04:00", + "2024-05-03T11:39:00-04:00", + "2024-05-03T11:40:00-04:00", + "2024-05-03T11:41:00-04:00", + "2024-05-03T11:42:00-04:00", + "2024-05-03T11:43:00-04:00", + "2024-05-03T11:44:00-04:00", + "2024-05-03T11:45:00-04:00", + "2024-05-03T11:46:00-04:00", + "2024-05-03T11:47:00-04:00", + "2024-05-03T11:48:00-04:00", + "2024-05-03T11:49:00-04:00", + "2024-05-03T11:50:00-04:00", + "2024-05-03T11:51:00-04:00", + "2024-05-03T11:52:00-04:00", + "2024-05-03T11:53:00-04:00", + "2024-05-03T11:54:00-04:00", + "2024-05-03T11:55:00-04:00", + "2024-05-03T11:56:00-04:00", + "2024-05-03T11:57:00-04:00", + "2024-05-03T11:58:00-04:00", + "2024-05-03T11:59:00-04:00", + "2024-05-03T12:00:00-04:00", + "2024-05-03T12:01:00-04:00", + "2024-05-03T12:02:00-04:00", + "2024-05-03T12:03:00-04:00", + "2024-05-03T12:04:00-04:00", + "2024-05-03T12:05:00-04:00", + "2024-05-03T12:06:00-04:00", + "2024-05-03T12:07:00-04:00", + "2024-05-03T12:08:00-04:00", + "2024-05-03T12:09:00-04:00", + "2024-05-03T12:10:00-04:00", + "2024-05-03T12:11:00-04:00", + "2024-05-03T12:12:00-04:00", + "2024-05-03T12:13:00-04:00", + "2024-05-03T12:14:00-04:00", + "2024-05-03T12:15:00-04:00", + "2024-05-03T12:16:00-04:00", + "2024-05-03T12:17:00-04:00", + "2024-05-03T12:18:00-04:00", + "2024-05-03T12:19:00-04:00", + "2024-05-03T12:20:00-04:00", + "2024-05-03T12:21:00-04:00", + "2024-05-03T12:22:00-04:00", + "2024-05-03T12:23:00-04:00", + "2024-05-03T12:24:00-04:00", + "2024-05-03T12:25:00-04:00", + "2024-05-03T12:26:00-04:00", + "2024-05-03T12:27:00-04:00", + "2024-05-03T12:28:00-04:00", + "2024-05-03T12:29:00-04:00", + "2024-05-03T12:30:00-04:00", + "2024-05-03T12:31:00-04:00", + "2024-05-03T12:32:00-04:00", + "2024-05-03T12:33:00-04:00", + "2024-05-03T12:34:00-04:00", + "2024-05-03T12:35:00-04:00", + "2024-05-03T12:36:00-04:00", + "2024-05-03T12:37:00-04:00", + "2024-05-03T12:38:00-04:00", + "2024-05-03T12:39:00-04:00", + "2024-05-03T12:40:00-04:00", + "2024-05-03T12:41:00-04:00", + "2024-05-03T12:42:00-04:00", + "2024-05-03T12:43:00-04:00", + "2024-05-03T12:44:00-04:00", + "2024-05-03T12:45:00-04:00", + "2024-05-03T12:46:00-04:00", + "2024-05-03T12:47:00-04:00", + "2024-05-03T12:48:00-04:00", + "2024-05-03T12:49:00-04:00", + "2024-05-03T12:50:00-04:00", + "2024-05-03T12:51:00-04:00", + "2024-05-03T12:52:00-04:00", + "2024-05-03T12:53:00-04:00", + "2024-05-03T12:54:00-04:00", + "2024-05-03T12:55:00-04:00", + "2024-05-03T12:56:00-04:00", + "2024-05-03T12:57:00-04:00", + "2024-05-03T12:58:00-04:00", + "2024-05-03T12:59:00-04:00", + "2024-05-03T13:00:00-04:00", + "2024-05-03T13:01:00-04:00", + "2024-05-03T13:02:00-04:00", + "2024-05-03T13:03:00-04:00", + "2024-05-03T13:04:00-04:00", + "2024-05-03T13:05:00-04:00", + "2024-05-03T13:06:00-04:00", + "2024-05-03T13:07:00-04:00", + "2024-05-03T13:08:00-04:00", + "2024-05-03T13:09:00-04:00", + "2024-05-03T13:10:00-04:00", + "2024-05-03T13:11:00-04:00", + "2024-05-03T13:12:00-04:00", + "2024-05-03T13:13:00-04:00", + "2024-05-03T13:14:00-04:00", + "2024-05-03T13:15:00-04:00", + "2024-05-03T13:16:00-04:00", + "2024-05-03T13:17:00-04:00", + "2024-05-03T13:18:00-04:00", + "2024-05-03T13:19:00-04:00", + "2024-05-03T13:20:00-04:00", + "2024-05-03T13:21:00-04:00", + "2024-05-03T13:22:00-04:00", + "2024-05-03T13:23:00-04:00", + "2024-05-03T13:24:00-04:00", + "2024-05-03T13:25:00-04:00", + "2024-05-03T13:26:00-04:00", + "2024-05-03T13:27:00-04:00", + "2024-05-03T13:28:00-04:00", + "2024-05-03T13:29:00-04:00", + "2024-05-03T13:30:00-04:00", + "2024-05-03T13:31:00-04:00", + "2024-05-03T13:32:00-04:00", + "2024-05-03T13:33:00-04:00", + "2024-05-03T13:34:00-04:00", + "2024-05-03T13:35:00-04:00", + "2024-05-03T13:36:00-04:00", + "2024-05-03T13:37:00-04:00", + "2024-05-03T13:38:00-04:00", + "2024-05-03T13:39:00-04:00", + "2024-05-03T13:40:00-04:00", + "2024-05-03T13:41:00-04:00", + "2024-05-03T13:42:00-04:00", + "2024-05-03T13:43:00-04:00", + "2024-05-03T13:44:00-04:00", + "2024-05-03T13:45:00-04:00", + "2024-05-03T13:46:00-04:00", + "2024-05-03T13:47:00-04:00", + "2024-05-03T13:48:00-04:00", + "2024-05-03T13:49:00-04:00", + "2024-05-03T13:50:00-04:00", + "2024-05-03T13:51:00-04:00", + "2024-05-03T13:52:00-04:00", + "2024-05-03T13:53:00-04:00", + "2024-05-03T13:54:00-04:00", + "2024-05-03T13:55:00-04:00", + "2024-05-03T13:56:00-04:00", + "2024-05-03T13:57:00-04:00", + "2024-05-03T13:58:00-04:00", + "2024-05-03T13:59:00-04:00", + "2024-05-03T14:00:00-04:00", + "2024-05-03T14:01:00-04:00", + "2024-05-03T14:02:00-04:00", + "2024-05-03T14:03:00-04:00", + "2024-05-03T14:04:00-04:00", + "2024-05-03T14:05:00-04:00", + "2024-05-03T14:06:00-04:00", + "2024-05-03T14:07:00-04:00", + "2024-05-03T14:08:00-04:00", + "2024-05-03T14:09:00-04:00", + "2024-05-03T14:10:00-04:00", + "2024-05-03T14:11:00-04:00", + "2024-05-03T14:12:00-04:00", + "2024-05-03T14:13:00-04:00", + "2024-05-03T14:14:00-04:00", + "2024-05-03T14:15:00-04:00", + "2024-05-03T14:16:00-04:00", + "2024-05-03T14:17:00-04:00", + "2024-05-03T14:18:00-04:00", + "2024-05-03T14:19:00-04:00", + "2024-05-03T14:20:00-04:00", + "2024-05-03T14:21:00-04:00", + "2024-05-03T14:22:00-04:00", + "2024-05-03T14:23:00-04:00", + "2024-05-03T14:24:00-04:00", + "2024-05-03T14:25:00-04:00", + "2024-05-03T14:26:00-04:00", + "2024-05-03T14:27:00-04:00", + "2024-05-03T14:28:00-04:00", + "2024-05-03T14:29:00-04:00", + "2024-05-03T14:30:00-04:00", + "2024-05-03T14:31:00-04:00", + "2024-05-03T14:32:00-04:00", + "2024-05-03T14:33:00-04:00", + "2024-05-03T14:34:00-04:00", + "2024-05-03T14:35:00-04:00", + "2024-05-03T14:36:00-04:00", + "2024-05-03T14:37:00-04:00", + "2024-05-03T14:38:00-04:00", + "2024-05-03T14:39:00-04:00", + "2024-05-03T14:40:00-04:00", + "2024-05-03T14:41:00-04:00", + "2024-05-03T14:42:00-04:00", + "2024-05-03T14:43:00-04:00", + "2024-05-03T14:44:00-04:00", + "2024-05-03T14:45:00-04:00", + "2024-05-03T14:46:00-04:00", + "2024-05-03T14:47:00-04:00", + "2024-05-03T14:48:00-04:00", + "2024-05-03T14:49:00-04:00", + "2024-05-03T14:50:00-04:00", + "2024-05-03T14:51:00-04:00", + "2024-05-03T14:52:00-04:00", + "2024-05-03T14:53:00-04:00", + "2024-05-03T14:54:00-04:00", + "2024-05-03T14:55:00-04:00", + "2024-05-03T14:56:00-04:00", + "2024-05-03T14:57:00-04:00", + "2024-05-03T14:58:00-04:00", + "2024-05-03T14:59:00-04:00", + "2024-05-03T15:00:00-04:00", + "2024-05-03T15:01:00-04:00", + "2024-05-03T15:02:00-04:00", + "2024-05-03T15:03:00-04:00", + "2024-05-03T15:04:00-04:00", + "2024-05-03T15:05:00-04:00", + "2024-05-03T15:06:00-04:00", + "2024-05-03T15:07:00-04:00", + "2024-05-03T15:08:00-04:00", + "2024-05-03T15:09:00-04:00", + "2024-05-03T15:10:00-04:00", + "2024-05-03T15:11:00-04:00", + "2024-05-03T15:12:00-04:00", + "2024-05-03T15:13:00-04:00", + "2024-05-03T15:14:00-04:00", + "2024-05-03T15:15:00-04:00", + "2024-05-03T15:16:00-04:00", + "2024-05-03T15:17:00-04:00", + "2024-05-03T15:18:00-04:00", + "2024-05-03T15:19:00-04:00", + "2024-05-03T15:20:00-04:00", + "2024-05-03T15:21:00-04:00", + "2024-05-03T15:22:00-04:00", + "2024-05-03T15:23:00-04:00", + "2024-05-03T15:24:00-04:00", + "2024-05-03T15:25:00-04:00", + "2024-05-03T15:26:00-04:00", + "2024-05-03T15:27:00-04:00", + "2024-05-03T15:28:00-04:00", + "2024-05-03T15:29:00-04:00", + "2024-05-03T15:30:00-04:00", + "2024-05-03T15:31:00-04:00", + "2024-05-03T15:32:00-04:00", + "2024-05-03T15:33:00-04:00", + "2024-05-03T15:34:00-04:00", + "2024-05-03T15:35:00-04:00", + "2024-05-03T15:36:00-04:00", + "2024-05-03T15:37:00-04:00", + "2024-05-03T15:38:00-04:00", + "2024-05-03T15:39:00-04:00", + "2024-05-03T15:40:00-04:00", + "2024-05-03T15:41:00-04:00", + "2024-05-03T15:42:00-04:00", + "2024-05-03T15:43:00-04:00", + "2024-05-03T15:44:00-04:00", + "2024-05-03T15:45:00-04:00", + "2024-05-03T15:46:00-04:00", + "2024-05-03T15:47:00-04:00", + "2024-05-03T15:48:00-04:00", + "2024-05-03T15:49:00-04:00", + "2024-05-03T15:50:00-04:00", + "2024-05-03T15:51:00-04:00", + "2024-05-03T15:52:00-04:00", + "2024-05-03T15:53:00-04:00", + "2024-05-03T15:54:00-04:00", + "2024-05-03T15:55:00-04:00", + "2024-05-03T15:56:00-04:00", + "2024-05-03T15:57:00-04:00", + "2024-05-03T15:58:00-04:00", + "2024-05-03T15:59:00-04:00", + "2024-05-03T16:00:00-04:00", + "2024-05-06T09:30:00-04:00", + "2024-05-06T09:31:00-04:00", + "2024-05-06T09:32:00-04:00", + "2024-05-06T09:33:00-04:00", + "2024-05-06T09:34:00-04:00", + "2024-05-06T09:35:00-04:00", + "2024-05-06T09:36:00-04:00", + "2024-05-06T09:37:00-04:00", + "2024-05-06T09:38:00-04:00", + "2024-05-06T09:39:00-04:00", + "2024-05-06T09:40:00-04:00", + "2024-05-06T09:41:00-04:00", + "2024-05-06T09:42:00-04:00", + "2024-05-06T09:43:00-04:00", + "2024-05-06T09:44:00-04:00", + "2024-05-06T09:45:00-04:00", + "2024-05-06T09:46:00-04:00", + "2024-05-06T09:47:00-04:00", + "2024-05-06T09:48:00-04:00", + "2024-05-06T09:49:00-04:00", + "2024-05-06T09:50:00-04:00", + "2024-05-06T09:51:00-04:00", + "2024-05-06T09:52:00-04:00", + "2024-05-06T09:53:00-04:00", + "2024-05-06T09:54:00-04:00", + "2024-05-06T09:55:00-04:00", + "2024-05-06T09:56:00-04:00", + "2024-05-06T09:57:00-04:00", + "2024-05-06T09:58:00-04:00", + "2024-05-06T09:59:00-04:00", + "2024-05-06T10:00:00-04:00", + "2024-05-06T10:01:00-04:00", + "2024-05-06T10:02:00-04:00", + "2024-05-06T10:03:00-04:00", + "2024-05-06T10:04:00-04:00", + "2024-05-06T10:05:00-04:00", + "2024-05-06T10:06:00-04:00", + "2024-05-06T10:07:00-04:00", + "2024-05-06T10:08:00-04:00", + "2024-05-06T10:09:00-04:00", + "2024-05-06T10:10:00-04:00", + "2024-05-06T10:11:00-04:00", + "2024-05-06T10:12:00-04:00", + "2024-05-06T10:13:00-04:00", + "2024-05-06T10:14:00-04:00", + "2024-05-06T10:15:00-04:00", + "2024-05-06T10:16:00-04:00", + "2024-05-06T10:17:00-04:00", + "2024-05-06T10:18:00-04:00", + "2024-05-06T10:19:00-04:00", + "2024-05-06T10:20:00-04:00", + "2024-05-06T10:21:00-04:00", + "2024-05-06T10:22:00-04:00", + "2024-05-06T10:23:00-04:00", + "2024-05-06T10:24:00-04:00", + "2024-05-06T10:25:00-04:00", + "2024-05-06T10:26:00-04:00", + "2024-05-06T10:27:00-04:00", + "2024-05-06T10:28:00-04:00", + "2024-05-06T10:29:00-04:00", + "2024-05-06T10:30:00-04:00", + "2024-05-06T10:31:00-04:00", + "2024-05-06T10:32:00-04:00", + "2024-05-06T10:33:00-04:00", + "2024-05-06T10:34:00-04:00", + "2024-05-06T10:35:00-04:00", + "2024-05-06T10:36:00-04:00", + "2024-05-06T10:37:00-04:00", + "2024-05-06T10:38:00-04:00", + "2024-05-06T10:39:00-04:00", + "2024-05-06T10:40:00-04:00", + "2024-05-06T10:41:00-04:00", + "2024-05-06T10:42:00-04:00", + "2024-05-06T10:43:00-04:00", + "2024-05-06T10:44:00-04:00", + "2024-05-06T10:45:00-04:00", + "2024-05-06T10:46:00-04:00", + "2024-05-06T10:47:00-04:00", + "2024-05-06T10:48:00-04:00", + "2024-05-06T10:49:00-04:00", + "2024-05-06T10:50:00-04:00", + "2024-05-06T10:51:00-04:00", + "2024-05-06T10:52:00-04:00", + "2024-05-06T10:53:00-04:00", + "2024-05-06T10:54:00-04:00", + "2024-05-06T10:55:00-04:00", + "2024-05-06T10:56:00-04:00", + "2024-05-06T10:57:00-04:00", + "2024-05-06T10:58:00-04:00", + "2024-05-06T10:59:00-04:00", + "2024-05-06T11:00:00-04:00", + "2024-05-06T11:01:00-04:00", + "2024-05-06T11:02:00-04:00", + "2024-05-06T11:03:00-04:00", + "2024-05-06T11:04:00-04:00", + "2024-05-06T11:05:00-04:00", + "2024-05-06T11:06:00-04:00", + "2024-05-06T11:07:00-04:00", + "2024-05-06T11:08:00-04:00", + "2024-05-06T11:09:00-04:00", + "2024-05-06T11:10:00-04:00", + "2024-05-06T11:11:00-04:00", + "2024-05-06T11:12:00-04:00", + "2024-05-06T11:13:00-04:00", + "2024-05-06T11:14:00-04:00", + "2024-05-06T11:15:00-04:00", + "2024-05-06T11:16:00-04:00", + "2024-05-06T11:17:00-04:00", + "2024-05-06T11:18:00-04:00", + "2024-05-06T11:19:00-04:00", + "2024-05-06T11:20:00-04:00", + "2024-05-06T11:21:00-04:00", + "2024-05-06T11:22:00-04:00", + "2024-05-06T11:23:00-04:00", + "2024-05-06T11:24:00-04:00", + "2024-05-06T11:25:00-04:00", + "2024-05-06T11:26:00-04:00", + "2024-05-06T11:27:00-04:00", + "2024-05-06T11:28:00-04:00", + "2024-05-06T11:29:00-04:00", + "2024-05-06T11:30:00-04:00", + "2024-05-06T11:31:00-04:00", + "2024-05-06T11:32:00-04:00", + "2024-05-06T11:33:00-04:00", + "2024-05-06T11:34:00-04:00", + "2024-05-06T11:35:00-04:00", + "2024-05-06T11:36:00-04:00", + "2024-05-06T11:37:00-04:00" + ], + "xaxis": "x", + "yaxis": "y" + }, + { + "marker": { + "color": [ + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#7f7f7f", + "#7f7f7f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#7f7f7f", + "#ee534f", + "#7f7f7f", + "#7f7f7f", + "#7f7f7f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#7f7f7f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#7f7f7f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#7f7f7f", + "#26a69a", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#7f7f7f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#ee534f", + "#ee534f", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a", + "#26a69a", + "#ee534f", + "#26a69a" + ], + "line": { + "width": 0 + } + }, + "name": "Volume", + "opacity": 0.5, + "type": "bar", + "uid": "710f5f26-7186-4056-b683-2851e0631500", + "x": [ + "2024-04-29T09:30:00-04:00", + "2024-04-29T09:31:00-04:00", + "2024-04-29T09:32:00-04:00", + "2024-04-29T09:33:00-04:00", + "2024-04-29T09:34:00-04:00", + "2024-04-29T09:35:00-04:00", + "2024-04-29T09:36:00-04:00", + "2024-04-29T09:37:00-04:00", + "2024-04-29T09:38:00-04:00", + "2024-04-29T09:39:00-04:00", + "2024-04-29T09:40:00-04:00", + "2024-04-29T09:41:00-04:00", + "2024-04-29T09:42:00-04:00", + "2024-04-29T09:43:00-04:00", + "2024-04-29T09:44:00-04:00", + "2024-04-29T09:45:00-04:00", + "2024-04-29T09:46:00-04:00", + "2024-04-29T09:47:00-04:00", + "2024-04-29T09:48:00-04:00", + "2024-04-29T09:49:00-04:00", + "2024-04-29T09:50:00-04:00", + "2024-04-29T09:51:00-04:00", + "2024-04-29T09:52:00-04:00", + "2024-04-29T09:53:00-04:00", + "2024-04-29T09:54:00-04:00", + "2024-04-29T09:55:00-04:00", + "2024-04-29T09:56:00-04:00", + "2024-04-29T09:57:00-04:00", + "2024-04-29T09:58:00-04:00", + "2024-04-29T09:59:00-04:00", + "2024-04-29T10:00:00-04:00", + "2024-04-29T10:01:00-04:00", + "2024-04-29T10:02:00-04:00", + "2024-04-29T10:03:00-04:00", + "2024-04-29T10:04:00-04:00", + "2024-04-29T10:05:00-04:00", + "2024-04-29T10:06:00-04:00", + "2024-04-29T10:07:00-04:00", + "2024-04-29T10:08:00-04:00", + "2024-04-29T10:09:00-04:00", + "2024-04-29T10:10:00-04:00", + "2024-04-29T10:11:00-04:00", + "2024-04-29T10:12:00-04:00", + "2024-04-29T10:13:00-04:00", + "2024-04-29T10:14:00-04:00", + "2024-04-29T10:15:00-04:00", + "2024-04-29T10:16:00-04:00", + "2024-04-29T10:17:00-04:00", + "2024-04-29T10:18:00-04:00", + "2024-04-29T10:19:00-04:00", + "2024-04-29T10:20:00-04:00", + "2024-04-29T10:21:00-04:00", + "2024-04-29T10:22:00-04:00", + "2024-04-29T10:23:00-04:00", + "2024-04-29T10:24:00-04:00", + "2024-04-29T10:25:00-04:00", + "2024-04-29T10:26:00-04:00", + "2024-04-29T10:27:00-04:00", + "2024-04-29T10:28:00-04:00", + "2024-04-29T10:29:00-04:00", + "2024-04-29T10:30:00-04:00", + "2024-04-29T10:31:00-04:00", + "2024-04-29T10:32:00-04:00", + "2024-04-29T10:33:00-04:00", + "2024-04-29T10:34:00-04:00", + "2024-04-29T10:35:00-04:00", + "2024-04-29T10:36:00-04:00", + "2024-04-29T10:37:00-04:00", + "2024-04-29T10:38:00-04:00", + "2024-04-29T10:39:00-04:00", + "2024-04-29T10:40:00-04:00", + "2024-04-29T10:41:00-04:00", + "2024-04-29T10:42:00-04:00", + "2024-04-29T10:43:00-04:00", + "2024-04-29T10:44:00-04:00", + "2024-04-29T10:45:00-04:00", + "2024-04-29T10:46:00-04:00", + "2024-04-29T10:47:00-04:00", + "2024-04-29T10:48:00-04:00", + "2024-04-29T10:49:00-04:00", + "2024-04-29T10:50:00-04:00", + "2024-04-29T10:51:00-04:00", + "2024-04-29T10:52:00-04:00", + "2024-04-29T10:53:00-04:00", + "2024-04-29T10:54:00-04:00", + "2024-04-29T10:55:00-04:00", + "2024-04-29T10:56:00-04:00", + "2024-04-29T10:57:00-04:00", + "2024-04-29T10:58:00-04:00", + "2024-04-29T10:59:00-04:00", + "2024-04-29T11:00:00-04:00", + "2024-04-29T11:01:00-04:00", + "2024-04-29T11:02:00-04:00", + "2024-04-29T11:03:00-04:00", + "2024-04-29T11:04:00-04:00", + "2024-04-29T11:05:00-04:00", + "2024-04-29T11:06:00-04:00", + "2024-04-29T11:07:00-04:00", + "2024-04-29T11:08:00-04:00", + "2024-04-29T11:09:00-04:00", + "2024-04-29T11:10:00-04:00", + "2024-04-29T11:11:00-04:00", + "2024-04-29T11:12:00-04:00", + "2024-04-29T11:13:00-04:00", + "2024-04-29T11:14:00-04:00", + "2024-04-29T11:15:00-04:00", + "2024-04-29T11:16:00-04:00", + "2024-04-29T11:17:00-04:00", + "2024-04-29T11:18:00-04:00", + "2024-04-29T11:19:00-04:00", + "2024-04-29T11:20:00-04:00", + "2024-04-29T11:21:00-04:00", + "2024-04-29T11:22:00-04:00", + "2024-04-29T11:23:00-04:00", + "2024-04-29T11:24:00-04:00", + "2024-04-29T11:25:00-04:00", + "2024-04-29T11:26:00-04:00", + "2024-04-29T11:27:00-04:00", + "2024-04-29T11:28:00-04:00", + "2024-04-29T11:29:00-04:00", + "2024-04-29T11:30:00-04:00", + "2024-04-29T11:31:00-04:00", + "2024-04-29T11:32:00-04:00", + "2024-04-29T11:33:00-04:00", + "2024-04-29T11:34:00-04:00", + "2024-04-29T11:35:00-04:00", + "2024-04-29T11:36:00-04:00", + "2024-04-29T11:37:00-04:00", + "2024-04-29T11:38:00-04:00", + "2024-04-29T11:39:00-04:00", + "2024-04-29T11:40:00-04:00", + "2024-04-29T11:41:00-04:00", + "2024-04-29T11:42:00-04:00", + "2024-04-29T11:43:00-04:00", + "2024-04-29T11:44:00-04:00", + "2024-04-29T11:45:00-04:00", + "2024-04-29T11:46:00-04:00", + "2024-04-29T11:47:00-04:00", + "2024-04-29T11:48:00-04:00", + "2024-04-29T11:49:00-04:00", + "2024-04-29T11:50:00-04:00", + "2024-04-29T11:51:00-04:00", + "2024-04-29T11:52:00-04:00", + "2024-04-29T11:53:00-04:00", + "2024-04-29T11:54:00-04:00", + "2024-04-29T11:55:00-04:00", + "2024-04-29T11:56:00-04:00", + "2024-04-29T11:57:00-04:00", + "2024-04-29T11:58:00-04:00", + "2024-04-29T11:59:00-04:00", + "2024-04-29T12:00:00-04:00", + "2024-04-29T12:01:00-04:00", + "2024-04-29T12:02:00-04:00", + "2024-04-29T12:03:00-04:00", + "2024-04-29T12:04:00-04:00", + "2024-04-29T12:05:00-04:00", + "2024-04-29T12:06:00-04:00", + "2024-04-29T12:07:00-04:00", + "2024-04-29T12:08:00-04:00", + "2024-04-29T12:09:00-04:00", + "2024-04-29T12:10:00-04:00", + "2024-04-29T12:11:00-04:00", + "2024-04-29T12:12:00-04:00", + "2024-04-29T12:13:00-04:00", + "2024-04-29T12:14:00-04:00", + "2024-04-29T12:15:00-04:00", + "2024-04-29T12:16:00-04:00", + "2024-04-29T12:17:00-04:00", + "2024-04-29T12:18:00-04:00", + "2024-04-29T12:19:00-04:00", + "2024-04-29T12:20:00-04:00", + "2024-04-29T12:21:00-04:00", + "2024-04-29T12:22:00-04:00", + "2024-04-29T12:23:00-04:00", + "2024-04-29T12:24:00-04:00", + "2024-04-29T12:25:00-04:00", + "2024-04-29T12:26:00-04:00", + "2024-04-29T12:27:00-04:00", + "2024-04-29T12:28:00-04:00", + "2024-04-29T12:29:00-04:00", + "2024-04-29T12:30:00-04:00", + "2024-04-29T12:31:00-04:00", + "2024-04-29T12:32:00-04:00", + "2024-04-29T12:33:00-04:00", + "2024-04-29T12:34:00-04:00", + "2024-04-29T12:35:00-04:00", + "2024-04-29T12:36:00-04:00", + "2024-04-29T12:37:00-04:00", + "2024-04-29T12:38:00-04:00", + "2024-04-29T12:39:00-04:00", + "2024-04-29T12:40:00-04:00", + "2024-04-29T12:41:00-04:00", + "2024-04-29T12:42:00-04:00", + "2024-04-29T12:43:00-04:00", + "2024-04-29T12:44:00-04:00", + "2024-04-29T12:45:00-04:00", + "2024-04-29T12:46:00-04:00", + "2024-04-29T12:47:00-04:00", + "2024-04-29T12:48:00-04:00", + "2024-04-29T12:49:00-04:00", + "2024-04-29T12:50:00-04:00", + "2024-04-29T12:51:00-04:00", + "2024-04-29T12:52:00-04:00", + "2024-04-29T12:53:00-04:00", + "2024-04-29T12:54:00-04:00", + "2024-04-29T12:55:00-04:00", + "2024-04-29T12:56:00-04:00", + "2024-04-29T12:57:00-04:00", + "2024-04-29T12:58:00-04:00", + "2024-04-29T12:59:00-04:00", + "2024-04-29T13:00:00-04:00", + "2024-04-29T13:01:00-04:00", + "2024-04-29T13:02:00-04:00", + "2024-04-29T13:03:00-04:00", + "2024-04-29T13:04:00-04:00", + "2024-04-29T13:05:00-04:00", + "2024-04-29T13:06:00-04:00", + "2024-04-29T13:07:00-04:00", + "2024-04-29T13:08:00-04:00", + "2024-04-29T13:09:00-04:00", + "2024-04-29T13:10:00-04:00", + "2024-04-29T13:11:00-04:00", + "2024-04-29T13:12:00-04:00", + "2024-04-29T13:13:00-04:00", + "2024-04-29T13:14:00-04:00", + "2024-04-29T13:15:00-04:00", + "2024-04-29T13:16:00-04:00", + "2024-04-29T13:17:00-04:00", + "2024-04-29T13:18:00-04:00", + "2024-04-29T13:19:00-04:00", + "2024-04-29T13:20:00-04:00", + "2024-04-29T13:21:00-04:00", + "2024-04-29T13:22:00-04:00", + "2024-04-29T13:23:00-04:00", + "2024-04-29T13:24:00-04:00", + "2024-04-29T13:25:00-04:00", + "2024-04-29T13:26:00-04:00", + "2024-04-29T13:27:00-04:00", + "2024-04-29T13:28:00-04:00", + "2024-04-29T13:29:00-04:00", + "2024-04-29T13:30:00-04:00", + "2024-04-29T13:31:00-04:00", + "2024-04-29T13:32:00-04:00", + "2024-04-29T13:33:00-04:00", + "2024-04-29T13:34:00-04:00", + "2024-04-29T13:35:00-04:00", + "2024-04-29T13:36:00-04:00", + "2024-04-29T13:37:00-04:00", + "2024-04-29T13:38:00-04:00", + "2024-04-29T13:39:00-04:00", + "2024-04-29T13:40:00-04:00", + "2024-04-29T13:41:00-04:00", + "2024-04-29T13:42:00-04:00", + "2024-04-29T13:43:00-04:00", + "2024-04-29T13:44:00-04:00", + "2024-04-29T13:45:00-04:00", + "2024-04-29T13:46:00-04:00", + "2024-04-29T13:47:00-04:00", + "2024-04-29T13:48:00-04:00", + "2024-04-29T13:49:00-04:00", + "2024-04-29T13:50:00-04:00", + "2024-04-29T13:51:00-04:00", + "2024-04-29T13:52:00-04:00", + "2024-04-29T13:53:00-04:00", + "2024-04-29T13:54:00-04:00", + "2024-04-29T13:55:00-04:00", + "2024-04-29T13:56:00-04:00", + "2024-04-29T13:57:00-04:00", + "2024-04-29T13:58:00-04:00", + "2024-04-29T13:59:00-04:00", + "2024-04-29T14:00:00-04:00", + "2024-04-29T14:01:00-04:00", + "2024-04-29T14:02:00-04:00", + "2024-04-29T14:03:00-04:00", + "2024-04-29T14:04:00-04:00", + "2024-04-29T14:05:00-04:00", + "2024-04-29T14:06:00-04:00", + "2024-04-29T14:07:00-04:00", + "2024-04-29T14:08:00-04:00", + "2024-04-29T14:09:00-04:00", + "2024-04-29T14:10:00-04:00", + "2024-04-29T14:11:00-04:00", + "2024-04-29T14:12:00-04:00", + "2024-04-29T14:13:00-04:00", + "2024-04-29T14:14:00-04:00", + "2024-04-29T14:15:00-04:00", + "2024-04-29T14:16:00-04:00", + "2024-04-29T14:17:00-04:00", + "2024-04-29T14:18:00-04:00", + "2024-04-29T14:19:00-04:00", + "2024-04-29T14:20:00-04:00", + "2024-04-29T14:21:00-04:00", + "2024-04-29T14:22:00-04:00", + "2024-04-29T14:23:00-04:00", + "2024-04-29T14:24:00-04:00", + "2024-04-29T14:25:00-04:00", + "2024-04-29T14:26:00-04:00", + "2024-04-29T14:27:00-04:00", + "2024-04-29T14:28:00-04:00", + "2024-04-29T14:29:00-04:00", + "2024-04-29T14:30:00-04:00", + "2024-04-29T14:31:00-04:00", + "2024-04-29T14:32:00-04:00", + "2024-04-29T14:33:00-04:00", + "2024-04-29T14:34:00-04:00", + "2024-04-29T14:35:00-04:00", + "2024-04-29T14:36:00-04:00", + "2024-04-29T14:37:00-04:00", + "2024-04-29T14:38:00-04:00", + "2024-04-29T14:39:00-04:00", + "2024-04-29T14:40:00-04:00", + "2024-04-29T14:41:00-04:00", + "2024-04-29T14:42:00-04:00", + "2024-04-29T14:43:00-04:00", + "2024-04-29T14:44:00-04:00", + "2024-04-29T14:45:00-04:00", + "2024-04-29T14:46:00-04:00", + "2024-04-29T14:47:00-04:00", + "2024-04-29T14:48:00-04:00", + "2024-04-29T14:49:00-04:00", + "2024-04-29T14:50:00-04:00", + "2024-04-29T14:51:00-04:00", + "2024-04-29T14:52:00-04:00", + "2024-04-29T14:53:00-04:00", + "2024-04-29T14:54:00-04:00", + "2024-04-29T14:55:00-04:00", + "2024-04-29T14:56:00-04:00", + "2024-04-29T14:57:00-04:00", + "2024-04-29T14:58:00-04:00", + "2024-04-29T14:59:00-04:00", + "2024-04-29T15:00:00-04:00", + "2024-04-29T15:01:00-04:00", + "2024-04-29T15:02:00-04:00", + "2024-04-29T15:03:00-04:00", + "2024-04-29T15:04:00-04:00", + "2024-04-29T15:05:00-04:00", + "2024-04-29T15:06:00-04:00", + "2024-04-29T15:07:00-04:00", + "2024-04-29T15:08:00-04:00", + "2024-04-29T15:09:00-04:00", + "2024-04-29T15:10:00-04:00", + "2024-04-29T15:11:00-04:00", + "2024-04-29T15:12:00-04:00", + "2024-04-29T15:13:00-04:00", + "2024-04-29T15:14:00-04:00", + "2024-04-29T15:15:00-04:00", + "2024-04-29T15:16:00-04:00", + "2024-04-29T15:17:00-04:00", + "2024-04-29T15:18:00-04:00", + "2024-04-29T15:19:00-04:00", + "2024-04-29T15:20:00-04:00", + "2024-04-29T15:21:00-04:00", + "2024-04-29T15:22:00-04:00", + "2024-04-29T15:23:00-04:00", + "2024-04-29T15:24:00-04:00", + "2024-04-29T15:25:00-04:00", + "2024-04-29T15:26:00-04:00", + "2024-04-29T15:27:00-04:00", + "2024-04-29T15:28:00-04:00", + "2024-04-29T15:29:00-04:00", + "2024-04-29T15:30:00-04:00", + "2024-04-29T15:31:00-04:00", + "2024-04-29T15:32:00-04:00", + "2024-04-29T15:33:00-04:00", + "2024-04-29T15:34:00-04:00", + "2024-04-29T15:35:00-04:00", + "2024-04-29T15:36:00-04:00", + "2024-04-29T15:37:00-04:00", + "2024-04-29T15:38:00-04:00", + "2024-04-29T15:39:00-04:00", + "2024-04-29T15:40:00-04:00", + "2024-04-29T15:41:00-04:00", + "2024-04-29T15:42:00-04:00", + "2024-04-29T15:43:00-04:00", + "2024-04-29T15:44:00-04:00", + "2024-04-29T15:45:00-04:00", + "2024-04-29T15:46:00-04:00", + "2024-04-29T15:47:00-04:00", + "2024-04-29T15:48:00-04:00", + "2024-04-29T15:49:00-04:00", + "2024-04-29T15:50:00-04:00", + "2024-04-29T15:51:00-04:00", + "2024-04-29T15:52:00-04:00", + "2024-04-29T15:53:00-04:00", + "2024-04-29T15:54:00-04:00", + "2024-04-29T15:55:00-04:00", + "2024-04-29T15:56:00-04:00", + "2024-04-29T15:57:00-04:00", + "2024-04-29T15:58:00-04:00", + "2024-04-29T15:59:00-04:00", + "2024-04-29T16:00:00-04:00", + "2024-04-30T09:30:00-04:00", + "2024-04-30T09:31:00-04:00", + "2024-04-30T09:32:00-04:00", + "2024-04-30T09:33:00-04:00", + "2024-04-30T09:34:00-04:00", + "2024-04-30T09:35:00-04:00", + "2024-04-30T09:36:00-04:00", + "2024-04-30T09:37:00-04:00", + "2024-04-30T09:38:00-04:00", + "2024-04-30T09:39:00-04:00", + "2024-04-30T09:40:00-04:00", + "2024-04-30T09:41:00-04:00", + "2024-04-30T09:42:00-04:00", + "2024-04-30T09:43:00-04:00", + "2024-04-30T09:44:00-04:00", + "2024-04-30T09:45:00-04:00", + "2024-04-30T09:46:00-04:00", + "2024-04-30T09:47:00-04:00", + "2024-04-30T09:48:00-04:00", + "2024-04-30T09:49:00-04:00", + "2024-04-30T09:50:00-04:00", + "2024-04-30T09:51:00-04:00", + "2024-04-30T09:52:00-04:00", + "2024-04-30T09:53:00-04:00", + "2024-04-30T09:54:00-04:00", + "2024-04-30T09:55:00-04:00", + "2024-04-30T09:56:00-04:00", + "2024-04-30T09:57:00-04:00", + "2024-04-30T09:58:00-04:00", + "2024-04-30T09:59:00-04:00", + "2024-04-30T10:00:00-04:00", + "2024-04-30T10:01:00-04:00", + "2024-04-30T10:02:00-04:00", + "2024-04-30T10:03:00-04:00", + "2024-04-30T10:04:00-04:00", + "2024-04-30T10:05:00-04:00", + "2024-04-30T10:06:00-04:00", + "2024-04-30T10:07:00-04:00", + "2024-04-30T10:08:00-04:00", + "2024-04-30T10:09:00-04:00", + "2024-04-30T10:10:00-04:00", + "2024-04-30T10:11:00-04:00", + "2024-04-30T10:12:00-04:00", + "2024-04-30T10:13:00-04:00", + "2024-04-30T10:14:00-04:00", + "2024-04-30T10:15:00-04:00", + "2024-04-30T10:16:00-04:00", + "2024-04-30T10:17:00-04:00", + "2024-04-30T10:18:00-04:00", + "2024-04-30T10:19:00-04:00", + "2024-04-30T10:20:00-04:00", + "2024-04-30T10:21:00-04:00", + "2024-04-30T10:22:00-04:00", + "2024-04-30T10:23:00-04:00", + "2024-04-30T10:24:00-04:00", + "2024-04-30T10:25:00-04:00", + "2024-04-30T10:26:00-04:00", + "2024-04-30T10:27:00-04:00", + "2024-04-30T10:28:00-04:00", + "2024-04-30T10:29:00-04:00", + "2024-04-30T10:30:00-04:00", + "2024-04-30T10:31:00-04:00", + "2024-04-30T10:32:00-04:00", + "2024-04-30T10:33:00-04:00", + "2024-04-30T10:34:00-04:00", + "2024-04-30T10:35:00-04:00", + "2024-04-30T10:36:00-04:00", + "2024-04-30T10:37:00-04:00", + "2024-04-30T10:38:00-04:00", + "2024-04-30T10:39:00-04:00", + "2024-04-30T10:40:00-04:00", + "2024-04-30T10:41:00-04:00", + "2024-04-30T10:42:00-04:00", + "2024-04-30T10:43:00-04:00", + "2024-04-30T10:44:00-04:00", + "2024-04-30T10:45:00-04:00", + "2024-04-30T10:46:00-04:00", + "2024-04-30T10:47:00-04:00", + "2024-04-30T10:48:00-04:00", + "2024-04-30T10:49:00-04:00", + "2024-04-30T10:50:00-04:00", + "2024-04-30T10:51:00-04:00", + "2024-04-30T10:52:00-04:00", + "2024-04-30T10:53:00-04:00", + "2024-04-30T10:54:00-04:00", + "2024-04-30T10:55:00-04:00", + "2024-04-30T10:56:00-04:00", + "2024-04-30T10:57:00-04:00", + "2024-04-30T10:58:00-04:00", + "2024-04-30T10:59:00-04:00", + "2024-04-30T11:00:00-04:00", + "2024-04-30T11:01:00-04:00", + "2024-04-30T11:02:00-04:00", + "2024-04-30T11:03:00-04:00", + "2024-04-30T11:04:00-04:00", + "2024-04-30T11:05:00-04:00", + "2024-04-30T11:06:00-04:00", + "2024-04-30T11:07:00-04:00", + "2024-04-30T11:08:00-04:00", + "2024-04-30T11:09:00-04:00", + "2024-04-30T11:10:00-04:00", + "2024-04-30T11:11:00-04:00", + "2024-04-30T11:12:00-04:00", + "2024-04-30T11:13:00-04:00", + "2024-04-30T11:14:00-04:00", + "2024-04-30T11:15:00-04:00", + "2024-04-30T11:16:00-04:00", + "2024-04-30T11:17:00-04:00", + "2024-04-30T11:18:00-04:00", + "2024-04-30T11:19:00-04:00", + "2024-04-30T11:20:00-04:00", + "2024-04-30T11:21:00-04:00", + "2024-04-30T11:22:00-04:00", + "2024-04-30T11:23:00-04:00", + "2024-04-30T11:24:00-04:00", + "2024-04-30T11:25:00-04:00", + "2024-04-30T11:26:00-04:00", + "2024-04-30T11:27:00-04:00", + "2024-04-30T11:28:00-04:00", + "2024-04-30T11:29:00-04:00", + "2024-04-30T11:30:00-04:00", + "2024-04-30T11:31:00-04:00", + "2024-04-30T11:32:00-04:00", + "2024-04-30T11:33:00-04:00", + "2024-04-30T11:34:00-04:00", + "2024-04-30T11:35:00-04:00", + "2024-04-30T11:36:00-04:00", + "2024-04-30T11:37:00-04:00", + "2024-04-30T11:38:00-04:00", + "2024-04-30T11:39:00-04:00", + "2024-04-30T11:40:00-04:00", + "2024-04-30T11:41:00-04:00", + "2024-04-30T11:42:00-04:00", + "2024-04-30T11:43:00-04:00", + "2024-04-30T11:44:00-04:00", + "2024-04-30T11:45:00-04:00", + "2024-04-30T11:46:00-04:00", + "2024-04-30T11:47:00-04:00", + "2024-04-30T11:48:00-04:00", + "2024-04-30T11:49:00-04:00", + "2024-04-30T11:50:00-04:00", + "2024-04-30T11:51:00-04:00", + "2024-04-30T11:52:00-04:00", + "2024-04-30T11:53:00-04:00", + "2024-04-30T11:54:00-04:00", + "2024-04-30T11:55:00-04:00", + "2024-04-30T11:56:00-04:00", + "2024-04-30T11:57:00-04:00", + "2024-04-30T11:58:00-04:00", + "2024-04-30T11:59:00-04:00", + "2024-04-30T12:00:00-04:00", + "2024-04-30T12:01:00-04:00", + "2024-04-30T12:02:00-04:00", + "2024-04-30T12:03:00-04:00", + "2024-04-30T12:04:00-04:00", + "2024-04-30T12:05:00-04:00", + "2024-04-30T12:06:00-04:00", + "2024-04-30T12:07:00-04:00", + "2024-04-30T12:08:00-04:00", + "2024-04-30T12:09:00-04:00", + "2024-04-30T12:10:00-04:00", + "2024-04-30T12:11:00-04:00", + "2024-04-30T12:12:00-04:00", + "2024-04-30T12:13:00-04:00", + "2024-04-30T12:14:00-04:00", + "2024-04-30T12:15:00-04:00", + "2024-04-30T12:16:00-04:00", + "2024-04-30T12:17:00-04:00", + "2024-04-30T12:18:00-04:00", + "2024-04-30T12:19:00-04:00", + "2024-04-30T12:20:00-04:00", + "2024-04-30T12:21:00-04:00", + "2024-04-30T12:22:00-04:00", + "2024-04-30T12:23:00-04:00", + "2024-04-30T12:24:00-04:00", + "2024-04-30T12:25:00-04:00", + "2024-04-30T12:26:00-04:00", + "2024-04-30T12:27:00-04:00", + "2024-04-30T12:28:00-04:00", + "2024-04-30T12:29:00-04:00", + "2024-04-30T12:30:00-04:00", + "2024-04-30T12:31:00-04:00", + "2024-04-30T12:32:00-04:00", + "2024-04-30T12:33:00-04:00", + "2024-04-30T12:34:00-04:00", + "2024-04-30T12:35:00-04:00", + "2024-04-30T12:36:00-04:00", + "2024-04-30T12:37:00-04:00", + "2024-04-30T12:38:00-04:00", + "2024-04-30T12:39:00-04:00", + "2024-04-30T12:40:00-04:00", + "2024-04-30T12:41:00-04:00", + "2024-04-30T12:42:00-04:00", + "2024-04-30T12:43:00-04:00", + "2024-04-30T12:44:00-04:00", + "2024-04-30T12:45:00-04:00", + "2024-04-30T12:46:00-04:00", + "2024-04-30T12:47:00-04:00", + "2024-04-30T12:48:00-04:00", + "2024-04-30T12:49:00-04:00", + "2024-04-30T12:50:00-04:00", + "2024-04-30T12:51:00-04:00", + "2024-04-30T12:52:00-04:00", + "2024-04-30T12:53:00-04:00", + "2024-04-30T12:54:00-04:00", + "2024-04-30T12:55:00-04:00", + "2024-04-30T12:56:00-04:00", + "2024-04-30T12:57:00-04:00", + "2024-04-30T12:58:00-04:00", + "2024-04-30T12:59:00-04:00", + "2024-04-30T13:00:00-04:00", + "2024-04-30T13:01:00-04:00", + "2024-04-30T13:02:00-04:00", + "2024-04-30T13:03:00-04:00", + "2024-04-30T13:04:00-04:00", + "2024-04-30T13:05:00-04:00", + "2024-04-30T13:06:00-04:00", + "2024-04-30T13:07:00-04:00", + "2024-04-30T13:08:00-04:00", + "2024-04-30T13:09:00-04:00", + "2024-04-30T13:10:00-04:00", + "2024-04-30T13:11:00-04:00", + "2024-04-30T13:12:00-04:00", + "2024-04-30T13:13:00-04:00", + "2024-04-30T13:14:00-04:00", + "2024-04-30T13:15:00-04:00", + "2024-04-30T13:16:00-04:00", + "2024-04-30T13:17:00-04:00", + "2024-04-30T13:18:00-04:00", + "2024-04-30T13:19:00-04:00", + "2024-04-30T13:20:00-04:00", + "2024-04-30T13:21:00-04:00", + "2024-04-30T13:22:00-04:00", + "2024-04-30T13:23:00-04:00", + "2024-04-30T13:24:00-04:00", + "2024-04-30T13:25:00-04:00", + "2024-04-30T13:26:00-04:00", + "2024-04-30T13:27:00-04:00", + "2024-04-30T13:28:00-04:00", + "2024-04-30T13:29:00-04:00", + "2024-04-30T13:30:00-04:00", + "2024-04-30T13:31:00-04:00", + "2024-04-30T13:32:00-04:00", + "2024-04-30T13:33:00-04:00", + "2024-04-30T13:34:00-04:00", + "2024-04-30T13:35:00-04:00", + "2024-04-30T13:36:00-04:00", + "2024-04-30T13:37:00-04:00", + "2024-04-30T13:38:00-04:00", + "2024-04-30T13:39:00-04:00", + "2024-04-30T13:40:00-04:00", + "2024-04-30T13:41:00-04:00", + "2024-04-30T13:42:00-04:00", + "2024-04-30T13:43:00-04:00", + "2024-04-30T13:44:00-04:00", + "2024-04-30T13:45:00-04:00", + "2024-04-30T13:46:00-04:00", + "2024-04-30T13:47:00-04:00", + "2024-04-30T13:48:00-04:00", + "2024-04-30T13:49:00-04:00", + "2024-04-30T13:50:00-04:00", + "2024-04-30T13:51:00-04:00", + "2024-04-30T13:52:00-04:00", + "2024-04-30T13:53:00-04:00", + "2024-04-30T13:54:00-04:00", + "2024-04-30T13:55:00-04:00", + "2024-04-30T13:56:00-04:00", + "2024-04-30T13:57:00-04:00", + "2024-04-30T13:58:00-04:00", + "2024-04-30T13:59:00-04:00", + "2024-04-30T14:00:00-04:00", + "2024-04-30T14:01:00-04:00", + "2024-04-30T14:02:00-04:00", + "2024-04-30T14:03:00-04:00", + "2024-04-30T14:04:00-04:00", + "2024-04-30T14:05:00-04:00", + "2024-04-30T14:06:00-04:00", + "2024-04-30T14:07:00-04:00", + "2024-04-30T14:08:00-04:00", + "2024-04-30T14:09:00-04:00", + "2024-04-30T14:10:00-04:00", + "2024-04-30T14:11:00-04:00", + "2024-04-30T14:12:00-04:00", + "2024-04-30T14:13:00-04:00", + "2024-04-30T14:14:00-04:00", + "2024-04-30T14:15:00-04:00", + "2024-04-30T14:16:00-04:00", + "2024-04-30T14:17:00-04:00", + "2024-04-30T14:18:00-04:00", + "2024-04-30T14:19:00-04:00", + "2024-04-30T14:20:00-04:00", + "2024-04-30T14:21:00-04:00", + "2024-04-30T14:22:00-04:00", + "2024-04-30T14:23:00-04:00", + "2024-04-30T14:24:00-04:00", + "2024-04-30T14:25:00-04:00", + "2024-04-30T14:26:00-04:00", + "2024-04-30T14:27:00-04:00", + "2024-04-30T14:28:00-04:00", + "2024-04-30T14:29:00-04:00", + "2024-04-30T14:30:00-04:00", + "2024-04-30T14:31:00-04:00", + "2024-04-30T14:32:00-04:00", + "2024-04-30T14:33:00-04:00", + "2024-04-30T14:34:00-04:00", + "2024-04-30T14:35:00-04:00", + "2024-04-30T14:36:00-04:00", + "2024-04-30T14:37:00-04:00", + "2024-04-30T14:38:00-04:00", + "2024-04-30T14:39:00-04:00", + "2024-04-30T14:40:00-04:00", + "2024-04-30T14:41:00-04:00", + "2024-04-30T14:42:00-04:00", + "2024-04-30T14:43:00-04:00", + "2024-04-30T14:44:00-04:00", + "2024-04-30T14:45:00-04:00", + "2024-04-30T14:46:00-04:00", + "2024-04-30T14:47:00-04:00", + "2024-04-30T14:48:00-04:00", + "2024-04-30T14:49:00-04:00", + "2024-04-30T14:50:00-04:00", + "2024-04-30T14:51:00-04:00", + "2024-04-30T14:52:00-04:00", + "2024-04-30T14:53:00-04:00", + "2024-04-30T14:54:00-04:00", + "2024-04-30T14:55:00-04:00", + "2024-04-30T14:56:00-04:00", + "2024-04-30T14:57:00-04:00", + "2024-04-30T14:58:00-04:00", + "2024-04-30T14:59:00-04:00", + "2024-04-30T15:00:00-04:00", + "2024-04-30T15:01:00-04:00", + "2024-04-30T15:02:00-04:00", + "2024-04-30T15:03:00-04:00", + "2024-04-30T15:04:00-04:00", + "2024-04-30T15:05:00-04:00", + "2024-04-30T15:06:00-04:00", + "2024-04-30T15:07:00-04:00", + "2024-04-30T15:08:00-04:00", + "2024-04-30T15:09:00-04:00", + "2024-04-30T15:10:00-04:00", + "2024-04-30T15:11:00-04:00", + "2024-04-30T15:12:00-04:00", + "2024-04-30T15:13:00-04:00", + "2024-04-30T15:14:00-04:00", + "2024-04-30T15:15:00-04:00", + "2024-04-30T15:16:00-04:00", + "2024-04-30T15:17:00-04:00", + "2024-04-30T15:18:00-04:00", + "2024-04-30T15:19:00-04:00", + "2024-04-30T15:20:00-04:00", + "2024-04-30T15:21:00-04:00", + "2024-04-30T15:22:00-04:00", + "2024-04-30T15:23:00-04:00", + "2024-04-30T15:24:00-04:00", + "2024-04-30T15:25:00-04:00", + "2024-04-30T15:26:00-04:00", + "2024-04-30T15:27:00-04:00", + "2024-04-30T15:28:00-04:00", + "2024-04-30T15:29:00-04:00", + "2024-04-30T15:30:00-04:00", + "2024-04-30T15:31:00-04:00", + "2024-04-30T15:32:00-04:00", + "2024-04-30T15:33:00-04:00", + "2024-04-30T15:34:00-04:00", + "2024-04-30T15:35:00-04:00", + "2024-04-30T15:36:00-04:00", + "2024-04-30T15:37:00-04:00", + "2024-04-30T15:38:00-04:00", + "2024-04-30T15:39:00-04:00", + "2024-04-30T15:40:00-04:00", + "2024-04-30T15:41:00-04:00", + "2024-04-30T15:42:00-04:00", + "2024-04-30T15:43:00-04:00", + "2024-04-30T15:44:00-04:00", + "2024-04-30T15:45:00-04:00", + "2024-04-30T15:46:00-04:00", + "2024-04-30T15:47:00-04:00", + "2024-04-30T15:48:00-04:00", + "2024-04-30T15:49:00-04:00", + "2024-04-30T15:50:00-04:00", + "2024-04-30T15:51:00-04:00", + "2024-04-30T15:52:00-04:00", + "2024-04-30T15:53:00-04:00", + "2024-04-30T15:54:00-04:00", + "2024-04-30T15:55:00-04:00", + "2024-04-30T15:56:00-04:00", + "2024-04-30T15:57:00-04:00", + "2024-04-30T15:58:00-04:00", + "2024-04-30T15:59:00-04:00", + "2024-04-30T16:00:00-04:00", + "2024-05-01T09:30:00-04:00", + "2024-05-01T09:31:00-04:00", + "2024-05-01T09:32:00-04:00", + "2024-05-01T09:33:00-04:00", + "2024-05-01T09:34:00-04:00", + "2024-05-01T09:35:00-04:00", + "2024-05-01T09:36:00-04:00", + "2024-05-01T09:37:00-04:00", + "2024-05-01T09:38:00-04:00", + "2024-05-01T09:39:00-04:00", + "2024-05-01T09:40:00-04:00", + "2024-05-01T09:41:00-04:00", + "2024-05-01T09:42:00-04:00", + "2024-05-01T09:43:00-04:00", + "2024-05-01T09:44:00-04:00", + "2024-05-01T09:45:00-04:00", + "2024-05-01T09:46:00-04:00", + "2024-05-01T09:47:00-04:00", + "2024-05-01T09:48:00-04:00", + "2024-05-01T09:49:00-04:00", + "2024-05-01T09:50:00-04:00", + "2024-05-01T09:51:00-04:00", + "2024-05-01T09:52:00-04:00", + "2024-05-01T09:53:00-04:00", + "2024-05-01T09:54:00-04:00", + "2024-05-01T09:55:00-04:00", + "2024-05-01T09:56:00-04:00", + "2024-05-01T09:57:00-04:00", + "2024-05-01T09:58:00-04:00", + "2024-05-01T09:59:00-04:00", + "2024-05-01T10:00:00-04:00", + "2024-05-01T10:01:00-04:00", + "2024-05-01T10:02:00-04:00", + "2024-05-01T10:03:00-04:00", + "2024-05-01T10:04:00-04:00", + "2024-05-01T10:05:00-04:00", + "2024-05-01T10:06:00-04:00", + "2024-05-01T10:07:00-04:00", + "2024-05-01T10:08:00-04:00", + "2024-05-01T10:09:00-04:00", + "2024-05-01T10:10:00-04:00", + "2024-05-01T10:11:00-04:00", + "2024-05-01T10:12:00-04:00", + "2024-05-01T10:13:00-04:00", + "2024-05-01T10:14:00-04:00", + "2024-05-01T10:15:00-04:00", + "2024-05-01T10:16:00-04:00", + "2024-05-01T10:17:00-04:00", + "2024-05-01T10:18:00-04:00", + "2024-05-01T10:19:00-04:00", + "2024-05-01T10:20:00-04:00", + "2024-05-01T10:21:00-04:00", + "2024-05-01T10:22:00-04:00", + "2024-05-01T10:23:00-04:00", + "2024-05-01T10:24:00-04:00", + "2024-05-01T10:25:00-04:00", + "2024-05-01T10:26:00-04:00", + "2024-05-01T10:27:00-04:00", + "2024-05-01T10:28:00-04:00", + "2024-05-01T10:29:00-04:00", + "2024-05-01T10:30:00-04:00", + "2024-05-01T10:31:00-04:00", + "2024-05-01T10:32:00-04:00", + "2024-05-01T10:33:00-04:00", + "2024-05-01T10:34:00-04:00", + "2024-05-01T10:35:00-04:00", + "2024-05-01T10:36:00-04:00", + "2024-05-01T10:37:00-04:00", + "2024-05-01T10:38:00-04:00", + "2024-05-01T10:39:00-04:00", + "2024-05-01T10:40:00-04:00", + "2024-05-01T10:41:00-04:00", + "2024-05-01T10:42:00-04:00", + "2024-05-01T10:43:00-04:00", + "2024-05-01T10:44:00-04:00", + "2024-05-01T10:45:00-04:00", + "2024-05-01T10:46:00-04:00", + "2024-05-01T10:47:00-04:00", + "2024-05-01T10:48:00-04:00", + "2024-05-01T10:49:00-04:00", + "2024-05-01T10:50:00-04:00", + "2024-05-01T10:51:00-04:00", + "2024-05-01T10:52:00-04:00", + "2024-05-01T10:53:00-04:00", + "2024-05-01T10:54:00-04:00", + "2024-05-01T10:55:00-04:00", + "2024-05-01T10:56:00-04:00", + "2024-05-01T10:57:00-04:00", + "2024-05-01T10:58:00-04:00", + "2024-05-01T10:59:00-04:00", + "2024-05-01T11:00:00-04:00", + "2024-05-01T11:01:00-04:00", + "2024-05-01T11:02:00-04:00", + "2024-05-01T11:03:00-04:00", + "2024-05-01T11:04:00-04:00", + "2024-05-01T11:05:00-04:00", + "2024-05-01T11:06:00-04:00", + "2024-05-01T11:07:00-04:00", + "2024-05-01T11:08:00-04:00", + "2024-05-01T11:09:00-04:00", + "2024-05-01T11:10:00-04:00", + "2024-05-01T11:11:00-04:00", + "2024-05-01T11:12:00-04:00", + "2024-05-01T11:13:00-04:00", + "2024-05-01T11:14:00-04:00", + "2024-05-01T11:15:00-04:00", + "2024-05-01T11:16:00-04:00", + "2024-05-01T11:17:00-04:00", + "2024-05-01T11:18:00-04:00", + "2024-05-01T11:19:00-04:00", + "2024-05-01T11:20:00-04:00", + "2024-05-01T11:21:00-04:00", + "2024-05-01T11:22:00-04:00", + "2024-05-01T11:23:00-04:00", + "2024-05-01T11:24:00-04:00", + "2024-05-01T11:25:00-04:00", + "2024-05-01T11:26:00-04:00", + "2024-05-01T11:27:00-04:00", + "2024-05-01T11:28:00-04:00", + "2024-05-01T11:29:00-04:00", + "2024-05-01T11:30:00-04:00", + "2024-05-01T11:31:00-04:00", + "2024-05-01T11:32:00-04:00", + "2024-05-01T11:33:00-04:00", + "2024-05-01T11:34:00-04:00", + "2024-05-01T11:35:00-04:00", + "2024-05-01T11:36:00-04:00", + "2024-05-01T11:37:00-04:00", + "2024-05-01T11:38:00-04:00", + "2024-05-01T11:39:00-04:00", + "2024-05-01T11:40:00-04:00", + "2024-05-01T11:41:00-04:00", + "2024-05-01T11:42:00-04:00", + "2024-05-01T11:43:00-04:00", + "2024-05-01T11:44:00-04:00", + "2024-05-01T11:45:00-04:00", + "2024-05-01T11:46:00-04:00", + "2024-05-01T11:47:00-04:00", + "2024-05-01T11:48:00-04:00", + "2024-05-01T11:49:00-04:00", + "2024-05-01T11:50:00-04:00", + "2024-05-01T11:51:00-04:00", + "2024-05-01T11:52:00-04:00", + "2024-05-01T11:53:00-04:00", + "2024-05-01T11:54:00-04:00", + "2024-05-01T11:55:00-04:00", + "2024-05-01T11:56:00-04:00", + "2024-05-01T11:57:00-04:00", + "2024-05-01T11:58:00-04:00", + "2024-05-01T11:59:00-04:00", + "2024-05-01T12:00:00-04:00", + "2024-05-01T12:01:00-04:00", + "2024-05-01T12:02:00-04:00", + "2024-05-01T12:03:00-04:00", + "2024-05-01T12:04:00-04:00", + "2024-05-01T12:05:00-04:00", + "2024-05-01T12:06:00-04:00", + "2024-05-01T12:07:00-04:00", + "2024-05-01T12:08:00-04:00", + "2024-05-01T12:09:00-04:00", + "2024-05-01T12:10:00-04:00", + "2024-05-01T12:11:00-04:00", + "2024-05-01T12:12:00-04:00", + "2024-05-01T12:13:00-04:00", + "2024-05-01T12:14:00-04:00", + "2024-05-01T12:15:00-04:00", + "2024-05-01T12:16:00-04:00", + "2024-05-01T12:17:00-04:00", + "2024-05-01T12:18:00-04:00", + "2024-05-01T12:19:00-04:00", + "2024-05-01T12:20:00-04:00", + "2024-05-01T12:21:00-04:00", + "2024-05-01T12:22:00-04:00", + "2024-05-01T12:23:00-04:00", + "2024-05-01T12:24:00-04:00", + "2024-05-01T12:25:00-04:00", + "2024-05-01T12:26:00-04:00", + "2024-05-01T12:27:00-04:00", + "2024-05-01T12:28:00-04:00", + "2024-05-01T12:29:00-04:00", + "2024-05-01T12:30:00-04:00", + "2024-05-01T12:31:00-04:00", + "2024-05-01T12:32:00-04:00", + "2024-05-01T12:33:00-04:00", + "2024-05-01T12:34:00-04:00", + "2024-05-01T12:35:00-04:00", + "2024-05-01T12:36:00-04:00", + "2024-05-01T12:37:00-04:00", + "2024-05-01T12:38:00-04:00", + "2024-05-01T12:39:00-04:00", + "2024-05-01T12:40:00-04:00", + "2024-05-01T12:41:00-04:00", + "2024-05-01T12:42:00-04:00", + "2024-05-01T12:43:00-04:00", + "2024-05-01T12:44:00-04:00", + "2024-05-01T12:45:00-04:00", + "2024-05-01T12:46:00-04:00", + "2024-05-01T12:47:00-04:00", + "2024-05-01T12:48:00-04:00", + "2024-05-01T12:49:00-04:00", + "2024-05-01T12:50:00-04:00", + "2024-05-01T12:51:00-04:00", + "2024-05-01T12:52:00-04:00", + "2024-05-01T12:53:00-04:00", + "2024-05-01T12:54:00-04:00", + "2024-05-01T12:55:00-04:00", + "2024-05-01T12:56:00-04:00", + "2024-05-01T12:57:00-04:00", + "2024-05-01T12:58:00-04:00", + "2024-05-01T12:59:00-04:00", + "2024-05-01T13:00:00-04:00", + "2024-05-01T13:01:00-04:00", + "2024-05-01T13:02:00-04:00", + "2024-05-01T13:03:00-04:00", + "2024-05-01T13:04:00-04:00", + "2024-05-01T13:05:00-04:00", + "2024-05-01T13:06:00-04:00", + "2024-05-01T13:07:00-04:00", + "2024-05-01T13:08:00-04:00", + "2024-05-01T13:09:00-04:00", + "2024-05-01T13:10:00-04:00", + "2024-05-01T13:11:00-04:00", + "2024-05-01T13:12:00-04:00", + "2024-05-01T13:13:00-04:00", + "2024-05-01T13:14:00-04:00", + "2024-05-01T13:15:00-04:00", + "2024-05-01T13:16:00-04:00", + "2024-05-01T13:17:00-04:00", + "2024-05-01T13:18:00-04:00", + "2024-05-01T13:19:00-04:00", + "2024-05-01T13:20:00-04:00", + "2024-05-01T13:21:00-04:00", + "2024-05-01T13:22:00-04:00", + "2024-05-01T13:23:00-04:00", + "2024-05-01T13:24:00-04:00", + "2024-05-01T13:25:00-04:00", + "2024-05-01T13:26:00-04:00", + "2024-05-01T13:27:00-04:00", + "2024-05-01T13:28:00-04:00", + "2024-05-01T13:29:00-04:00", + "2024-05-01T13:30:00-04:00", + "2024-05-01T13:31:00-04:00", + "2024-05-01T13:32:00-04:00", + "2024-05-01T13:33:00-04:00", + "2024-05-01T13:34:00-04:00", + "2024-05-01T13:35:00-04:00", + "2024-05-01T13:36:00-04:00", + "2024-05-01T13:37:00-04:00", + "2024-05-01T13:38:00-04:00", + "2024-05-01T13:39:00-04:00", + "2024-05-01T13:40:00-04:00", + "2024-05-01T13:41:00-04:00", + "2024-05-01T13:42:00-04:00", + "2024-05-01T13:43:00-04:00", + "2024-05-01T13:44:00-04:00", + "2024-05-01T13:45:00-04:00", + "2024-05-01T13:46:00-04:00", + "2024-05-01T13:47:00-04:00", + "2024-05-01T13:48:00-04:00", + "2024-05-01T13:49:00-04:00", + "2024-05-01T13:50:00-04:00", + "2024-05-01T13:51:00-04:00", + "2024-05-01T13:52:00-04:00", + "2024-05-01T13:53:00-04:00", + "2024-05-01T13:54:00-04:00", + "2024-05-01T13:55:00-04:00", + "2024-05-01T13:56:00-04:00", + "2024-05-01T13:57:00-04:00", + "2024-05-01T13:58:00-04:00", + "2024-05-01T13:59:00-04:00", + "2024-05-01T14:00:00-04:00", + "2024-05-01T14:01:00-04:00", + "2024-05-01T14:02:00-04:00", + "2024-05-01T14:03:00-04:00", + "2024-05-01T14:04:00-04:00", + "2024-05-01T14:05:00-04:00", + "2024-05-01T14:06:00-04:00", + "2024-05-01T14:07:00-04:00", + "2024-05-01T14:08:00-04:00", + "2024-05-01T14:09:00-04:00", + "2024-05-01T14:10:00-04:00", + "2024-05-01T14:11:00-04:00", + "2024-05-01T14:12:00-04:00", + "2024-05-01T14:13:00-04:00", + "2024-05-01T14:14:00-04:00", + "2024-05-01T14:15:00-04:00", + "2024-05-01T14:16:00-04:00", + "2024-05-01T14:17:00-04:00", + "2024-05-01T14:18:00-04:00", + "2024-05-01T14:19:00-04:00", + "2024-05-01T14:20:00-04:00", + "2024-05-01T14:21:00-04:00", + "2024-05-01T14:22:00-04:00", + "2024-05-01T14:23:00-04:00", + "2024-05-01T14:24:00-04:00", + "2024-05-01T14:25:00-04:00", + "2024-05-01T14:26:00-04:00", + "2024-05-01T14:27:00-04:00", + "2024-05-01T14:28:00-04:00", + "2024-05-01T14:29:00-04:00", + "2024-05-01T14:30:00-04:00", + "2024-05-01T14:31:00-04:00", + "2024-05-01T14:32:00-04:00", + "2024-05-01T14:33:00-04:00", + "2024-05-01T14:34:00-04:00", + "2024-05-01T14:35:00-04:00", + "2024-05-01T14:36:00-04:00", + "2024-05-01T14:37:00-04:00", + "2024-05-01T14:38:00-04:00", + "2024-05-01T14:39:00-04:00", + "2024-05-01T14:40:00-04:00", + "2024-05-01T14:41:00-04:00", + "2024-05-01T14:42:00-04:00", + "2024-05-01T14:43:00-04:00", + "2024-05-01T14:44:00-04:00", + "2024-05-01T14:45:00-04:00", + "2024-05-01T14:46:00-04:00", + "2024-05-01T14:47:00-04:00", + "2024-05-01T14:48:00-04:00", + "2024-05-01T14:49:00-04:00", + "2024-05-01T14:50:00-04:00", + "2024-05-01T14:51:00-04:00", + "2024-05-01T14:52:00-04:00", + "2024-05-01T14:53:00-04:00", + "2024-05-01T14:54:00-04:00", + "2024-05-01T14:55:00-04:00", + "2024-05-01T14:56:00-04:00", + "2024-05-01T14:57:00-04:00", + "2024-05-01T14:58:00-04:00", + "2024-05-01T14:59:00-04:00", + "2024-05-01T15:00:00-04:00", + "2024-05-01T15:01:00-04:00", + "2024-05-01T15:02:00-04:00", + "2024-05-01T15:03:00-04:00", + "2024-05-01T15:04:00-04:00", + "2024-05-01T15:05:00-04:00", + "2024-05-01T15:06:00-04:00", + "2024-05-01T15:07:00-04:00", + "2024-05-01T15:08:00-04:00", + "2024-05-01T15:09:00-04:00", + "2024-05-01T15:10:00-04:00", + "2024-05-01T15:11:00-04:00", + "2024-05-01T15:12:00-04:00", + "2024-05-01T15:13:00-04:00", + "2024-05-01T15:14:00-04:00", + "2024-05-01T15:15:00-04:00", + "2024-05-01T15:16:00-04:00", + "2024-05-01T15:17:00-04:00", + "2024-05-01T15:18:00-04:00", + "2024-05-01T15:19:00-04:00", + "2024-05-01T15:20:00-04:00", + "2024-05-01T15:21:00-04:00", + "2024-05-01T15:22:00-04:00", + "2024-05-01T15:23:00-04:00", + "2024-05-01T15:24:00-04:00", + "2024-05-01T15:25:00-04:00", + "2024-05-01T15:26:00-04:00", + "2024-05-01T15:27:00-04:00", + "2024-05-01T15:28:00-04:00", + "2024-05-01T15:29:00-04:00", + "2024-05-01T15:30:00-04:00", + "2024-05-01T15:31:00-04:00", + "2024-05-01T15:32:00-04:00", + "2024-05-01T15:33:00-04:00", + "2024-05-01T15:34:00-04:00", + "2024-05-01T15:35:00-04:00", + "2024-05-01T15:36:00-04:00", + "2024-05-01T15:37:00-04:00", + "2024-05-01T15:38:00-04:00", + "2024-05-01T15:39:00-04:00", + "2024-05-01T15:40:00-04:00", + "2024-05-01T15:41:00-04:00", + "2024-05-01T15:42:00-04:00", + "2024-05-01T15:43:00-04:00", + "2024-05-01T15:44:00-04:00", + "2024-05-01T15:45:00-04:00", + "2024-05-01T15:46:00-04:00", + "2024-05-01T15:47:00-04:00", + "2024-05-01T15:48:00-04:00", + "2024-05-01T15:49:00-04:00", + "2024-05-01T15:50:00-04:00", + "2024-05-01T15:51:00-04:00", + "2024-05-01T15:52:00-04:00", + "2024-05-01T15:53:00-04:00", + "2024-05-01T15:54:00-04:00", + "2024-05-01T15:55:00-04:00", + "2024-05-01T15:56:00-04:00", + "2024-05-01T15:57:00-04:00", + "2024-05-01T15:58:00-04:00", + "2024-05-01T15:59:00-04:00", + "2024-05-01T16:00:00-04:00", + "2024-05-02T09:30:00-04:00", + "2024-05-02T09:31:00-04:00", + "2024-05-02T09:32:00-04:00", + "2024-05-02T09:33:00-04:00", + "2024-05-02T09:34:00-04:00", + "2024-05-02T09:35:00-04:00", + "2024-05-02T09:36:00-04:00", + "2024-05-02T09:37:00-04:00", + "2024-05-02T09:38:00-04:00", + "2024-05-02T09:39:00-04:00", + "2024-05-02T09:40:00-04:00", + "2024-05-02T09:41:00-04:00", + "2024-05-02T09:42:00-04:00", + "2024-05-02T09:43:00-04:00", + "2024-05-02T09:44:00-04:00", + "2024-05-02T09:45:00-04:00", + "2024-05-02T09:46:00-04:00", + "2024-05-02T09:47:00-04:00", + "2024-05-02T09:48:00-04:00", + "2024-05-02T09:49:00-04:00", + "2024-05-02T09:50:00-04:00", + "2024-05-02T09:51:00-04:00", + "2024-05-02T09:52:00-04:00", + "2024-05-02T09:53:00-04:00", + "2024-05-02T09:54:00-04:00", + "2024-05-02T09:55:00-04:00", + "2024-05-02T09:56:00-04:00", + "2024-05-02T09:57:00-04:00", + "2024-05-02T09:58:00-04:00", + "2024-05-02T09:59:00-04:00", + "2024-05-02T10:00:00-04:00", + "2024-05-02T10:01:00-04:00", + "2024-05-02T10:02:00-04:00", + "2024-05-02T10:03:00-04:00", + "2024-05-02T10:04:00-04:00", + "2024-05-02T10:05:00-04:00", + "2024-05-02T10:06:00-04:00", + "2024-05-02T10:07:00-04:00", + "2024-05-02T10:08:00-04:00", + "2024-05-02T10:09:00-04:00", + "2024-05-02T10:10:00-04:00", + "2024-05-02T10:11:00-04:00", + "2024-05-02T10:12:00-04:00", + "2024-05-02T10:13:00-04:00", + "2024-05-02T10:14:00-04:00", + "2024-05-02T10:15:00-04:00", + "2024-05-02T10:16:00-04:00", + "2024-05-02T10:17:00-04:00", + "2024-05-02T10:18:00-04:00", + "2024-05-02T10:19:00-04:00", + "2024-05-02T10:20:00-04:00", + "2024-05-02T10:21:00-04:00", + "2024-05-02T10:22:00-04:00", + "2024-05-02T10:23:00-04:00", + "2024-05-02T10:24:00-04:00", + "2024-05-02T10:25:00-04:00", + "2024-05-02T10:26:00-04:00", + "2024-05-02T10:27:00-04:00", + "2024-05-02T10:28:00-04:00", + "2024-05-02T10:29:00-04:00", + "2024-05-02T10:30:00-04:00", + "2024-05-02T10:31:00-04:00", + "2024-05-02T10:32:00-04:00", + "2024-05-02T10:33:00-04:00", + "2024-05-02T10:34:00-04:00", + "2024-05-02T10:35:00-04:00", + "2024-05-02T10:36:00-04:00", + "2024-05-02T10:37:00-04:00", + "2024-05-02T10:38:00-04:00", + "2024-05-02T10:39:00-04:00", + "2024-05-02T10:40:00-04:00", + "2024-05-02T10:41:00-04:00", + "2024-05-02T10:42:00-04:00", + "2024-05-02T10:43:00-04:00", + "2024-05-02T10:44:00-04:00", + "2024-05-02T10:45:00-04:00", + "2024-05-02T10:46:00-04:00", + "2024-05-02T10:47:00-04:00", + "2024-05-02T10:48:00-04:00", + "2024-05-02T10:49:00-04:00", + "2024-05-02T10:50:00-04:00", + "2024-05-02T10:51:00-04:00", + "2024-05-02T10:52:00-04:00", + "2024-05-02T10:53:00-04:00", + "2024-05-02T10:54:00-04:00", + "2024-05-02T10:55:00-04:00", + "2024-05-02T10:56:00-04:00", + "2024-05-02T10:57:00-04:00", + "2024-05-02T10:58:00-04:00", + "2024-05-02T10:59:00-04:00", + "2024-05-02T11:00:00-04:00", + "2024-05-02T11:01:00-04:00", + "2024-05-02T11:02:00-04:00", + "2024-05-02T11:03:00-04:00", + "2024-05-02T11:04:00-04:00", + "2024-05-02T11:05:00-04:00", + "2024-05-02T11:06:00-04:00", + "2024-05-02T11:07:00-04:00", + "2024-05-02T11:08:00-04:00", + "2024-05-02T11:09:00-04:00", + "2024-05-02T11:10:00-04:00", + "2024-05-02T11:11:00-04:00", + "2024-05-02T11:12:00-04:00", + "2024-05-02T11:13:00-04:00", + "2024-05-02T11:14:00-04:00", + "2024-05-02T11:15:00-04:00", + "2024-05-02T11:16:00-04:00", + "2024-05-02T11:17:00-04:00", + "2024-05-02T11:18:00-04:00", + "2024-05-02T11:19:00-04:00", + "2024-05-02T11:20:00-04:00", + "2024-05-02T11:21:00-04:00", + "2024-05-02T11:22:00-04:00", + "2024-05-02T11:23:00-04:00", + "2024-05-02T11:24:00-04:00", + "2024-05-02T11:25:00-04:00", + "2024-05-02T11:26:00-04:00", + "2024-05-02T11:27:00-04:00", + "2024-05-02T11:28:00-04:00", + "2024-05-02T11:29:00-04:00", + "2024-05-02T11:30:00-04:00", + "2024-05-02T11:31:00-04:00", + "2024-05-02T11:32:00-04:00", + "2024-05-02T11:33:00-04:00", + "2024-05-02T11:34:00-04:00", + "2024-05-02T11:35:00-04:00", + "2024-05-02T11:36:00-04:00", + "2024-05-02T11:37:00-04:00", + "2024-05-02T11:38:00-04:00", + "2024-05-02T11:39:00-04:00", + "2024-05-02T11:40:00-04:00", + "2024-05-02T11:41:00-04:00", + "2024-05-02T11:42:00-04:00", + "2024-05-02T11:43:00-04:00", + "2024-05-02T11:44:00-04:00", + "2024-05-02T11:45:00-04:00", + "2024-05-02T11:46:00-04:00", + "2024-05-02T11:47:00-04:00", + "2024-05-02T11:48:00-04:00", + "2024-05-02T11:49:00-04:00", + "2024-05-02T11:50:00-04:00", + "2024-05-02T11:51:00-04:00", + "2024-05-02T11:52:00-04:00", + "2024-05-02T11:53:00-04:00", + "2024-05-02T11:54:00-04:00", + "2024-05-02T11:55:00-04:00", + "2024-05-02T11:56:00-04:00", + "2024-05-02T11:57:00-04:00", + "2024-05-02T11:58:00-04:00", + "2024-05-02T11:59:00-04:00", + "2024-05-02T12:00:00-04:00", + "2024-05-02T12:01:00-04:00", + "2024-05-02T12:02:00-04:00", + "2024-05-02T12:03:00-04:00", + "2024-05-02T12:04:00-04:00", + "2024-05-02T12:05:00-04:00", + "2024-05-02T12:06:00-04:00", + "2024-05-02T12:07:00-04:00", + "2024-05-02T12:08:00-04:00", + "2024-05-02T12:09:00-04:00", + "2024-05-02T12:10:00-04:00", + "2024-05-02T12:11:00-04:00", + "2024-05-02T12:12:00-04:00", + "2024-05-02T12:13:00-04:00", + "2024-05-02T12:14:00-04:00", + "2024-05-02T12:15:00-04:00", + "2024-05-02T12:16:00-04:00", + "2024-05-02T12:17:00-04:00", + "2024-05-02T12:18:00-04:00", + "2024-05-02T12:19:00-04:00", + "2024-05-02T12:20:00-04:00", + "2024-05-02T12:21:00-04:00", + "2024-05-02T12:22:00-04:00", + "2024-05-02T12:23:00-04:00", + "2024-05-02T12:24:00-04:00", + "2024-05-02T12:25:00-04:00", + "2024-05-02T12:26:00-04:00", + "2024-05-02T12:27:00-04:00", + "2024-05-02T12:28:00-04:00", + "2024-05-02T12:29:00-04:00", + "2024-05-02T12:30:00-04:00", + "2024-05-02T12:31:00-04:00", + "2024-05-02T12:32:00-04:00", + "2024-05-02T12:33:00-04:00", + "2024-05-02T12:34:00-04:00", + "2024-05-02T12:35:00-04:00", + "2024-05-02T12:36:00-04:00", + "2024-05-02T12:37:00-04:00", + "2024-05-02T12:38:00-04:00", + "2024-05-02T12:39:00-04:00", + "2024-05-02T12:40:00-04:00", + "2024-05-02T12:41:00-04:00", + "2024-05-02T12:42:00-04:00", + "2024-05-02T12:43:00-04:00", + "2024-05-02T12:44:00-04:00", + "2024-05-02T12:45:00-04:00", + "2024-05-02T12:46:00-04:00", + "2024-05-02T12:47:00-04:00", + "2024-05-02T12:48:00-04:00", + "2024-05-02T12:49:00-04:00", + "2024-05-02T12:50:00-04:00", + "2024-05-02T12:51:00-04:00", + "2024-05-02T12:52:00-04:00", + "2024-05-02T12:53:00-04:00", + "2024-05-02T12:54:00-04:00", + "2024-05-02T12:55:00-04:00", + "2024-05-02T12:56:00-04:00", + "2024-05-02T12:57:00-04:00", + "2024-05-02T12:58:00-04:00", + "2024-05-02T12:59:00-04:00", + "2024-05-02T13:00:00-04:00", + "2024-05-02T13:01:00-04:00", + "2024-05-02T13:02:00-04:00", + "2024-05-02T13:03:00-04:00", + "2024-05-02T13:04:00-04:00", + "2024-05-02T13:05:00-04:00", + "2024-05-02T13:06:00-04:00", + "2024-05-02T13:07:00-04:00", + "2024-05-02T13:08:00-04:00", + "2024-05-02T13:09:00-04:00", + "2024-05-02T13:10:00-04:00", + "2024-05-02T13:11:00-04:00", + "2024-05-02T13:12:00-04:00", + "2024-05-02T13:13:00-04:00", + "2024-05-02T13:14:00-04:00", + "2024-05-02T13:15:00-04:00", + "2024-05-02T13:16:00-04:00", + "2024-05-02T13:17:00-04:00", + "2024-05-02T13:18:00-04:00", + "2024-05-02T13:19:00-04:00", + "2024-05-02T13:20:00-04:00", + "2024-05-02T13:21:00-04:00", + "2024-05-02T13:22:00-04:00", + "2024-05-02T13:23:00-04:00", + "2024-05-02T13:24:00-04:00", + "2024-05-02T13:25:00-04:00", + "2024-05-02T13:26:00-04:00", + "2024-05-02T13:27:00-04:00", + "2024-05-02T13:28:00-04:00", + "2024-05-02T13:29:00-04:00", + "2024-05-02T13:30:00-04:00", + "2024-05-02T13:31:00-04:00", + "2024-05-02T13:32:00-04:00", + "2024-05-02T13:33:00-04:00", + "2024-05-02T13:34:00-04:00", + "2024-05-02T13:35:00-04:00", + "2024-05-02T13:36:00-04:00", + "2024-05-02T13:37:00-04:00", + "2024-05-02T13:38:00-04:00", + "2024-05-02T13:39:00-04:00", + "2024-05-02T13:40:00-04:00", + "2024-05-02T13:41:00-04:00", + "2024-05-02T13:42:00-04:00", + "2024-05-02T13:43:00-04:00", + "2024-05-02T13:44:00-04:00", + "2024-05-02T13:45:00-04:00", + "2024-05-02T13:46:00-04:00", + "2024-05-02T13:47:00-04:00", + "2024-05-02T13:48:00-04:00", + "2024-05-02T13:49:00-04:00", + "2024-05-02T13:50:00-04:00", + "2024-05-02T13:51:00-04:00", + "2024-05-02T13:52:00-04:00", + "2024-05-02T13:53:00-04:00", + "2024-05-02T13:54:00-04:00", + "2024-05-02T13:55:00-04:00", + "2024-05-02T13:56:00-04:00", + "2024-05-02T13:57:00-04:00", + "2024-05-02T13:58:00-04:00", + "2024-05-02T13:59:00-04:00", + "2024-05-02T14:00:00-04:00", + "2024-05-02T14:01:00-04:00", + "2024-05-02T14:02:00-04:00", + "2024-05-02T14:03:00-04:00", + "2024-05-02T14:04:00-04:00", + "2024-05-02T14:05:00-04:00", + "2024-05-02T14:06:00-04:00", + "2024-05-02T14:07:00-04:00", + "2024-05-02T14:08:00-04:00", + "2024-05-02T14:09:00-04:00", + "2024-05-02T14:10:00-04:00", + "2024-05-02T14:11:00-04:00", + "2024-05-02T14:12:00-04:00", + "2024-05-02T14:13:00-04:00", + "2024-05-02T14:14:00-04:00", + "2024-05-02T14:15:00-04:00", + "2024-05-02T14:16:00-04:00", + "2024-05-02T14:17:00-04:00", + "2024-05-02T14:18:00-04:00", + "2024-05-02T14:19:00-04:00", + "2024-05-02T14:20:00-04:00", + "2024-05-02T14:21:00-04:00", + "2024-05-02T14:22:00-04:00", + "2024-05-02T14:23:00-04:00", + "2024-05-02T14:24:00-04:00", + "2024-05-02T14:25:00-04:00", + "2024-05-02T14:26:00-04:00", + "2024-05-02T14:27:00-04:00", + "2024-05-02T14:28:00-04:00", + "2024-05-02T14:29:00-04:00", + "2024-05-02T14:30:00-04:00", + "2024-05-02T14:31:00-04:00", + "2024-05-02T14:32:00-04:00", + "2024-05-02T14:33:00-04:00", + "2024-05-02T14:34:00-04:00", + "2024-05-02T14:35:00-04:00", + "2024-05-02T14:36:00-04:00", + "2024-05-02T14:37:00-04:00", + "2024-05-02T14:38:00-04:00", + "2024-05-02T14:39:00-04:00", + "2024-05-02T14:40:00-04:00", + "2024-05-02T14:41:00-04:00", + "2024-05-02T14:42:00-04:00", + "2024-05-02T14:43:00-04:00", + "2024-05-02T14:44:00-04:00", + "2024-05-02T14:45:00-04:00", + "2024-05-02T14:46:00-04:00", + "2024-05-02T14:47:00-04:00", + "2024-05-02T14:48:00-04:00", + "2024-05-02T14:49:00-04:00", + "2024-05-02T14:50:00-04:00", + "2024-05-02T14:51:00-04:00", + "2024-05-02T14:52:00-04:00", + "2024-05-02T14:53:00-04:00", + "2024-05-02T14:54:00-04:00", + "2024-05-02T14:55:00-04:00", + "2024-05-02T14:56:00-04:00", + "2024-05-02T14:57:00-04:00", + "2024-05-02T14:58:00-04:00", + "2024-05-02T14:59:00-04:00", + "2024-05-02T15:00:00-04:00", + "2024-05-02T15:01:00-04:00", + "2024-05-02T15:02:00-04:00", + "2024-05-02T15:03:00-04:00", + "2024-05-02T15:04:00-04:00", + "2024-05-02T15:05:00-04:00", + "2024-05-02T15:06:00-04:00", + "2024-05-02T15:07:00-04:00", + "2024-05-02T15:08:00-04:00", + "2024-05-02T15:09:00-04:00", + "2024-05-02T15:10:00-04:00", + "2024-05-02T15:11:00-04:00", + "2024-05-02T15:12:00-04:00", + "2024-05-02T15:13:00-04:00", + "2024-05-02T15:14:00-04:00", + "2024-05-02T15:15:00-04:00", + "2024-05-02T15:16:00-04:00", + "2024-05-02T15:17:00-04:00", + "2024-05-02T15:18:00-04:00", + "2024-05-02T15:19:00-04:00", + "2024-05-02T15:20:00-04:00", + "2024-05-02T15:21:00-04:00", + "2024-05-02T15:22:00-04:00", + "2024-05-02T15:23:00-04:00", + "2024-05-02T15:24:00-04:00", + "2024-05-02T15:25:00-04:00", + "2024-05-02T15:26:00-04:00", + "2024-05-02T15:27:00-04:00", + "2024-05-02T15:28:00-04:00", + "2024-05-02T15:29:00-04:00", + "2024-05-02T15:30:00-04:00", + "2024-05-02T15:31:00-04:00", + "2024-05-02T15:32:00-04:00", + "2024-05-02T15:33:00-04:00", + "2024-05-02T15:34:00-04:00", + "2024-05-02T15:35:00-04:00", + "2024-05-02T15:36:00-04:00", + "2024-05-02T15:37:00-04:00", + "2024-05-02T15:38:00-04:00", + "2024-05-02T15:39:00-04:00", + "2024-05-02T15:40:00-04:00", + "2024-05-02T15:41:00-04:00", + "2024-05-02T15:42:00-04:00", + "2024-05-02T15:43:00-04:00", + "2024-05-02T15:44:00-04:00", + "2024-05-02T15:45:00-04:00", + "2024-05-02T15:46:00-04:00", + "2024-05-02T15:47:00-04:00", + "2024-05-02T15:48:00-04:00", + "2024-05-02T15:49:00-04:00", + "2024-05-02T15:50:00-04:00", + "2024-05-02T15:51:00-04:00", + "2024-05-02T15:52:00-04:00", + "2024-05-02T15:53:00-04:00", + "2024-05-02T15:54:00-04:00", + "2024-05-02T15:55:00-04:00", + "2024-05-02T15:56:00-04:00", + "2024-05-02T15:57:00-04:00", + "2024-05-02T15:58:00-04:00", + "2024-05-02T15:59:00-04:00", + "2024-05-02T16:00:00-04:00", + "2024-05-03T09:30:00-04:00", + "2024-05-03T09:31:00-04:00", + "2024-05-03T09:32:00-04:00", + "2024-05-03T09:33:00-04:00", + "2024-05-03T09:34:00-04:00", + "2024-05-03T09:35:00-04:00", + "2024-05-03T09:36:00-04:00", + "2024-05-03T09:37:00-04:00", + "2024-05-03T09:38:00-04:00", + "2024-05-03T09:39:00-04:00", + "2024-05-03T09:40:00-04:00", + "2024-05-03T09:41:00-04:00", + "2024-05-03T09:42:00-04:00", + "2024-05-03T09:43:00-04:00", + "2024-05-03T09:44:00-04:00", + "2024-05-03T09:45:00-04:00", + "2024-05-03T09:46:00-04:00", + "2024-05-03T09:47:00-04:00", + "2024-05-03T09:48:00-04:00", + "2024-05-03T09:49:00-04:00", + "2024-05-03T09:50:00-04:00", + "2024-05-03T09:51:00-04:00", + "2024-05-03T09:52:00-04:00", + "2024-05-03T09:53:00-04:00", + "2024-05-03T09:54:00-04:00", + "2024-05-03T09:55:00-04:00", + "2024-05-03T09:56:00-04:00", + "2024-05-03T09:57:00-04:00", + "2024-05-03T09:58:00-04:00", + "2024-05-03T09:59:00-04:00", + "2024-05-03T10:00:00-04:00", + "2024-05-03T10:01:00-04:00", + "2024-05-03T10:02:00-04:00", + "2024-05-03T10:03:00-04:00", + "2024-05-03T10:04:00-04:00", + "2024-05-03T10:05:00-04:00", + "2024-05-03T10:06:00-04:00", + "2024-05-03T10:07:00-04:00", + "2024-05-03T10:08:00-04:00", + "2024-05-03T10:09:00-04:00", + "2024-05-03T10:10:00-04:00", + "2024-05-03T10:11:00-04:00", + "2024-05-03T10:12:00-04:00", + "2024-05-03T10:13:00-04:00", + "2024-05-03T10:14:00-04:00", + "2024-05-03T10:15:00-04:00", + "2024-05-03T10:16:00-04:00", + "2024-05-03T10:17:00-04:00", + "2024-05-03T10:18:00-04:00", + "2024-05-03T10:19:00-04:00", + "2024-05-03T10:20:00-04:00", + "2024-05-03T10:21:00-04:00", + "2024-05-03T10:22:00-04:00", + "2024-05-03T10:23:00-04:00", + "2024-05-03T10:24:00-04:00", + "2024-05-03T10:25:00-04:00", + "2024-05-03T10:26:00-04:00", + "2024-05-03T10:27:00-04:00", + "2024-05-03T10:28:00-04:00", + "2024-05-03T10:29:00-04:00", + "2024-05-03T10:30:00-04:00", + "2024-05-03T10:31:00-04:00", + "2024-05-03T10:32:00-04:00", + "2024-05-03T10:33:00-04:00", + "2024-05-03T10:34:00-04:00", + "2024-05-03T10:35:00-04:00", + "2024-05-03T10:36:00-04:00", + "2024-05-03T10:37:00-04:00", + "2024-05-03T10:38:00-04:00", + "2024-05-03T10:39:00-04:00", + "2024-05-03T10:40:00-04:00", + "2024-05-03T10:41:00-04:00", + "2024-05-03T10:42:00-04:00", + "2024-05-03T10:43:00-04:00", + "2024-05-03T10:44:00-04:00", + "2024-05-03T10:45:00-04:00", + "2024-05-03T10:46:00-04:00", + "2024-05-03T10:47:00-04:00", + "2024-05-03T10:48:00-04:00", + "2024-05-03T10:49:00-04:00", + "2024-05-03T10:50:00-04:00", + "2024-05-03T10:51:00-04:00", + "2024-05-03T10:52:00-04:00", + "2024-05-03T10:53:00-04:00", + "2024-05-03T10:54:00-04:00", + "2024-05-03T10:55:00-04:00", + "2024-05-03T10:56:00-04:00", + "2024-05-03T10:57:00-04:00", + "2024-05-03T10:58:00-04:00", + "2024-05-03T10:59:00-04:00", + "2024-05-03T11:00:00-04:00", + "2024-05-03T11:01:00-04:00", + "2024-05-03T11:02:00-04:00", + "2024-05-03T11:03:00-04:00", + "2024-05-03T11:04:00-04:00", + "2024-05-03T11:05:00-04:00", + "2024-05-03T11:06:00-04:00", + "2024-05-03T11:07:00-04:00", + "2024-05-03T11:08:00-04:00", + "2024-05-03T11:09:00-04:00", + "2024-05-03T11:10:00-04:00", + "2024-05-03T11:11:00-04:00", + "2024-05-03T11:12:00-04:00", + "2024-05-03T11:13:00-04:00", + "2024-05-03T11:14:00-04:00", + "2024-05-03T11:15:00-04:00", + "2024-05-03T11:16:00-04:00", + "2024-05-03T11:17:00-04:00", + "2024-05-03T11:18:00-04:00", + "2024-05-03T11:19:00-04:00", + "2024-05-03T11:20:00-04:00", + "2024-05-03T11:21:00-04:00", + "2024-05-03T11:22:00-04:00", + "2024-05-03T11:23:00-04:00", + "2024-05-03T11:24:00-04:00", + "2024-05-03T11:25:00-04:00", + "2024-05-03T11:26:00-04:00", + "2024-05-03T11:27:00-04:00", + "2024-05-03T11:28:00-04:00", + "2024-05-03T11:29:00-04:00", + "2024-05-03T11:30:00-04:00", + "2024-05-03T11:31:00-04:00", + "2024-05-03T11:32:00-04:00", + "2024-05-03T11:33:00-04:00", + "2024-05-03T11:34:00-04:00", + "2024-05-03T11:35:00-04:00", + "2024-05-03T11:36:00-04:00", + "2024-05-03T11:37:00-04:00", + "2024-05-03T11:38:00-04:00", + "2024-05-03T11:39:00-04:00", + "2024-05-03T11:40:00-04:00", + "2024-05-03T11:41:00-04:00", + "2024-05-03T11:42:00-04:00", + "2024-05-03T11:43:00-04:00", + "2024-05-03T11:44:00-04:00", + "2024-05-03T11:45:00-04:00", + "2024-05-03T11:46:00-04:00", + "2024-05-03T11:47:00-04:00", + "2024-05-03T11:48:00-04:00", + "2024-05-03T11:49:00-04:00", + "2024-05-03T11:50:00-04:00", + "2024-05-03T11:51:00-04:00", + "2024-05-03T11:52:00-04:00", + "2024-05-03T11:53:00-04:00", + "2024-05-03T11:54:00-04:00", + "2024-05-03T11:55:00-04:00", + "2024-05-03T11:56:00-04:00", + "2024-05-03T11:57:00-04:00", + "2024-05-03T11:58:00-04:00", + "2024-05-03T11:59:00-04:00", + "2024-05-03T12:00:00-04:00", + "2024-05-03T12:01:00-04:00", + "2024-05-03T12:02:00-04:00", + "2024-05-03T12:03:00-04:00", + "2024-05-03T12:04:00-04:00", + "2024-05-03T12:05:00-04:00", + "2024-05-03T12:06:00-04:00", + "2024-05-03T12:07:00-04:00", + "2024-05-03T12:08:00-04:00", + "2024-05-03T12:09:00-04:00", + "2024-05-03T12:10:00-04:00", + "2024-05-03T12:11:00-04:00", + "2024-05-03T12:12:00-04:00", + "2024-05-03T12:13:00-04:00", + "2024-05-03T12:14:00-04:00", + "2024-05-03T12:15:00-04:00", + "2024-05-03T12:16:00-04:00", + "2024-05-03T12:17:00-04:00", + "2024-05-03T12:18:00-04:00", + "2024-05-03T12:19:00-04:00", + "2024-05-03T12:20:00-04:00", + "2024-05-03T12:21:00-04:00", + "2024-05-03T12:22:00-04:00", + "2024-05-03T12:23:00-04:00", + "2024-05-03T12:24:00-04:00", + "2024-05-03T12:25:00-04:00", + "2024-05-03T12:26:00-04:00", + "2024-05-03T12:27:00-04:00", + "2024-05-03T12:28:00-04:00", + "2024-05-03T12:29:00-04:00", + "2024-05-03T12:30:00-04:00", + "2024-05-03T12:31:00-04:00", + "2024-05-03T12:32:00-04:00", + "2024-05-03T12:33:00-04:00", + "2024-05-03T12:34:00-04:00", + "2024-05-03T12:35:00-04:00", + "2024-05-03T12:36:00-04:00", + "2024-05-03T12:37:00-04:00", + "2024-05-03T12:38:00-04:00", + "2024-05-03T12:39:00-04:00", + "2024-05-03T12:40:00-04:00", + "2024-05-03T12:41:00-04:00", + "2024-05-03T12:42:00-04:00", + "2024-05-03T12:43:00-04:00", + "2024-05-03T12:44:00-04:00", + "2024-05-03T12:45:00-04:00", + "2024-05-03T12:46:00-04:00", + "2024-05-03T12:47:00-04:00", + "2024-05-03T12:48:00-04:00", + "2024-05-03T12:49:00-04:00", + "2024-05-03T12:50:00-04:00", + "2024-05-03T12:51:00-04:00", + "2024-05-03T12:52:00-04:00", + "2024-05-03T12:53:00-04:00", + "2024-05-03T12:54:00-04:00", + "2024-05-03T12:55:00-04:00", + "2024-05-03T12:56:00-04:00", + "2024-05-03T12:57:00-04:00", + "2024-05-03T12:58:00-04:00", + "2024-05-03T12:59:00-04:00", + "2024-05-03T13:00:00-04:00", + "2024-05-03T13:01:00-04:00", + "2024-05-03T13:02:00-04:00", + "2024-05-03T13:03:00-04:00", + "2024-05-03T13:04:00-04:00", + "2024-05-03T13:05:00-04:00", + "2024-05-03T13:06:00-04:00", + "2024-05-03T13:07:00-04:00", + "2024-05-03T13:08:00-04:00", + "2024-05-03T13:09:00-04:00", + "2024-05-03T13:10:00-04:00", + "2024-05-03T13:11:00-04:00", + "2024-05-03T13:12:00-04:00", + "2024-05-03T13:13:00-04:00", + "2024-05-03T13:14:00-04:00", + "2024-05-03T13:15:00-04:00", + "2024-05-03T13:16:00-04:00", + "2024-05-03T13:17:00-04:00", + "2024-05-03T13:18:00-04:00", + "2024-05-03T13:19:00-04:00", + "2024-05-03T13:20:00-04:00", + "2024-05-03T13:21:00-04:00", + "2024-05-03T13:22:00-04:00", + "2024-05-03T13:23:00-04:00", + "2024-05-03T13:24:00-04:00", + "2024-05-03T13:25:00-04:00", + "2024-05-03T13:26:00-04:00", + "2024-05-03T13:27:00-04:00", + "2024-05-03T13:28:00-04:00", + "2024-05-03T13:29:00-04:00", + "2024-05-03T13:30:00-04:00", + "2024-05-03T13:31:00-04:00", + "2024-05-03T13:32:00-04:00", + "2024-05-03T13:33:00-04:00", + "2024-05-03T13:34:00-04:00", + "2024-05-03T13:35:00-04:00", + "2024-05-03T13:36:00-04:00", + "2024-05-03T13:37:00-04:00", + "2024-05-03T13:38:00-04:00", + "2024-05-03T13:39:00-04:00", + "2024-05-03T13:40:00-04:00", + "2024-05-03T13:41:00-04:00", + "2024-05-03T13:42:00-04:00", + "2024-05-03T13:43:00-04:00", + "2024-05-03T13:44:00-04:00", + "2024-05-03T13:45:00-04:00", + "2024-05-03T13:46:00-04:00", + "2024-05-03T13:47:00-04:00", + "2024-05-03T13:48:00-04:00", + "2024-05-03T13:49:00-04:00", + "2024-05-03T13:50:00-04:00", + "2024-05-03T13:51:00-04:00", + "2024-05-03T13:52:00-04:00", + "2024-05-03T13:53:00-04:00", + "2024-05-03T13:54:00-04:00", + "2024-05-03T13:55:00-04:00", + "2024-05-03T13:56:00-04:00", + "2024-05-03T13:57:00-04:00", + "2024-05-03T13:58:00-04:00", + "2024-05-03T13:59:00-04:00", + "2024-05-03T14:00:00-04:00", + "2024-05-03T14:01:00-04:00", + "2024-05-03T14:02:00-04:00", + "2024-05-03T14:03:00-04:00", + "2024-05-03T14:04:00-04:00", + "2024-05-03T14:05:00-04:00", + "2024-05-03T14:06:00-04:00", + "2024-05-03T14:07:00-04:00", + "2024-05-03T14:08:00-04:00", + "2024-05-03T14:09:00-04:00", + "2024-05-03T14:10:00-04:00", + "2024-05-03T14:11:00-04:00", + "2024-05-03T14:12:00-04:00", + "2024-05-03T14:13:00-04:00", + "2024-05-03T14:14:00-04:00", + "2024-05-03T14:15:00-04:00", + "2024-05-03T14:16:00-04:00", + "2024-05-03T14:17:00-04:00", + "2024-05-03T14:18:00-04:00", + "2024-05-03T14:19:00-04:00", + "2024-05-03T14:20:00-04:00", + "2024-05-03T14:21:00-04:00", + "2024-05-03T14:22:00-04:00", + "2024-05-03T14:23:00-04:00", + "2024-05-03T14:24:00-04:00", + "2024-05-03T14:25:00-04:00", + "2024-05-03T14:26:00-04:00", + "2024-05-03T14:27:00-04:00", + "2024-05-03T14:28:00-04:00", + "2024-05-03T14:29:00-04:00", + "2024-05-03T14:30:00-04:00", + "2024-05-03T14:31:00-04:00", + "2024-05-03T14:32:00-04:00", + "2024-05-03T14:33:00-04:00", + "2024-05-03T14:34:00-04:00", + "2024-05-03T14:35:00-04:00", + "2024-05-03T14:36:00-04:00", + "2024-05-03T14:37:00-04:00", + "2024-05-03T14:38:00-04:00", + "2024-05-03T14:39:00-04:00", + "2024-05-03T14:40:00-04:00", + "2024-05-03T14:41:00-04:00", + "2024-05-03T14:42:00-04:00", + "2024-05-03T14:43:00-04:00", + "2024-05-03T14:44:00-04:00", + "2024-05-03T14:45:00-04:00", + "2024-05-03T14:46:00-04:00", + "2024-05-03T14:47:00-04:00", + "2024-05-03T14:48:00-04:00", + "2024-05-03T14:49:00-04:00", + "2024-05-03T14:50:00-04:00", + "2024-05-03T14:51:00-04:00", + "2024-05-03T14:52:00-04:00", + "2024-05-03T14:53:00-04:00", + "2024-05-03T14:54:00-04:00", + "2024-05-03T14:55:00-04:00", + "2024-05-03T14:56:00-04:00", + "2024-05-03T14:57:00-04:00", + "2024-05-03T14:58:00-04:00", + "2024-05-03T14:59:00-04:00", + "2024-05-03T15:00:00-04:00", + "2024-05-03T15:01:00-04:00", + "2024-05-03T15:02:00-04:00", + "2024-05-03T15:03:00-04:00", + "2024-05-03T15:04:00-04:00", + "2024-05-03T15:05:00-04:00", + "2024-05-03T15:06:00-04:00", + "2024-05-03T15:07:00-04:00", + "2024-05-03T15:08:00-04:00", + "2024-05-03T15:09:00-04:00", + "2024-05-03T15:10:00-04:00", + "2024-05-03T15:11:00-04:00", + "2024-05-03T15:12:00-04:00", + "2024-05-03T15:13:00-04:00", + "2024-05-03T15:14:00-04:00", + "2024-05-03T15:15:00-04:00", + "2024-05-03T15:16:00-04:00", + "2024-05-03T15:17:00-04:00", + "2024-05-03T15:18:00-04:00", + "2024-05-03T15:19:00-04:00", + "2024-05-03T15:20:00-04:00", + "2024-05-03T15:21:00-04:00", + "2024-05-03T15:22:00-04:00", + "2024-05-03T15:23:00-04:00", + "2024-05-03T15:24:00-04:00", + "2024-05-03T15:25:00-04:00", + "2024-05-03T15:26:00-04:00", + "2024-05-03T15:27:00-04:00", + "2024-05-03T15:28:00-04:00", + "2024-05-03T15:29:00-04:00", + "2024-05-03T15:30:00-04:00", + "2024-05-03T15:31:00-04:00", + "2024-05-03T15:32:00-04:00", + "2024-05-03T15:33:00-04:00", + "2024-05-03T15:34:00-04:00", + "2024-05-03T15:35:00-04:00", + "2024-05-03T15:36:00-04:00", + "2024-05-03T15:37:00-04:00", + "2024-05-03T15:38:00-04:00", + "2024-05-03T15:39:00-04:00", + "2024-05-03T15:40:00-04:00", + "2024-05-03T15:41:00-04:00", + "2024-05-03T15:42:00-04:00", + "2024-05-03T15:43:00-04:00", + "2024-05-03T15:44:00-04:00", + "2024-05-03T15:45:00-04:00", + "2024-05-03T15:46:00-04:00", + "2024-05-03T15:47:00-04:00", + "2024-05-03T15:48:00-04:00", + "2024-05-03T15:49:00-04:00", + "2024-05-03T15:50:00-04:00", + "2024-05-03T15:51:00-04:00", + "2024-05-03T15:52:00-04:00", + "2024-05-03T15:53:00-04:00", + "2024-05-03T15:54:00-04:00", + "2024-05-03T15:55:00-04:00", + "2024-05-03T15:56:00-04:00", + "2024-05-03T15:57:00-04:00", + "2024-05-03T15:58:00-04:00", + "2024-05-03T15:59:00-04:00", + "2024-05-03T16:00:00-04:00", + "2024-05-06T09:30:00-04:00", + "2024-05-06T09:31:00-04:00", + "2024-05-06T09:32:00-04:00", + "2024-05-06T09:33:00-04:00", + "2024-05-06T09:34:00-04:00", + "2024-05-06T09:35:00-04:00", + "2024-05-06T09:36:00-04:00", + "2024-05-06T09:37:00-04:00", + "2024-05-06T09:38:00-04:00", + "2024-05-06T09:39:00-04:00", + "2024-05-06T09:40:00-04:00", + "2024-05-06T09:41:00-04:00", + "2024-05-06T09:42:00-04:00", + "2024-05-06T09:43:00-04:00", + "2024-05-06T09:44:00-04:00", + "2024-05-06T09:45:00-04:00", + "2024-05-06T09:46:00-04:00", + "2024-05-06T09:47:00-04:00", + "2024-05-06T09:48:00-04:00", + "2024-05-06T09:49:00-04:00", + "2024-05-06T09:50:00-04:00", + "2024-05-06T09:51:00-04:00", + "2024-05-06T09:52:00-04:00", + "2024-05-06T09:53:00-04:00", + "2024-05-06T09:54:00-04:00", + "2024-05-06T09:55:00-04:00", + "2024-05-06T09:56:00-04:00", + "2024-05-06T09:57:00-04:00", + "2024-05-06T09:58:00-04:00", + "2024-05-06T09:59:00-04:00", + "2024-05-06T10:00:00-04:00", + "2024-05-06T10:01:00-04:00", + "2024-05-06T10:02:00-04:00", + "2024-05-06T10:03:00-04:00", + "2024-05-06T10:04:00-04:00", + "2024-05-06T10:05:00-04:00", + "2024-05-06T10:06:00-04:00", + "2024-05-06T10:07:00-04:00", + "2024-05-06T10:08:00-04:00", + "2024-05-06T10:09:00-04:00", + "2024-05-06T10:10:00-04:00", + "2024-05-06T10:11:00-04:00", + "2024-05-06T10:12:00-04:00", + "2024-05-06T10:13:00-04:00", + "2024-05-06T10:14:00-04:00", + "2024-05-06T10:15:00-04:00", + "2024-05-06T10:16:00-04:00", + "2024-05-06T10:17:00-04:00", + "2024-05-06T10:18:00-04:00", + "2024-05-06T10:19:00-04:00", + "2024-05-06T10:20:00-04:00", + "2024-05-06T10:21:00-04:00", + "2024-05-06T10:22:00-04:00", + "2024-05-06T10:23:00-04:00", + "2024-05-06T10:24:00-04:00", + "2024-05-06T10:25:00-04:00", + "2024-05-06T10:26:00-04:00", + "2024-05-06T10:27:00-04:00", + "2024-05-06T10:28:00-04:00", + "2024-05-06T10:29:00-04:00", + "2024-05-06T10:30:00-04:00", + "2024-05-06T10:31:00-04:00", + "2024-05-06T10:32:00-04:00", + "2024-05-06T10:33:00-04:00", + "2024-05-06T10:34:00-04:00", + "2024-05-06T10:35:00-04:00", + "2024-05-06T10:36:00-04:00", + "2024-05-06T10:37:00-04:00", + "2024-05-06T10:38:00-04:00", + "2024-05-06T10:39:00-04:00", + "2024-05-06T10:40:00-04:00", + "2024-05-06T10:41:00-04:00", + "2024-05-06T10:42:00-04:00", + "2024-05-06T10:43:00-04:00", + "2024-05-06T10:44:00-04:00", + "2024-05-06T10:45:00-04:00", + "2024-05-06T10:46:00-04:00", + "2024-05-06T10:47:00-04:00", + "2024-05-06T10:48:00-04:00", + "2024-05-06T10:49:00-04:00", + "2024-05-06T10:50:00-04:00", + "2024-05-06T10:51:00-04:00", + "2024-05-06T10:52:00-04:00", + "2024-05-06T10:53:00-04:00", + "2024-05-06T10:54:00-04:00", + "2024-05-06T10:55:00-04:00", + "2024-05-06T10:56:00-04:00", + "2024-05-06T10:57:00-04:00", + "2024-05-06T10:58:00-04:00", + "2024-05-06T10:59:00-04:00", + "2024-05-06T11:00:00-04:00", + "2024-05-06T11:01:00-04:00", + "2024-05-06T11:02:00-04:00", + "2024-05-06T11:03:00-04:00", + "2024-05-06T11:04:00-04:00", + "2024-05-06T11:05:00-04:00", + "2024-05-06T11:06:00-04:00", + "2024-05-06T11:07:00-04:00", + "2024-05-06T11:08:00-04:00", + "2024-05-06T11:09:00-04:00", + "2024-05-06T11:10:00-04:00", + "2024-05-06T11:11:00-04:00", + "2024-05-06T11:12:00-04:00", + "2024-05-06T11:13:00-04:00", + "2024-05-06T11:14:00-04:00", + "2024-05-06T11:15:00-04:00", + "2024-05-06T11:16:00-04:00", + "2024-05-06T11:17:00-04:00", + "2024-05-06T11:18:00-04:00", + "2024-05-06T11:19:00-04:00", + "2024-05-06T11:20:00-04:00", + "2024-05-06T11:21:00-04:00", + "2024-05-06T11:22:00-04:00", + "2024-05-06T11:23:00-04:00", + "2024-05-06T11:24:00-04:00", + "2024-05-06T11:25:00-04:00", + "2024-05-06T11:26:00-04:00", + "2024-05-06T11:27:00-04:00", + "2024-05-06T11:28:00-04:00", + "2024-05-06T11:29:00-04:00", + "2024-05-06T11:30:00-04:00", + "2024-05-06T11:31:00-04:00", + "2024-05-06T11:32:00-04:00", + "2024-05-06T11:33:00-04:00", + "2024-05-06T11:34:00-04:00", + "2024-05-06T11:35:00-04:00", + "2024-05-06T11:36:00-04:00", + "2024-05-06T11:37:00-04:00" + ], + "xaxis": "x2", + "y": [ + 476819, + 147198, + 107729, + 52305, + 41294, + 149136, + 455714, + 158670, + 100294, + 52662, + 60270, + 81318, + 88399, + 56754, + 69611, + 43062, + 79043, + 67572, + 107692, + 135780, + 107246, + 76623, + 67289, + 78301, + 32241, + 37861, + 60979, + 25158, + 57658, + 53533, + 97239, + 120687, + 73368, + 47086, + 31035, + 30006, + 167403, + 76511, + 55389, + 50385, + 47613, + 24779, + 44778, + 31130, + 36368, + 26718, + 30934, + 30306, + 40678, + 28435, + 69089, + 69599, + 21039, + 52290, + 72679, + 38639, + 36759, + 34346, + 41839, + 63734, + 35529, + 49198, + 34877, + 45664, + 32861, + 21583, + 77348, + 16858, + 71059, + 52007, + 30672, + 77942, + 9282, + 15392, + 47689, + 45724, + 53506, + 26614, + 50597, + 41559, + 70104, + 22214, + 29845, + 60478, + 22542, + 60417, + 38050, + 31725, + 19608, + 46028, + 59389, + 22585, + 27395, + 48142, + 20314, + 40527, + 34800, + 38290, + 28319, + 31835, + 14993, + 42023, + 59221, + 72413, + 33672, + 59806, + 30114, + 14228, + 23988, + 18203, + 40487, + 45564, + 93417, + 40060, + 50023, + 67954, + 36273, + 47937, + 38289, + 78514, + 42365, + 28995, + 54015, + 42232, + 16777, + 43652, + 49836, + 16452, + 17279, + 16837, + 47486, + 16083, + 17527, + 15116, + 15741, + 20396, + 20592, + 16901, + 12092, + 13361, + 31413, + 11114, + 28741, + 21487, + 28859, + 18448, + 77073, + 46052, + 67045, + 118067, + 56556, + 15057, + 83188, + 135518, + 139890, + 23414, + 19680, + 49385, + 6660, + 52212, + 8552, + 7977, + 15671, + 41986, + 21919, + 19962, + 13600, + 6999, + 34503, + 19887, + 3951, + 33568, + 14348, + 4353, + 17498, + 14129, + 11322, + 34725, + 4526, + 33978, + 74261, + 22462, + 64747, + 27871, + 20470, + 59889, + 10674, + 17963, + 20059, + 28923, + 30766, + 29717, + 67454, + 9203, + 27800, + 37744, + 16297, + 58832, + 48529, + 20942, + 9022, + 8733, + 54037, + 48058, + 15693, + 12567, + 59758, + 5854, + 23945, + 22763, + 28926, + 30585, + 21061, + 69252, + 24167, + 19885, + 16205, + 15217, + 16035, + 53041, + 15123, + 49874, + 14122, + 13825, + 53262, + 48999, + 6357, + 34024, + 20246, + 34616, + 18452, + 29115, + 34171, + 15956, + 10157, + 36631, + 33061, + 15703, + 35577, + 24346, + 30543, + 16975, + 20090, + 8753, + 10425, + 84523, + 49343, + 31237, + 25595, + 22320, + 4573, + 29999, + 70394, + 32995, + 37162, + 21369, + 66490, + 350096, + 42833, + 16940, + 21313, + 39980, + 42959, + 24088, + 29939, + 56440, + 64681, + 44343, + 17926, + 47183, + 134625, + 53180, + 32903, + 28196, + 11231, + 19274, + 27815, + 26354, + 309631, + 11099, + 46662, + 16969, + 36066, + 33716, + 44196, + 26264, + 37339, + 28565, + 36319, + 61208, + 34647, + 11647, + 52748, + 34795, + 46719, + 74603, + 28496, + 31141, + 39582, + 7069, + 79325, + 58823, + 116577, + 45643, + 60246, + 40670, + 29921, + 37342, + 323619, + 36212, + 34988, + 22681, + 23164, + 18411, + 27520, + 31261, + 9510, + 70112, + 36559, + 10775, + 85458, + 42005, + 39172, + 47271, + 53073, + 17599, + 30613, + 29909, + 54235, + 29082, + 159376, + 78433, + 109489, + 153972, + 129055, + 105200, + 129056, + 89880, + 76309, + 79373, + 141810, + 318509, + 63621, + 63996, + 48641, + 63204, + 44451, + 66855, + 46777, + 42359, + 68592, + 58275, + 25519, + 52202, + 32129, + 97663, + 48184, + 71175, + 51149, + 103305, + 91816, + 45302, + 65654, + 41497, + 66520, + 124492, + 94009, + 33478, + 101343, + 65258, + 75802, + 55601, + 109036, + 87371, + 200251, + 111648, + 93925, + 56568, + 133526, + 149060, + 258715, + 161292, + 114314, + 191636, + 147194, + 408496, + 214784, + 165521, + 378477, + 726992, + 3310067, + 522293, + 59784, + 90734, + 121649, + 59713, + 131614, + 78648, + 157488, + 112401, + 96554, + 46447, + 33230, + 67952, + 36464, + 47554, + 60602, + 92745, + 30513, + 39917, + 52179, + 71313, + 62066, + 56060, + 47661, + 39575, + 58158, + 43982, + 46101, + 42954, + 137060, + 94047, + 41018, + 64973, + 65179, + 61932, + 40242, + 47561, + 52290, + 52744, + 57026, + 34189, + 58646, + 48546, + 37891, + 39470, + 48029, + 33446, + 71300, + 91116, + 28531, + 19908, + 52602, + 33630, + 21690, + 209476, + 21479, + 36845, + 32158, + 47868, + 52599, + 46629, + 97227, + 70109, + 44994, + 28172, + 55412, + 35841, + 33637, + 21455, + 21281, + 39089, + 22926, + 41951, + 29728, + 28369, + 55963, + 36980, + 55088, + 62972, + 51335, + 102958, + 66434, + 74311, + 35422, + 59389, + 37657, + 36497, + 43700, + 45146, + 34229, + 29208, + 35569, + 37276, + 38001, + 18393, + 97878, + 67519, + 33942, + 80201, + 42870, + 40938, + 98147, + 72525, + 58343, + 22427, + 43234, + 36284, + 23898, + 37983, + 13994, + 21708, + 27270, + 16410, + 21008, + 21329, + 80410, + 12425, + 53421, + 40966, + 27017, + 45938, + 51100, + 37102, + 32125, + 20666, + 34721, + 28346, + 17067, + 11533, + 29172, + 19692, + 13943, + 32736, + 17499, + 26987, + 23074, + 57319, + 38621, + 45858, + 28319, + 32661, + 18039, + 31491, + 21110, + 12747, + 18907, + 32118, + 34970, + 62972, + 36963, + 29862, + 39731, + 19145, + 13668, + 17239, + 41816, + 22265, + 34354, + 26276, + 23062, + 23490, + 18953, + 22511, + 16734, + 18210, + 31050, + 14469, + 41618, + 23304, + 4676, + 21026, + 30479, + 24978, + 25233, + 30422, + 87671, + 8154, + 38340, + 8084, + 97977, + 42593, + 57405, + 45626, + 29054, + 27368, + 24549, + 13389, + 33288, + 31604, + 18552, + 6833, + 38599, + 27428, + 25077, + 35156, + 30233, + 48129, + 31938, + 37325, + 40999, + 49408, + 95739, + 24195, + 12750, + 30526, + 41408, + 29048, + 42553, + 31325, + 24631, + 44359, + 36055, + 27214, + 15825, + 21117, + 88290, + 38214, + 179941, + 32566, + 22378, + 15302, + 39623, + 37024, + 25029, + 24561, + 23419, + 48633, + 18703, + 102257, + 11184, + 112871, + 30029, + 7430, + 38352, + 42473, + 33833, + 11759, + 29578, + 136949, + 34515, + 32189, + 20938, + 16721, + 22062, + 15162, + 30908, + 128341, + 33012, + 33768, + 22429, + 160999, + 91744, + 11267, + 25795, + 125025, + 21998, + 55121, + 32114, + 26498, + 14747, + 432366, + 26567, + 49467, + 17586, + 10503, + 43683, + 15751, + 53691, + 268014, + 35422, + 96995, + 84054, + 27319, + 20616, + 20924, + 39051, + 21667, + 22485, + 36602, + 27107, + 100530, + 34239, + 41458, + 35014, + 19251, + 13407, + 64886, + 38971, + 16824, + 33572, + 24104, + 38636, + 29603, + 30743, + 32157, + 64237, + 102704, + 26576, + 52998, + 50353, + 49126, + 112712, + 57857, + 962682, + 103178, + 81395, + 117267, + 120754, + 41297, + 57508, + 63784, + 187637, + 31733, + 40217, + 90324, + 79812, + 49137, + 43417, + 32322, + 113777, + 74579, + 147193, + 72734, + 20313, + 32016, + 22387, + 54557, + 51568, + 34040, + 53466, + 89736, + 74719, + 86650, + 46240, + 13754, + 25284, + 26956, + 41945, + 25055, + 35879, + 60764, + 37465, + 19095, + 30076, + 39171, + 40251, + 99251, + 103651, + 44424, + 42079, + 41463, + 30687, + 66049, + 63324, + 43741, + 30747, + 55270, + 61446, + 120156, + 140939, + 66853, + 86953, + 69355, + 32690, + 58048, + 81731, + 56422, + 120569, + 32288, + 80189, + 100647, + 38668, + 134089, + 132156, + 58361, + 140733, + 108290, + 76810, + 143928, + 119693, + 204627, + 152848, + 182981, + 207355, + 289724, + 259424, + 297020, + 260683, + 470771, + 925082, + 5163125, + 480619, + 118689, + 103986, + 141482, + 126299, + 207279, + 61694, + 53002, + 148644, + 59706, + 158412, + 105009, + 94631, + 67056, + 43267, + 45438, + 119031, + 151877, + 61861, + 128523, + 39193, + 109972, + 98812, + 71738, + 184539, + 56983, + 63541, + 94202, + 97919, + 35210, + 114040, + 85224, + 38508, + 49465, + 41544, + 45346, + 45355, + 48491, + 29884, + 19114, + 62273, + 38463, + 47395, + 64627, + 29976, + 57399, + 31894, + 18158, + 48568, + 23577, + 37492, + 28857, + 29590, + 29162, + 34976, + 22501, + 35752, + 22913, + 46532, + 55103, + 67844, + 25659, + 38411, + 48699, + 18565, + 24885, + 27549, + 37755, + 26536, + 42655, + 17325, + 19481, + 39973, + 29961, + 16250, + 24281, + 55657, + 34541, + 31764, + 68442, + 81439, + 44528, + 40043, + 22332, + 22438, + 24293, + 49370, + 28838, + 6482, + 7731, + 26480, + 21509, + 22245, + 27575, + 34032, + 12237, + 6827, + 30459, + 33827, + 32335, + 23972, + 46457, + 49986, + 43753, + 47273, + 21018, + 21404, + 38890, + 42471, + 54546, + 69145, + 26744, + 10780, + 22811, + 22440, + 20609, + 16209, + 9941, + 41265, + 32005, + 23044, + 8161, + 59831, + 36652, + 139894, + 75249, + 47216, + 33908, + 51441, + 49022, + 45913, + 50579, + 84834, + 24393, + 42068, + 61857, + 103831, + 92478, + 71283, + 80623, + 79696, + 86746, + 110670, + 30049, + 284608, + 45053, + 33466, + 112238, + 75769, + 45694, + 47120, + 27010, + 75268, + 24760, + 20170, + 23242, + 13814, + 16711, + 14280, + 21005, + 46785, + 17495, + 133822, + 43794, + 44987, + 13118, + 34105, + 31908, + 39741, + 27312, + 60882, + 92474, + 41987, + 46728, + 23542, + 26486, + 17386, + 15667, + 66680, + 57098, + 17563, + 10075, + 57468, + 46734, + 32822, + 20437, + 27376, + 50021, + 21331, + 73889, + 17234, + 25814, + 31603, + 27124, + 84551, + 59360, + 40184, + 17191, + 10811, + 7580, + 17510, + 23243, + 16827, + 9881, + 22042, + 5854, + 13848, + 47313, + 10173, + 40406, + 77532, + 11168, + 71350, + 12618, + 38945, + 166918, + 54515, + 52741, + 25976, + 44885, + 29824, + 16837, + 15392, + 37202, + 25331, + 13457, + 264750, + 15561, + 16766, + 26357, + 19788, + 77008, + 119057, + 22644, + 10317, + 7596, + 24251, + 27908, + 9168, + 13284, + 18499, + 13428, + 32906, + 24434, + 116824, + 20455, + 32603, + 41168, + 16334, + 49438, + 28650, + 12890, + 17184, + 18655, + 7716, + 50715, + 39409, + 3917, + 6324, + 16791, + 62526, + 59684, + 40820, + 61425, + 115024, + 65174, + 50836, + 55115, + 60479, + 51869, + 168747, + 133756, + 70972, + 40223, + 58472, + 47929, + 24979, + 50068, + 17808, + 32200, + 22200, + 48320, + 32872, + 17544, + 107105, + 47437, + 24089, + 14609, + 35558, + 48362, + 25322, + 21852, + 21930, + 50835, + 29517, + 79375, + 95825, + 43784, + 161623, + 89789, + 54141, + 149927, + 141040, + 90442, + 110814, + 167726, + 209436, + 165389, + 140663, + 94591, + 167302, + 47747, + 255235, + 78008, + 129081, + 66198, + 139506, + 109272, + 101344, + 79487, + 114216, + 43073, + 54690, + 45408, + 46612, + 114217, + 152675, + 81277, + 247335, + 206461, + 404892, + 105695, + 75401, + 154724, + 123219, + 99710, + 47777, + 80119, + 59569, + 152005, + 83482, + 159662, + 95226, + 49489, + 90800, + 149401, + 81056, + 66763, + 103122, + 97479, + 94363, + 182847, + 86334, + 50235, + 83090, + 72212, + 151312, + 397305, + 189708, + 104021, + 263623, + 203993, + 362870, + 211834, + 228303, + 85970, + 124198, + 72004, + 61527, + 116900, + 115052, + 147129, + 95233, + 114490, + 105720, + 101911, + 93163, + 115973, + 134539, + 88977, + 140412, + 160525, + 236528, + 197242, + 162588, + 268668, + 312442, + 263046, + 367601, + 677951, + 4119936, + 537249, + 131556, + 119527, + 52933, + 66688, + 81221, + 139811, + 71664, + 73175, + 58365, + 102770, + 104223, + 84938, + 61134, + 69419, + 70574, + 53044, + 61110, + 42864, + 33971, + 77547, + 130868, + 35845, + 30128, + 33720, + 144916, + 157801, + 102640, + 39930, + 54251, + 58757, + 94602, + 52684, + 40688, + 37890, + 31245, + 107460, + 63446, + 61025, + 149489, + 103461, + 46489, + 31726, + 44589, + 53106, + 90947, + 42085, + 146323, + 93643, + 139343, + 136129, + 76469, + 77754, + 61547, + 73299, + 105236, + 71168, + 80028, + 94549, + 36365, + 45612, + 22283, + 126745, + 119714, + 24534, + 100053, + 62724, + 24152, + 32428, + 49192, + 63009, + 80257, + 96725, + 93445, + 48966, + 46985, + 43235, + 72918, + 35741, + 46387, + 40966, + 42001, + 83323, + 148450, + 46987, + 52713, + 98601, + 52913, + 55496, + 64165, + 62705, + 69678, + 80733, + 38265, + 41316, + 30273, + 80302, + 46749, + 72413, + 50855, + 58493, + 36934, + 94929, + 57414, + 57108, + 48653, + 53120, + 63918, + 59274, + 56282, + 88153, + 33334, + 57753, + 55819, + 44469, + 70123, + 32329, + 75772, + 65336, + 19180, + 27498, + 81256, + 85553, + 44712, + 95183, + 23073, + 71190, + 41500, + 83303, + 25060, + 59501, + 35822, + 43361, + 78335, + 45335, + 47124, + 86773, + 30969, + 16394, + 33263, + 59164, + 40249, + 43566, + 20624, + 43239, + 21976, + 24742, + 35760, + 4851, + 46369, + 73620, + 48095, + 73017, + 69680, + 41468, + 58131, + 32052, + 29249, + 53696, + 49741, + 62580, + 66152, + 54718, + 35225, + 33249, + 78089, + 43076, + 34065, + 32298, + 21958, + 35951, + 42258, + 65146, + 65612, + 132219, + 52703, + 25453, + 15991, + 40036, + 31192, + 90067, + 37785, + 311427, + 61057, + 45249, + 49941, + 87393, + 65795, + 32596, + 81129, + 46553, + 71522, + 42041, + 36895, + 33708, + 28283, + 16607, + 40168, + 44444, + 33394, + 19519, + 34770, + 17662, + 59555, + 18833, + 22634, + 28651, + 45062, + 21261, + 67586, + 13384, + 81195, + 23328, + 19154, + 25172, + 37854, + 27798, + 18378, + 45026, + 11768, + 26419, + 37829, + 28011, + 73427, + 25150, + 46331, + 69953, + 18416, + 17430, + 30934, + 56453, + 31506, + 235358, + 16209, + 80620, + 49035, + 25979, + 19599, + 25418, + 100696, + 70765, + 38718, + 20774, + 35679, + 38072, + 24404, + 25658, + 148897, + 131589, + 53718, + 28574, + 82298, + 44929, + 55721, + 30386, + 59636, + 38060, + 56641, + 51304, + 22996, + 37665, + 31745, + 94643, + 40609, + 74966, + 45116, + 11599, + 22051, + 78484, + 47508, + 62544, + 63910, + 33558, + 52279, + 47242, + 45130, + 216976, + 115663, + 106090, + 68366, + 444686, + 485047, + 58779, + 285267, + 17426, + 61926, + 85381, + 132180, + 43033, + 61653, + 28095, + 56225, + 19460, + 83416, + 15570, + 38095, + 22722, + 79764, + 42209, + 167114, + 58536, + 30431, + 80297, + 100623, + 87075, + 46243, + 26586, + 58840, + 102392, + 32225, + 374269, + 415234, + 229571, + 73305, + 21475, + 76018, + 36909, + 79794, + 42180, + 66785, + 152687, + 29456, + 129751, + 66209, + 113022, + 27827, + 50254, + 288029, + 123861, + 160232, + 183583, + 55882, + 127440, + 63065, + 107326, + 74923, + 124055, + 77201, + 52067, + 95203, + 103390, + 65762, + 55112, + 49062, + 49907, + 47329, + 91767, + 94067, + 278244, + 134132, + 80150, + 36595, + 61217, + 49823, + 153183, + 90449, + 61746, + 25226, + 45224, + 100292, + 141831, + 61020, + 157491, + 72064, + 110160, + 152835, + 75247, + 79642, + 232252, + 99481, + 92180, + 80936, + 103966, + 109719, + 94363, + 128230, + 81590, + 108848, + 95462, + 189571, + 273358, + 151716, + 126119, + 202146, + 160679, + 346944, + 164480, + 236078, + 259056, + 853820, + 4431212, + 704420, + 340392, + 482002, + 594378, + 213113, + 314559, + 194405, + 290334, + 189339, + 382039, + 241225, + 138942, + 205664, + 171249, + 116590, + 229905, + 221746, + 150749, + 260772, + 269441, + 163890, + 171539, + 111781, + 100832, + 130154, + 166581, + 88080, + 182482, + 385126, + 204229, + 568176, + 222491, + 236605, + 145517, + 98877, + 198465, + 160193, + 160617, + 179999, + 156834, + 118634, + 107430, + 130148, + 191152, + 107129, + 89317, + 63390, + 213839, + 87581, + 67297, + 100147, + 73661, + 98449, + 107983, + 183456, + 203112, + 65564, + 38120, + 82953, + 75066, + 99911, + 118338, + 72521, + 52290, + 77755, + 139796, + 51444, + 73094, + 69609, + 39670, + 35768, + 44493, + 66628, + 65705, + 38457, + 63141, + 42628, + 26883, + 38533, + 57400, + 54696, + 46404, + 43690, + 53226, + 58058, + 47748, + 51189, + 49250, + 35648, + 57453, + 35660, + 61424, + 68374, + 54288, + 23729, + 57860, + 40111, + 187321, + 43104, + 63670, + 59188, + 41256, + 28248, + 25928, + 27187, + 42367, + 20249, + 35042, + 59092, + 38622, + 13327, + 92540, + 169789, + 54675, + 30138, + 75871, + 36613, + 25024, + 92339, + 51587, + 41077, + 39828, + 14881, + 46153, + 67114, + 47139, + 63177, + 34140, + 31362, + 97907, + 45975, + 96997, + 93118, + 21272, + 28214, + 28038, + 35448, + 41862, + 59120, + 35409, + 22225, + 95771, + 31263, + 68003, + 133859, + 110624, + 23522, + 35395, + 23898, + 41785, + 41237, + 22275, + 275715, + 60934, + 37925, + 22520, + 25630, + 6605, + 25972, + 40068, + 30593, + 34806, + 22288, + 33640, + 31477, + 18409, + 7697, + 22411, + 108342, + 15287, + 21415, + 51721, + 13746, + 42334, + 34562, + 27398, + 45470, + 16851, + 35886, + 24361, + 327153, + 38933, + 25652, + 43303, + 9339, + 15445, + 8289, + 41602, + 40035, + 51737, + 19869, + 5081, + 39144, + 65140, + 13618, + 10182, + 30835, + 42390, + 11091, + 17229, + 29926, + 19713, + 30411, + 22602, + 20994, + 51121, + 11058, + 5796, + 36353, + 96395, + 32062, + 71953, + 54626, + 35152, + 18019, + 50815, + 12511, + 49093, + 76197, + 8176, + 71997, + 75276, + 126823, + 48792, + 18916, + 27560, + 13105, + 39802, + 9154, + 79919, + 56460, + 9353, + 26471, + 77196, + 32230, + 33440, + 6630, + 44217, + 31587, + 21359, + 16358, + 45261, + 58033, + 22750, + 15350, + 35836, + 22296, + 2102, + 43644, + 13065, + 19901, + 28181, + 53722, + 27710, + 7206, + 23958, + 51876, + 14994, + 10323, + 19174, + 46067, + 68534, + 42760, + 11591, + 6334, + 45014, + 9629, + 168856, + 40843, + 56391, + 24967, + 4363, + 6905, + 14019, + 34014, + 73564, + 24942, + 76503, + 111873, + 19535, + 46125, + 116281, + 11788, + 31078, + 56285, + 30694, + 26079, + 16578, + 50147, + 6625, + 40502, + 18908, + 38987, + 67329, + 5771, + 59286, + 46253, + 22872, + 54713, + 44149, + 34924, + 61502, + 13081, + 42908, + 8761, + 35476, + 27356, + 7799, + 38799, + 16434, + 62035, + 71548, + 31175, + 4532, + 25448, + 43268, + 42586, + 22909, + 36450, + 17768, + 20955, + 15692, + 49081, + 12224, + 65355, + 91336, + 13644, + 36530, + 32951, + 18751, + 47799, + 41366, + 147436, + 67192, + 174256, + 69122, + 51374, + 136602, + 159773, + 10843, + 31390, + 89165, + 30541, + 17912, + 126685, + 44852, + 52191, + 20961, + 115283, + 51897, + 56599, + 24616, + 23842, + 44103, + 49206, + 26751, + 50605, + 49449, + 35427, + 7915, + 139751, + 39948, + 40158, + 57549, + 21125, + 42819, + 96883, + 77299, + 55270, + 51363, + 99489, + 35961, + 81146, + 12206, + 148752, + 54537, + 84856, + 69586, + 168111, + 109873, + 140730, + 136291, + 342943, + 183122, + 212707, + 237412, + 229952, + 223157, + 183872, + 665048, + 3493029, + 528053, + 137903, + 71976, + 65537, + 54477, + 105494, + 48078, + 98224, + 28525, + 86647, + 81039, + 34603, + 52824, + 85830, + 35402, + 31282, + 51514, + 62585, + 36953, + 84718, + 43653, + 38067, + 29885, + 23496, + 27002, + 69102, + 146343, + 50178, + 259006, + 61642, + 51664, + 37922, + 59988, + 122979, + 122217, + 95666, + 156640, + 216270, + 131920, + 66794, + 75591, + 103429, + 70599, + 55390, + 53213, + 73811, + 154320, + 136844, + 78184, + 370349, + 45967, + 54109, + 29164, + 47286, + 188077, + 53205, + 68606, + 193726, + 51868, + 47109, + 60041, + 109166, + 140634, + 34806, + 24472, + 73002, + 42753, + 41170, + 195626, + 24680, + 46927, + 18069, + 40390, + 32076, + 42092, + 61458, + 34244, + 45985, + 36241, + 45751, + 33945, + 37035, + 38973, + 27892, + 30748, + 23250, + 60986, + 38361, + 95952, + 15951, + 56455, + 86502, + 48779, + 60161, + 38544, + 70045, + 34303, + 41525, + 38257, + 27757, + 37286, + 44301, + 13171, + 38296, + 23827, + 23269, + 135625, + 57068, + 66888, + 36281, + 68892, + 32164, + 74526, + 29909, + 79023, + 39834, + 47754, + 64122, + 69770, + 45178, + 19916, + 52485, + 32775, + 25795, + 25650, + 76940, + 29354, + 49202 + ], + "yaxis": "y2" + }, + { + "name": "('array', 'BAC')", + "showlegend": true, + "type": "scatter", + "uid": "d3ddf8f7-1a69-47e0-b396-b9ffd8016f86", + "x": [ + "2024-04-29T09:30:00-04:00", + "2024-04-29T09:31:00-04:00", + "2024-04-29T09:32:00-04:00", + "2024-04-29T09:33:00-04:00", + "2024-04-29T09:34:00-04:00", + "2024-04-29T09:35:00-04:00", + "2024-04-29T09:36:00-04:00", + "2024-04-29T09:37:00-04:00", + "2024-04-29T09:38:00-04:00", + "2024-04-29T09:39:00-04:00", + "2024-04-29T09:40:00-04:00", + "2024-04-29T09:41:00-04:00", + "2024-04-29T09:42:00-04:00", + "2024-04-29T09:43:00-04:00", + "2024-04-29T09:44:00-04:00", + "2024-04-29T09:45:00-04:00", + "2024-04-29T09:46:00-04:00", + "2024-04-29T09:47:00-04:00", + "2024-04-29T09:48:00-04:00", + "2024-04-29T09:49:00-04:00", + "2024-04-29T09:50:00-04:00", + "2024-04-29T09:51:00-04:00", + "2024-04-29T09:52:00-04:00", + "2024-04-29T09:53:00-04:00", + "2024-04-29T09:54:00-04:00", + "2024-04-29T09:55:00-04:00", + "2024-04-29T09:56:00-04:00", + "2024-04-29T09:57:00-04:00", + "2024-04-29T09:58:00-04:00", + "2024-04-29T09:59:00-04:00", + "2024-04-29T10:00:00-04:00", + "2024-04-29T10:01:00-04:00", + "2024-04-29T10:02:00-04:00", + "2024-04-29T10:03:00-04:00", + "2024-04-29T10:04:00-04:00", + "2024-04-29T10:05:00-04:00", + "2024-04-29T10:06:00-04:00", + "2024-04-29T10:07:00-04:00", + "2024-04-29T10:08:00-04:00", + "2024-04-29T10:09:00-04:00", + "2024-04-29T10:10:00-04:00", + "2024-04-29T10:11:00-04:00", + "2024-04-29T10:12:00-04:00", + "2024-04-29T10:13:00-04:00", + "2024-04-29T10:14:00-04:00", + "2024-04-29T10:15:00-04:00", + "2024-04-29T10:16:00-04:00", + "2024-04-29T10:17:00-04:00", + "2024-04-29T10:18:00-04:00", + "2024-04-29T10:19:00-04:00", + "2024-04-29T10:20:00-04:00", + "2024-04-29T10:21:00-04:00", + "2024-04-29T10:22:00-04:00", + "2024-04-29T10:23:00-04:00", + "2024-04-29T10:24:00-04:00", + "2024-04-29T10:25:00-04:00", + "2024-04-29T10:26:00-04:00", + "2024-04-29T10:27:00-04:00", + "2024-04-29T10:28:00-04:00", + "2024-04-29T10:29:00-04:00", + "2024-04-29T10:30:00-04:00", + "2024-04-29T10:31:00-04:00", + "2024-04-29T10:32:00-04:00", + "2024-04-29T10:33:00-04:00", + "2024-04-29T10:34:00-04:00", + "2024-04-29T10:35:00-04:00", + "2024-04-29T10:36:00-04:00", + "2024-04-29T10:37:00-04:00", + "2024-04-29T10:38:00-04:00", + "2024-04-29T10:39:00-04:00", + "2024-04-29T10:40:00-04:00", + "2024-04-29T10:41:00-04:00", + "2024-04-29T10:42:00-04:00", + "2024-04-29T10:43:00-04:00", + "2024-04-29T10:44:00-04:00", + "2024-04-29T10:45:00-04:00", + "2024-04-29T10:46:00-04:00", + "2024-04-29T10:47:00-04:00", + "2024-04-29T10:48:00-04:00", + "2024-04-29T10:49:00-04:00", + "2024-04-29T10:50:00-04:00", + "2024-04-29T10:51:00-04:00", + "2024-04-29T10:52:00-04:00", + "2024-04-29T10:53:00-04:00", + "2024-04-29T10:54:00-04:00", + "2024-04-29T10:55:00-04:00", + "2024-04-29T10:56:00-04:00", + "2024-04-29T10:57:00-04:00", + "2024-04-29T10:58:00-04:00", + "2024-04-29T10:59:00-04:00", + "2024-04-29T11:00:00-04:00", + "2024-04-29T11:01:00-04:00", + "2024-04-29T11:02:00-04:00", + "2024-04-29T11:03:00-04:00", + "2024-04-29T11:04:00-04:00", + "2024-04-29T11:05:00-04:00", + "2024-04-29T11:06:00-04:00", + "2024-04-29T11:07:00-04:00", + "2024-04-29T11:08:00-04:00", + "2024-04-29T11:09:00-04:00", + "2024-04-29T11:10:00-04:00", + "2024-04-29T11:11:00-04:00", + "2024-04-29T11:12:00-04:00", + "2024-04-29T11:13:00-04:00", + "2024-04-29T11:14:00-04:00", + "2024-04-29T11:15:00-04:00", + "2024-04-29T11:16:00-04:00", + "2024-04-29T11:17:00-04:00", + "2024-04-29T11:18:00-04:00", + "2024-04-29T11:19:00-04:00", + "2024-04-29T11:20:00-04:00", + "2024-04-29T11:21:00-04:00", + "2024-04-29T11:22:00-04:00", + "2024-04-29T11:23:00-04:00", + "2024-04-29T11:24:00-04:00", + "2024-04-29T11:25:00-04:00", + "2024-04-29T11:26:00-04:00", + "2024-04-29T11:27:00-04:00", + "2024-04-29T11:28:00-04:00", + "2024-04-29T11:29:00-04:00", + "2024-04-29T11:30:00-04:00", + "2024-04-29T11:31:00-04:00", + "2024-04-29T11:32:00-04:00", + "2024-04-29T11:33:00-04:00", + "2024-04-29T11:34:00-04:00", + "2024-04-29T11:35:00-04:00", + "2024-04-29T11:36:00-04:00", + "2024-04-29T11:37:00-04:00", + "2024-04-29T11:38:00-04:00", + "2024-04-29T11:39:00-04:00", + "2024-04-29T11:40:00-04:00", + "2024-04-29T11:41:00-04:00", + "2024-04-29T11:42:00-04:00", + "2024-04-29T11:43:00-04:00", + "2024-04-29T11:44:00-04:00", + "2024-04-29T11:45:00-04:00", + "2024-04-29T11:46:00-04:00", + "2024-04-29T11:47:00-04:00", + "2024-04-29T11:48:00-04:00", + "2024-04-29T11:49:00-04:00", + "2024-04-29T11:50:00-04:00", + "2024-04-29T11:51:00-04:00", + "2024-04-29T11:52:00-04:00", + "2024-04-29T11:53:00-04:00", + "2024-04-29T11:54:00-04:00", + "2024-04-29T11:55:00-04:00", + "2024-04-29T11:56:00-04:00", + "2024-04-29T11:57:00-04:00", + "2024-04-29T11:58:00-04:00", + "2024-04-29T11:59:00-04:00", + "2024-04-29T12:00:00-04:00", + "2024-04-29T12:01:00-04:00", + "2024-04-29T12:02:00-04:00", + "2024-04-29T12:03:00-04:00", + "2024-04-29T12:04:00-04:00", + "2024-04-29T12:05:00-04:00", + "2024-04-29T12:06:00-04:00", + "2024-04-29T12:07:00-04:00", + "2024-04-29T12:08:00-04:00", + "2024-04-29T12:09:00-04:00", + "2024-04-29T12:10:00-04:00", + "2024-04-29T12:11:00-04:00", + "2024-04-29T12:12:00-04:00", + "2024-04-29T12:13:00-04:00", + "2024-04-29T12:14:00-04:00", + "2024-04-29T12:15:00-04:00", + "2024-04-29T12:16:00-04:00", + "2024-04-29T12:17:00-04:00", + "2024-04-29T12:18:00-04:00", + "2024-04-29T12:19:00-04:00", + "2024-04-29T12:20:00-04:00", + "2024-04-29T12:21:00-04:00", + "2024-04-29T12:22:00-04:00", + "2024-04-29T12:23:00-04:00", + "2024-04-29T12:24:00-04:00", + "2024-04-29T12:25:00-04:00", + "2024-04-29T12:26:00-04:00", + "2024-04-29T12:27:00-04:00", + "2024-04-29T12:28:00-04:00", + "2024-04-29T12:29:00-04:00", + "2024-04-29T12:30:00-04:00", + "2024-04-29T12:31:00-04:00", + "2024-04-29T12:32:00-04:00", + "2024-04-29T12:33:00-04:00", + "2024-04-29T12:34:00-04:00", + "2024-04-29T12:35:00-04:00", + "2024-04-29T12:36:00-04:00", + "2024-04-29T12:37:00-04:00", + "2024-04-29T12:38:00-04:00", + "2024-04-29T12:39:00-04:00", + "2024-04-29T12:40:00-04:00", + "2024-04-29T12:41:00-04:00", + "2024-04-29T12:42:00-04:00", + "2024-04-29T12:43:00-04:00", + "2024-04-29T12:44:00-04:00", + "2024-04-29T12:45:00-04:00", + "2024-04-29T12:46:00-04:00", + "2024-04-29T12:47:00-04:00", + "2024-04-29T12:48:00-04:00", + "2024-04-29T12:49:00-04:00", + "2024-04-29T12:50:00-04:00", + "2024-04-29T12:51:00-04:00", + "2024-04-29T12:52:00-04:00", + "2024-04-29T12:53:00-04:00", + "2024-04-29T12:54:00-04:00", + "2024-04-29T12:55:00-04:00", + "2024-04-29T12:56:00-04:00", + "2024-04-29T12:57:00-04:00", + "2024-04-29T12:58:00-04:00", + "2024-04-29T12:59:00-04:00", + "2024-04-29T13:00:00-04:00", + "2024-04-29T13:01:00-04:00", + "2024-04-29T13:02:00-04:00", + "2024-04-29T13:03:00-04:00", + "2024-04-29T13:04:00-04:00", + "2024-04-29T13:05:00-04:00", + "2024-04-29T13:06:00-04:00", + "2024-04-29T13:07:00-04:00", + "2024-04-29T13:08:00-04:00", + "2024-04-29T13:09:00-04:00", + "2024-04-29T13:10:00-04:00", + "2024-04-29T13:11:00-04:00", + "2024-04-29T13:12:00-04:00", + "2024-04-29T13:13:00-04:00", + "2024-04-29T13:14:00-04:00", + "2024-04-29T13:15:00-04:00", + "2024-04-29T13:16:00-04:00", + "2024-04-29T13:17:00-04:00", + "2024-04-29T13:18:00-04:00", + "2024-04-29T13:19:00-04:00", + "2024-04-29T13:20:00-04:00", + "2024-04-29T13:21:00-04:00", + "2024-04-29T13:22:00-04:00", + "2024-04-29T13:23:00-04:00", + "2024-04-29T13:24:00-04:00", + "2024-04-29T13:25:00-04:00", + "2024-04-29T13:26:00-04:00", + "2024-04-29T13:27:00-04:00", + "2024-04-29T13:28:00-04:00", + "2024-04-29T13:29:00-04:00", + "2024-04-29T13:30:00-04:00", + "2024-04-29T13:31:00-04:00", + "2024-04-29T13:32:00-04:00", + "2024-04-29T13:33:00-04:00", + "2024-04-29T13:34:00-04:00", + "2024-04-29T13:35:00-04:00", + "2024-04-29T13:36:00-04:00", + "2024-04-29T13:37:00-04:00", + "2024-04-29T13:38:00-04:00", + "2024-04-29T13:39:00-04:00", + "2024-04-29T13:40:00-04:00", + "2024-04-29T13:41:00-04:00", + "2024-04-29T13:42:00-04:00", + "2024-04-29T13:43:00-04:00", + "2024-04-29T13:44:00-04:00", + "2024-04-29T13:45:00-04:00", + "2024-04-29T13:46:00-04:00", + "2024-04-29T13:47:00-04:00", + "2024-04-29T13:48:00-04:00", + "2024-04-29T13:49:00-04:00", + "2024-04-29T13:50:00-04:00", + "2024-04-29T13:51:00-04:00", + "2024-04-29T13:52:00-04:00", + "2024-04-29T13:53:00-04:00", + "2024-04-29T13:54:00-04:00", + "2024-04-29T13:55:00-04:00", + "2024-04-29T13:56:00-04:00", + "2024-04-29T13:57:00-04:00", + "2024-04-29T13:58:00-04:00", + "2024-04-29T13:59:00-04:00", + "2024-04-29T14:00:00-04:00", + "2024-04-29T14:01:00-04:00", + "2024-04-29T14:02:00-04:00", + "2024-04-29T14:03:00-04:00", + "2024-04-29T14:04:00-04:00", + "2024-04-29T14:05:00-04:00", + "2024-04-29T14:06:00-04:00", + "2024-04-29T14:07:00-04:00", + "2024-04-29T14:08:00-04:00", + "2024-04-29T14:09:00-04:00", + "2024-04-29T14:10:00-04:00", + "2024-04-29T14:11:00-04:00", + "2024-04-29T14:12:00-04:00", + "2024-04-29T14:13:00-04:00", + "2024-04-29T14:14:00-04:00", + "2024-04-29T14:15:00-04:00", + "2024-04-29T14:16:00-04:00", + "2024-04-29T14:17:00-04:00", + "2024-04-29T14:18:00-04:00", + "2024-04-29T14:19:00-04:00", + "2024-04-29T14:20:00-04:00", + "2024-04-29T14:21:00-04:00", + "2024-04-29T14:22:00-04:00", + "2024-04-29T14:23:00-04:00", + "2024-04-29T14:24:00-04:00", + "2024-04-29T14:25:00-04:00", + "2024-04-29T14:26:00-04:00", + "2024-04-29T14:27:00-04:00", + "2024-04-29T14:28:00-04:00", + "2024-04-29T14:29:00-04:00", + "2024-04-29T14:30:00-04:00", + "2024-04-29T14:31:00-04:00", + "2024-04-29T14:32:00-04:00", + "2024-04-29T14:33:00-04:00", + "2024-04-29T14:34:00-04:00", + "2024-04-29T14:35:00-04:00", + "2024-04-29T14:36:00-04:00", + "2024-04-29T14:37:00-04:00", + "2024-04-29T14:38:00-04:00", + "2024-04-29T14:39:00-04:00", + "2024-04-29T14:40:00-04:00", + "2024-04-29T14:41:00-04:00", + "2024-04-29T14:42:00-04:00", + "2024-04-29T14:43:00-04:00", + "2024-04-29T14:44:00-04:00", + "2024-04-29T14:45:00-04:00", + "2024-04-29T14:46:00-04:00", + "2024-04-29T14:47:00-04:00", + "2024-04-29T14:48:00-04:00", + "2024-04-29T14:49:00-04:00", + "2024-04-29T14:50:00-04:00", + "2024-04-29T14:51:00-04:00", + "2024-04-29T14:52:00-04:00", + "2024-04-29T14:53:00-04:00", + "2024-04-29T14:54:00-04:00", + "2024-04-29T14:55:00-04:00", + "2024-04-29T14:56:00-04:00", + "2024-04-29T14:57:00-04:00", + "2024-04-29T14:58:00-04:00", + "2024-04-29T14:59:00-04:00", + "2024-04-29T15:00:00-04:00", + "2024-04-29T15:01:00-04:00", + "2024-04-29T15:02:00-04:00", + "2024-04-29T15:03:00-04:00", + "2024-04-29T15:04:00-04:00", + "2024-04-29T15:05:00-04:00", + "2024-04-29T15:06:00-04:00", + "2024-04-29T15:07:00-04:00", + "2024-04-29T15:08:00-04:00", + "2024-04-29T15:09:00-04:00", + "2024-04-29T15:10:00-04:00", + "2024-04-29T15:11:00-04:00", + "2024-04-29T15:12:00-04:00", + "2024-04-29T15:13:00-04:00", + "2024-04-29T15:14:00-04:00", + "2024-04-29T15:15:00-04:00", + "2024-04-29T15:16:00-04:00", + "2024-04-29T15:17:00-04:00", + "2024-04-29T15:18:00-04:00", + "2024-04-29T15:19:00-04:00", + "2024-04-29T15:20:00-04:00", + "2024-04-29T15:21:00-04:00", + "2024-04-29T15:22:00-04:00", + "2024-04-29T15:23:00-04:00", + "2024-04-29T15:24:00-04:00", + "2024-04-29T15:25:00-04:00", + "2024-04-29T15:26:00-04:00", + "2024-04-29T15:27:00-04:00", + "2024-04-29T15:28:00-04:00", + "2024-04-29T15:29:00-04:00", + "2024-04-29T15:30:00-04:00", + "2024-04-29T15:31:00-04:00", + "2024-04-29T15:32:00-04:00", + "2024-04-29T15:33:00-04:00", + "2024-04-29T15:34:00-04:00", + "2024-04-29T15:35:00-04:00", + "2024-04-29T15:36:00-04:00", + "2024-04-29T15:37:00-04:00", + "2024-04-29T15:38:00-04:00", + "2024-04-29T15:39:00-04:00", + "2024-04-29T15:40:00-04:00", + "2024-04-29T15:41:00-04:00", + "2024-04-29T15:42:00-04:00", + "2024-04-29T15:43:00-04:00", + "2024-04-29T15:44:00-04:00", + "2024-04-29T15:45:00-04:00", + "2024-04-29T15:46:00-04:00", + "2024-04-29T15:47:00-04:00", + "2024-04-29T15:48:00-04:00", + "2024-04-29T15:49:00-04:00", + "2024-04-29T15:50:00-04:00", + "2024-04-29T15:51:00-04:00", + "2024-04-29T15:52:00-04:00", + "2024-04-29T15:53:00-04:00", + "2024-04-29T15:54:00-04:00", + "2024-04-29T15:55:00-04:00", + "2024-04-29T15:56:00-04:00", + "2024-04-29T15:57:00-04:00", + "2024-04-29T15:58:00-04:00", + "2024-04-29T15:59:00-04:00", + "2024-04-29T16:00:00-04:00", + "2024-04-30T09:30:00-04:00", + "2024-04-30T09:31:00-04:00", + "2024-04-30T09:32:00-04:00", + "2024-04-30T09:33:00-04:00", + "2024-04-30T09:34:00-04:00", + "2024-04-30T09:35:00-04:00", + "2024-04-30T09:36:00-04:00", + "2024-04-30T09:37:00-04:00", + "2024-04-30T09:38:00-04:00", + "2024-04-30T09:39:00-04:00", + "2024-04-30T09:40:00-04:00", + "2024-04-30T09:41:00-04:00", + "2024-04-30T09:42:00-04:00", + "2024-04-30T09:43:00-04:00", + "2024-04-30T09:44:00-04:00", + "2024-04-30T09:45:00-04:00", + "2024-04-30T09:46:00-04:00", + "2024-04-30T09:47:00-04:00", + "2024-04-30T09:48:00-04:00", + "2024-04-30T09:49:00-04:00", + "2024-04-30T09:50:00-04:00", + "2024-04-30T09:51:00-04:00", + "2024-04-30T09:52:00-04:00", + "2024-04-30T09:53:00-04:00", + "2024-04-30T09:54:00-04:00", + "2024-04-30T09:55:00-04:00", + "2024-04-30T09:56:00-04:00", + "2024-04-30T09:57:00-04:00", + "2024-04-30T09:58:00-04:00", + "2024-04-30T09:59:00-04:00", + "2024-04-30T10:00:00-04:00", + "2024-04-30T10:01:00-04:00", + "2024-04-30T10:02:00-04:00", + "2024-04-30T10:03:00-04:00", + "2024-04-30T10:04:00-04:00", + "2024-04-30T10:05:00-04:00", + "2024-04-30T10:06:00-04:00", + "2024-04-30T10:07:00-04:00", + "2024-04-30T10:08:00-04:00", + "2024-04-30T10:09:00-04:00", + "2024-04-30T10:10:00-04:00", + "2024-04-30T10:11:00-04:00", + "2024-04-30T10:12:00-04:00", + "2024-04-30T10:13:00-04:00", + "2024-04-30T10:14:00-04:00", + "2024-04-30T10:15:00-04:00", + "2024-04-30T10:16:00-04:00", + "2024-04-30T10:17:00-04:00", + "2024-04-30T10:18:00-04:00", + "2024-04-30T10:19:00-04:00", + "2024-04-30T10:20:00-04:00", + "2024-04-30T10:21:00-04:00", + "2024-04-30T10:22:00-04:00", + "2024-04-30T10:23:00-04:00", + "2024-04-30T10:24:00-04:00", + "2024-04-30T10:25:00-04:00", + "2024-04-30T10:26:00-04:00", + "2024-04-30T10:27:00-04:00", + "2024-04-30T10:28:00-04:00", + "2024-04-30T10:29:00-04:00", + "2024-04-30T10:30:00-04:00", + "2024-04-30T10:31:00-04:00", + "2024-04-30T10:32:00-04:00", + "2024-04-30T10:33:00-04:00", + "2024-04-30T10:34:00-04:00", + "2024-04-30T10:35:00-04:00", + "2024-04-30T10:36:00-04:00", + "2024-04-30T10:37:00-04:00", + "2024-04-30T10:38:00-04:00", + "2024-04-30T10:39:00-04:00", + "2024-04-30T10:40:00-04:00", + "2024-04-30T10:41:00-04:00", + "2024-04-30T10:42:00-04:00", + "2024-04-30T10:43:00-04:00", + "2024-04-30T10:44:00-04:00", + "2024-04-30T10:45:00-04:00", + "2024-04-30T10:46:00-04:00", + "2024-04-30T10:47:00-04:00", + "2024-04-30T10:48:00-04:00", + "2024-04-30T10:49:00-04:00", + "2024-04-30T10:50:00-04:00", + "2024-04-30T10:51:00-04:00", + "2024-04-30T10:52:00-04:00", + "2024-04-30T10:53:00-04:00", + "2024-04-30T10:54:00-04:00", + "2024-04-30T10:55:00-04:00", + "2024-04-30T10:56:00-04:00", + "2024-04-30T10:57:00-04:00", + "2024-04-30T10:58:00-04:00", + "2024-04-30T10:59:00-04:00", + "2024-04-30T11:00:00-04:00", + "2024-04-30T11:01:00-04:00", + "2024-04-30T11:02:00-04:00", + "2024-04-30T11:03:00-04:00", + "2024-04-30T11:04:00-04:00", + "2024-04-30T11:05:00-04:00", + "2024-04-30T11:06:00-04:00", + "2024-04-30T11:07:00-04:00", + "2024-04-30T11:08:00-04:00", + "2024-04-30T11:09:00-04:00", + "2024-04-30T11:10:00-04:00", + "2024-04-30T11:11:00-04:00", + "2024-04-30T11:12:00-04:00", + "2024-04-30T11:13:00-04:00", + "2024-04-30T11:14:00-04:00", + "2024-04-30T11:15:00-04:00", + "2024-04-30T11:16:00-04:00", + "2024-04-30T11:17:00-04:00", + "2024-04-30T11:18:00-04:00", + "2024-04-30T11:19:00-04:00", + "2024-04-30T11:20:00-04:00", + "2024-04-30T11:21:00-04:00", + "2024-04-30T11:22:00-04:00", + "2024-04-30T11:23:00-04:00", + "2024-04-30T11:24:00-04:00", + "2024-04-30T11:25:00-04:00", + "2024-04-30T11:26:00-04:00", + "2024-04-30T11:27:00-04:00", + "2024-04-30T11:28:00-04:00", + "2024-04-30T11:29:00-04:00", + "2024-04-30T11:30:00-04:00", + "2024-04-30T11:31:00-04:00", + "2024-04-30T11:32:00-04:00", + "2024-04-30T11:33:00-04:00", + "2024-04-30T11:34:00-04:00", + "2024-04-30T11:35:00-04:00", + "2024-04-30T11:36:00-04:00", + "2024-04-30T11:37:00-04:00", + "2024-04-30T11:38:00-04:00", + "2024-04-30T11:39:00-04:00", + "2024-04-30T11:40:00-04:00", + "2024-04-30T11:41:00-04:00", + "2024-04-30T11:42:00-04:00", + "2024-04-30T11:43:00-04:00", + "2024-04-30T11:44:00-04:00", + "2024-04-30T11:45:00-04:00", + "2024-04-30T11:46:00-04:00", + "2024-04-30T11:47:00-04:00", + "2024-04-30T11:48:00-04:00", + "2024-04-30T11:49:00-04:00", + "2024-04-30T11:50:00-04:00", + "2024-04-30T11:51:00-04:00", + "2024-04-30T11:52:00-04:00", + "2024-04-30T11:53:00-04:00", + "2024-04-30T11:54:00-04:00", + "2024-04-30T11:55:00-04:00", + "2024-04-30T11:56:00-04:00", + "2024-04-30T11:57:00-04:00", + "2024-04-30T11:58:00-04:00", + "2024-04-30T11:59:00-04:00", + "2024-04-30T12:00:00-04:00", + "2024-04-30T12:01:00-04:00", + "2024-04-30T12:02:00-04:00", + "2024-04-30T12:03:00-04:00", + "2024-04-30T12:04:00-04:00", + "2024-04-30T12:05:00-04:00", + "2024-04-30T12:06:00-04:00", + "2024-04-30T12:07:00-04:00", + "2024-04-30T12:08:00-04:00", + "2024-04-30T12:09:00-04:00", + "2024-04-30T12:10:00-04:00", + "2024-04-30T12:11:00-04:00", + "2024-04-30T12:12:00-04:00", + "2024-04-30T12:13:00-04:00", + "2024-04-30T12:14:00-04:00", + "2024-04-30T12:15:00-04:00", + "2024-04-30T12:16:00-04:00", + "2024-04-30T12:17:00-04:00", + "2024-04-30T12:18:00-04:00", + "2024-04-30T12:19:00-04:00", + "2024-04-30T12:20:00-04:00", + "2024-04-30T12:21:00-04:00", + "2024-04-30T12:22:00-04:00", + "2024-04-30T12:23:00-04:00", + "2024-04-30T12:24:00-04:00", + "2024-04-30T12:25:00-04:00", + "2024-04-30T12:26:00-04:00", + "2024-04-30T12:27:00-04:00", + "2024-04-30T12:28:00-04:00", + "2024-04-30T12:29:00-04:00", + "2024-04-30T12:30:00-04:00", + "2024-04-30T12:31:00-04:00", + "2024-04-30T12:32:00-04:00", + "2024-04-30T12:33:00-04:00", + "2024-04-30T12:34:00-04:00", + "2024-04-30T12:35:00-04:00", + "2024-04-30T12:36:00-04:00", + "2024-04-30T12:37:00-04:00", + "2024-04-30T12:38:00-04:00", + "2024-04-30T12:39:00-04:00", + "2024-04-30T12:40:00-04:00", + "2024-04-30T12:41:00-04:00", + "2024-04-30T12:42:00-04:00", + "2024-04-30T12:43:00-04:00", + "2024-04-30T12:44:00-04:00", + "2024-04-30T12:45:00-04:00", + "2024-04-30T12:46:00-04:00", + "2024-04-30T12:47:00-04:00", + "2024-04-30T12:48:00-04:00", + "2024-04-30T12:49:00-04:00", + "2024-04-30T12:50:00-04:00", + "2024-04-30T12:51:00-04:00", + "2024-04-30T12:52:00-04:00", + "2024-04-30T12:53:00-04:00", + "2024-04-30T12:54:00-04:00", + "2024-04-30T12:55:00-04:00", + "2024-04-30T12:56:00-04:00", + "2024-04-30T12:57:00-04:00", + "2024-04-30T12:58:00-04:00", + "2024-04-30T12:59:00-04:00", + "2024-04-30T13:00:00-04:00", + "2024-04-30T13:01:00-04:00", + "2024-04-30T13:02:00-04:00", + "2024-04-30T13:03:00-04:00", + "2024-04-30T13:04:00-04:00", + "2024-04-30T13:05:00-04:00", + "2024-04-30T13:06:00-04:00", + "2024-04-30T13:07:00-04:00", + "2024-04-30T13:08:00-04:00", + "2024-04-30T13:09:00-04:00", + "2024-04-30T13:10:00-04:00", + "2024-04-30T13:11:00-04:00", + "2024-04-30T13:12:00-04:00", + "2024-04-30T13:13:00-04:00", + "2024-04-30T13:14:00-04:00", + "2024-04-30T13:15:00-04:00", + "2024-04-30T13:16:00-04:00", + "2024-04-30T13:17:00-04:00", + "2024-04-30T13:18:00-04:00", + "2024-04-30T13:19:00-04:00", + "2024-04-30T13:20:00-04:00", + "2024-04-30T13:21:00-04:00", + "2024-04-30T13:22:00-04:00", + "2024-04-30T13:23:00-04:00", + "2024-04-30T13:24:00-04:00", + "2024-04-30T13:25:00-04:00", + "2024-04-30T13:26:00-04:00", + "2024-04-30T13:27:00-04:00", + "2024-04-30T13:28:00-04:00", + "2024-04-30T13:29:00-04:00", + "2024-04-30T13:30:00-04:00", + "2024-04-30T13:31:00-04:00", + "2024-04-30T13:32:00-04:00", + "2024-04-30T13:33:00-04:00", + "2024-04-30T13:34:00-04:00", + "2024-04-30T13:35:00-04:00", + "2024-04-30T13:36:00-04:00", + "2024-04-30T13:37:00-04:00", + "2024-04-30T13:38:00-04:00", + "2024-04-30T13:39:00-04:00", + "2024-04-30T13:40:00-04:00", + "2024-04-30T13:41:00-04:00", + "2024-04-30T13:42:00-04:00", + "2024-04-30T13:43:00-04:00", + "2024-04-30T13:44:00-04:00", + "2024-04-30T13:45:00-04:00", + "2024-04-30T13:46:00-04:00", + "2024-04-30T13:47:00-04:00", + "2024-04-30T13:48:00-04:00", + "2024-04-30T13:49:00-04:00", + "2024-04-30T13:50:00-04:00", + "2024-04-30T13:51:00-04:00", + "2024-04-30T13:52:00-04:00", + "2024-04-30T13:53:00-04:00", + "2024-04-30T13:54:00-04:00", + "2024-04-30T13:55:00-04:00", + "2024-04-30T13:56:00-04:00", + "2024-04-30T13:57:00-04:00", + "2024-04-30T13:58:00-04:00", + "2024-04-30T13:59:00-04:00", + "2024-04-30T14:00:00-04:00", + "2024-04-30T14:01:00-04:00", + "2024-04-30T14:02:00-04:00", + "2024-04-30T14:03:00-04:00", + "2024-04-30T14:04:00-04:00", + "2024-04-30T14:05:00-04:00", + "2024-04-30T14:06:00-04:00", + "2024-04-30T14:07:00-04:00", + "2024-04-30T14:08:00-04:00", + "2024-04-30T14:09:00-04:00", + "2024-04-30T14:10:00-04:00", + "2024-04-30T14:11:00-04:00", + "2024-04-30T14:12:00-04:00", + "2024-04-30T14:13:00-04:00", + "2024-04-30T14:14:00-04:00", + "2024-04-30T14:15:00-04:00", + "2024-04-30T14:16:00-04:00", + "2024-04-30T14:17:00-04:00", + "2024-04-30T14:18:00-04:00", + "2024-04-30T14:19:00-04:00", + "2024-04-30T14:20:00-04:00", + "2024-04-30T14:21:00-04:00", + "2024-04-30T14:22:00-04:00", + "2024-04-30T14:23:00-04:00", + "2024-04-30T14:24:00-04:00", + "2024-04-30T14:25:00-04:00", + "2024-04-30T14:26:00-04:00", + "2024-04-30T14:27:00-04:00", + "2024-04-30T14:28:00-04:00", + "2024-04-30T14:29:00-04:00", + "2024-04-30T14:30:00-04:00", + "2024-04-30T14:31:00-04:00", + "2024-04-30T14:32:00-04:00", + "2024-04-30T14:33:00-04:00", + "2024-04-30T14:34:00-04:00", + "2024-04-30T14:35:00-04:00", + "2024-04-30T14:36:00-04:00", + "2024-04-30T14:37:00-04:00", + "2024-04-30T14:38:00-04:00", + "2024-04-30T14:39:00-04:00", + "2024-04-30T14:40:00-04:00", + "2024-04-30T14:41:00-04:00", + "2024-04-30T14:42:00-04:00", + "2024-04-30T14:43:00-04:00", + "2024-04-30T14:44:00-04:00", + "2024-04-30T14:45:00-04:00", + "2024-04-30T14:46:00-04:00", + "2024-04-30T14:47:00-04:00", + "2024-04-30T14:48:00-04:00", + "2024-04-30T14:49:00-04:00", + "2024-04-30T14:50:00-04:00", + "2024-04-30T14:51:00-04:00", + "2024-04-30T14:52:00-04:00", + "2024-04-30T14:53:00-04:00", + "2024-04-30T14:54:00-04:00", + "2024-04-30T14:55:00-04:00", + "2024-04-30T14:56:00-04:00", + "2024-04-30T14:57:00-04:00", + "2024-04-30T14:58:00-04:00", + "2024-04-30T14:59:00-04:00", + "2024-04-30T15:00:00-04:00", + "2024-04-30T15:01:00-04:00", + "2024-04-30T15:02:00-04:00", + "2024-04-30T15:03:00-04:00", + "2024-04-30T15:04:00-04:00", + "2024-04-30T15:05:00-04:00", + "2024-04-30T15:06:00-04:00", + "2024-04-30T15:07:00-04:00", + "2024-04-30T15:08:00-04:00", + "2024-04-30T15:09:00-04:00", + "2024-04-30T15:10:00-04:00", + "2024-04-30T15:11:00-04:00", + "2024-04-30T15:12:00-04:00", + "2024-04-30T15:13:00-04:00", + "2024-04-30T15:14:00-04:00", + "2024-04-30T15:15:00-04:00", + "2024-04-30T15:16:00-04:00", + "2024-04-30T15:17:00-04:00", + "2024-04-30T15:18:00-04:00", + "2024-04-30T15:19:00-04:00", + "2024-04-30T15:20:00-04:00", + "2024-04-30T15:21:00-04:00", + "2024-04-30T15:22:00-04:00", + "2024-04-30T15:23:00-04:00", + "2024-04-30T15:24:00-04:00", + "2024-04-30T15:25:00-04:00", + "2024-04-30T15:26:00-04:00", + "2024-04-30T15:27:00-04:00", + "2024-04-30T15:28:00-04:00", + "2024-04-30T15:29:00-04:00", + "2024-04-30T15:30:00-04:00", + "2024-04-30T15:31:00-04:00", + "2024-04-30T15:32:00-04:00", + "2024-04-30T15:33:00-04:00", + "2024-04-30T15:34:00-04:00", + "2024-04-30T15:35:00-04:00", + "2024-04-30T15:36:00-04:00", + "2024-04-30T15:37:00-04:00", + "2024-04-30T15:38:00-04:00", + "2024-04-30T15:39:00-04:00", + "2024-04-30T15:40:00-04:00", + "2024-04-30T15:41:00-04:00", + "2024-04-30T15:42:00-04:00", + "2024-04-30T15:43:00-04:00", + "2024-04-30T15:44:00-04:00", + "2024-04-30T15:45:00-04:00", + "2024-04-30T15:46:00-04:00", + "2024-04-30T15:47:00-04:00", + "2024-04-30T15:48:00-04:00", + "2024-04-30T15:49:00-04:00", + "2024-04-30T15:50:00-04:00", + "2024-04-30T15:51:00-04:00", + "2024-04-30T15:52:00-04:00", + "2024-04-30T15:53:00-04:00", + "2024-04-30T15:54:00-04:00", + "2024-04-30T15:55:00-04:00", + "2024-04-30T15:56:00-04:00", + "2024-04-30T15:57:00-04:00", + "2024-04-30T15:58:00-04:00", + "2024-04-30T15:59:00-04:00", + "2024-04-30T16:00:00-04:00", + "2024-05-01T09:30:00-04:00", + "2024-05-01T09:31:00-04:00", + "2024-05-01T09:32:00-04:00", + "2024-05-01T09:33:00-04:00", + "2024-05-01T09:34:00-04:00", + "2024-05-01T09:35:00-04:00", + "2024-05-01T09:36:00-04:00", + "2024-05-01T09:37:00-04:00", + "2024-05-01T09:38:00-04:00", + "2024-05-01T09:39:00-04:00", + "2024-05-01T09:40:00-04:00", + "2024-05-01T09:41:00-04:00", + "2024-05-01T09:42:00-04:00", + "2024-05-01T09:43:00-04:00", + "2024-05-01T09:44:00-04:00", + "2024-05-01T09:45:00-04:00", + "2024-05-01T09:46:00-04:00", + "2024-05-01T09:47:00-04:00", + "2024-05-01T09:48:00-04:00", + "2024-05-01T09:49:00-04:00", + "2024-05-01T09:50:00-04:00", + "2024-05-01T09:51:00-04:00", + "2024-05-01T09:52:00-04:00", + "2024-05-01T09:53:00-04:00", + "2024-05-01T09:54:00-04:00", + "2024-05-01T09:55:00-04:00", + "2024-05-01T09:56:00-04:00", + "2024-05-01T09:57:00-04:00", + "2024-05-01T09:58:00-04:00", + "2024-05-01T09:59:00-04:00", + "2024-05-01T10:00:00-04:00", + "2024-05-01T10:01:00-04:00", + "2024-05-01T10:02:00-04:00", + "2024-05-01T10:03:00-04:00", + "2024-05-01T10:04:00-04:00", + "2024-05-01T10:05:00-04:00", + "2024-05-01T10:06:00-04:00", + "2024-05-01T10:07:00-04:00", + "2024-05-01T10:08:00-04:00", + "2024-05-01T10:09:00-04:00", + "2024-05-01T10:10:00-04:00", + "2024-05-01T10:11:00-04:00", + "2024-05-01T10:12:00-04:00", + "2024-05-01T10:13:00-04:00", + "2024-05-01T10:14:00-04:00", + "2024-05-01T10:15:00-04:00", + "2024-05-01T10:16:00-04:00", + "2024-05-01T10:17:00-04:00", + "2024-05-01T10:18:00-04:00", + "2024-05-01T10:19:00-04:00", + "2024-05-01T10:20:00-04:00", + "2024-05-01T10:21:00-04:00", + "2024-05-01T10:22:00-04:00", + "2024-05-01T10:23:00-04:00", + "2024-05-01T10:24:00-04:00", + "2024-05-01T10:25:00-04:00", + "2024-05-01T10:26:00-04:00", + "2024-05-01T10:27:00-04:00", + "2024-05-01T10:28:00-04:00", + "2024-05-01T10:29:00-04:00", + "2024-05-01T10:30:00-04:00", + "2024-05-01T10:31:00-04:00", + "2024-05-01T10:32:00-04:00", + "2024-05-01T10:33:00-04:00", + "2024-05-01T10:34:00-04:00", + "2024-05-01T10:35:00-04:00", + "2024-05-01T10:36:00-04:00", + "2024-05-01T10:37:00-04:00", + "2024-05-01T10:38:00-04:00", + "2024-05-01T10:39:00-04:00", + "2024-05-01T10:40:00-04:00", + "2024-05-01T10:41:00-04:00", + "2024-05-01T10:42:00-04:00", + "2024-05-01T10:43:00-04:00", + "2024-05-01T10:44:00-04:00", + "2024-05-01T10:45:00-04:00", + "2024-05-01T10:46:00-04:00", + "2024-05-01T10:47:00-04:00", + "2024-05-01T10:48:00-04:00", + "2024-05-01T10:49:00-04:00", + "2024-05-01T10:50:00-04:00", + "2024-05-01T10:51:00-04:00", + "2024-05-01T10:52:00-04:00", + "2024-05-01T10:53:00-04:00", + "2024-05-01T10:54:00-04:00", + "2024-05-01T10:55:00-04:00", + "2024-05-01T10:56:00-04:00", + "2024-05-01T10:57:00-04:00", + "2024-05-01T10:58:00-04:00", + "2024-05-01T10:59:00-04:00", + "2024-05-01T11:00:00-04:00", + "2024-05-01T11:01:00-04:00", + "2024-05-01T11:02:00-04:00", + "2024-05-01T11:03:00-04:00", + "2024-05-01T11:04:00-04:00", + "2024-05-01T11:05:00-04:00", + "2024-05-01T11:06:00-04:00", + "2024-05-01T11:07:00-04:00", + "2024-05-01T11:08:00-04:00", + "2024-05-01T11:09:00-04:00", + "2024-05-01T11:10:00-04:00", + "2024-05-01T11:11:00-04:00", + "2024-05-01T11:12:00-04:00", + "2024-05-01T11:13:00-04:00", + "2024-05-01T11:14:00-04:00", + "2024-05-01T11:15:00-04:00", + "2024-05-01T11:16:00-04:00", + "2024-05-01T11:17:00-04:00", + "2024-05-01T11:18:00-04:00", + "2024-05-01T11:19:00-04:00", + "2024-05-01T11:20:00-04:00", + "2024-05-01T11:21:00-04:00", + "2024-05-01T11:22:00-04:00", + "2024-05-01T11:23:00-04:00", + "2024-05-01T11:24:00-04:00", + "2024-05-01T11:25:00-04:00", + "2024-05-01T11:26:00-04:00", + "2024-05-01T11:27:00-04:00", + "2024-05-01T11:28:00-04:00", + "2024-05-01T11:29:00-04:00", + "2024-05-01T11:30:00-04:00", + "2024-05-01T11:31:00-04:00", + "2024-05-01T11:32:00-04:00", + "2024-05-01T11:33:00-04:00", + "2024-05-01T11:34:00-04:00", + "2024-05-01T11:35:00-04:00", + "2024-05-01T11:36:00-04:00", + "2024-05-01T11:37:00-04:00", + "2024-05-01T11:38:00-04:00", + "2024-05-01T11:39:00-04:00", + "2024-05-01T11:40:00-04:00", + "2024-05-01T11:41:00-04:00", + "2024-05-01T11:42:00-04:00", + "2024-05-01T11:43:00-04:00", + "2024-05-01T11:44:00-04:00", + "2024-05-01T11:45:00-04:00", + "2024-05-01T11:46:00-04:00", + "2024-05-01T11:47:00-04:00", + "2024-05-01T11:48:00-04:00", + "2024-05-01T11:49:00-04:00", + "2024-05-01T11:50:00-04:00", + "2024-05-01T11:51:00-04:00", + "2024-05-01T11:52:00-04:00", + "2024-05-01T11:53:00-04:00", + "2024-05-01T11:54:00-04:00", + "2024-05-01T11:55:00-04:00", + "2024-05-01T11:56:00-04:00", + "2024-05-01T11:57:00-04:00", + "2024-05-01T11:58:00-04:00", + "2024-05-01T11:59:00-04:00", + "2024-05-01T12:00:00-04:00", + "2024-05-01T12:01:00-04:00", + "2024-05-01T12:02:00-04:00", + "2024-05-01T12:03:00-04:00", + "2024-05-01T12:04:00-04:00", + "2024-05-01T12:05:00-04:00", + "2024-05-01T12:06:00-04:00", + "2024-05-01T12:07:00-04:00", + "2024-05-01T12:08:00-04:00", + "2024-05-01T12:09:00-04:00", + "2024-05-01T12:10:00-04:00", + "2024-05-01T12:11:00-04:00", + "2024-05-01T12:12:00-04:00", + "2024-05-01T12:13:00-04:00", + "2024-05-01T12:14:00-04:00", + "2024-05-01T12:15:00-04:00", + "2024-05-01T12:16:00-04:00", + "2024-05-01T12:17:00-04:00", + "2024-05-01T12:18:00-04:00", + "2024-05-01T12:19:00-04:00", + "2024-05-01T12:20:00-04:00", + "2024-05-01T12:21:00-04:00", + "2024-05-01T12:22:00-04:00", + "2024-05-01T12:23:00-04:00", + "2024-05-01T12:24:00-04:00", + "2024-05-01T12:25:00-04:00", + "2024-05-01T12:26:00-04:00", + "2024-05-01T12:27:00-04:00", + "2024-05-01T12:28:00-04:00", + "2024-05-01T12:29:00-04:00", + "2024-05-01T12:30:00-04:00", + "2024-05-01T12:31:00-04:00", + "2024-05-01T12:32:00-04:00", + "2024-05-01T12:33:00-04:00", + "2024-05-01T12:34:00-04:00", + "2024-05-01T12:35:00-04:00", + "2024-05-01T12:36:00-04:00", + "2024-05-01T12:37:00-04:00", + "2024-05-01T12:38:00-04:00", + "2024-05-01T12:39:00-04:00", + "2024-05-01T12:40:00-04:00", + "2024-05-01T12:41:00-04:00", + "2024-05-01T12:42:00-04:00", + "2024-05-01T12:43:00-04:00", + "2024-05-01T12:44:00-04:00", + "2024-05-01T12:45:00-04:00", + "2024-05-01T12:46:00-04:00", + "2024-05-01T12:47:00-04:00", + "2024-05-01T12:48:00-04:00", + "2024-05-01T12:49:00-04:00", + "2024-05-01T12:50:00-04:00", + "2024-05-01T12:51:00-04:00", + "2024-05-01T12:52:00-04:00", + "2024-05-01T12:53:00-04:00", + "2024-05-01T12:54:00-04:00", + "2024-05-01T12:55:00-04:00", + "2024-05-01T12:56:00-04:00", + "2024-05-01T12:57:00-04:00", + "2024-05-01T12:58:00-04:00", + "2024-05-01T12:59:00-04:00", + "2024-05-01T13:00:00-04:00", + "2024-05-01T13:01:00-04:00", + "2024-05-01T13:02:00-04:00", + "2024-05-01T13:03:00-04:00", + "2024-05-01T13:04:00-04:00", + "2024-05-01T13:05:00-04:00", + "2024-05-01T13:06:00-04:00", + "2024-05-01T13:07:00-04:00", + "2024-05-01T13:08:00-04:00", + "2024-05-01T13:09:00-04:00", + "2024-05-01T13:10:00-04:00", + "2024-05-01T13:11:00-04:00", + "2024-05-01T13:12:00-04:00", + "2024-05-01T13:13:00-04:00", + "2024-05-01T13:14:00-04:00", + "2024-05-01T13:15:00-04:00", + "2024-05-01T13:16:00-04:00", + "2024-05-01T13:17:00-04:00", + "2024-05-01T13:18:00-04:00", + "2024-05-01T13:19:00-04:00", + "2024-05-01T13:20:00-04:00", + "2024-05-01T13:21:00-04:00", + "2024-05-01T13:22:00-04:00", + "2024-05-01T13:23:00-04:00", + "2024-05-01T13:24:00-04:00", + "2024-05-01T13:25:00-04:00", + "2024-05-01T13:26:00-04:00", + "2024-05-01T13:27:00-04:00", + "2024-05-01T13:28:00-04:00", + "2024-05-01T13:29:00-04:00", + "2024-05-01T13:30:00-04:00", + "2024-05-01T13:31:00-04:00", + "2024-05-01T13:32:00-04:00", + "2024-05-01T13:33:00-04:00", + "2024-05-01T13:34:00-04:00", + "2024-05-01T13:35:00-04:00", + "2024-05-01T13:36:00-04:00", + "2024-05-01T13:37:00-04:00", + "2024-05-01T13:38:00-04:00", + "2024-05-01T13:39:00-04:00", + "2024-05-01T13:40:00-04:00", + "2024-05-01T13:41:00-04:00", + "2024-05-01T13:42:00-04:00", + "2024-05-01T13:43:00-04:00", + "2024-05-01T13:44:00-04:00", + "2024-05-01T13:45:00-04:00", + "2024-05-01T13:46:00-04:00", + "2024-05-01T13:47:00-04:00", + "2024-05-01T13:48:00-04:00", + "2024-05-01T13:49:00-04:00", + "2024-05-01T13:50:00-04:00", + "2024-05-01T13:51:00-04:00", + "2024-05-01T13:52:00-04:00", + "2024-05-01T13:53:00-04:00", + "2024-05-01T13:54:00-04:00", + "2024-05-01T13:55:00-04:00", + "2024-05-01T13:56:00-04:00", + "2024-05-01T13:57:00-04:00", + "2024-05-01T13:58:00-04:00", + "2024-05-01T13:59:00-04:00", + "2024-05-01T14:00:00-04:00", + "2024-05-01T14:01:00-04:00", + "2024-05-01T14:02:00-04:00", + "2024-05-01T14:03:00-04:00", + "2024-05-01T14:04:00-04:00", + "2024-05-01T14:05:00-04:00", + "2024-05-01T14:06:00-04:00", + "2024-05-01T14:07:00-04:00", + "2024-05-01T14:08:00-04:00", + "2024-05-01T14:09:00-04:00", + "2024-05-01T14:10:00-04:00", + "2024-05-01T14:11:00-04:00", + "2024-05-01T14:12:00-04:00", + "2024-05-01T14:13:00-04:00", + "2024-05-01T14:14:00-04:00", + "2024-05-01T14:15:00-04:00", + "2024-05-01T14:16:00-04:00", + "2024-05-01T14:17:00-04:00", + "2024-05-01T14:18:00-04:00", + "2024-05-01T14:19:00-04:00", + "2024-05-01T14:20:00-04:00", + "2024-05-01T14:21:00-04:00", + "2024-05-01T14:22:00-04:00", + "2024-05-01T14:23:00-04:00", + "2024-05-01T14:24:00-04:00", + "2024-05-01T14:25:00-04:00", + "2024-05-01T14:26:00-04:00", + "2024-05-01T14:27:00-04:00", + "2024-05-01T14:28:00-04:00", + "2024-05-01T14:29:00-04:00", + "2024-05-01T14:30:00-04:00", + "2024-05-01T14:31:00-04:00", + "2024-05-01T14:32:00-04:00", + "2024-05-01T14:33:00-04:00", + "2024-05-01T14:34:00-04:00", + "2024-05-01T14:35:00-04:00", + "2024-05-01T14:36:00-04:00", + "2024-05-01T14:37:00-04:00", + "2024-05-01T14:38:00-04:00", + "2024-05-01T14:39:00-04:00", + "2024-05-01T14:40:00-04:00", + "2024-05-01T14:41:00-04:00", + "2024-05-01T14:42:00-04:00", + "2024-05-01T14:43:00-04:00", + "2024-05-01T14:44:00-04:00", + "2024-05-01T14:45:00-04:00", + "2024-05-01T14:46:00-04:00", + "2024-05-01T14:47:00-04:00", + "2024-05-01T14:48:00-04:00", + "2024-05-01T14:49:00-04:00", + "2024-05-01T14:50:00-04:00", + "2024-05-01T14:51:00-04:00", + "2024-05-01T14:52:00-04:00", + "2024-05-01T14:53:00-04:00", + "2024-05-01T14:54:00-04:00", + "2024-05-01T14:55:00-04:00", + "2024-05-01T14:56:00-04:00", + "2024-05-01T14:57:00-04:00", + "2024-05-01T14:58:00-04:00", + "2024-05-01T14:59:00-04:00", + "2024-05-01T15:00:00-04:00", + "2024-05-01T15:01:00-04:00", + "2024-05-01T15:02:00-04:00", + "2024-05-01T15:03:00-04:00", + "2024-05-01T15:04:00-04:00", + "2024-05-01T15:05:00-04:00", + "2024-05-01T15:06:00-04:00", + "2024-05-01T15:07:00-04:00", + "2024-05-01T15:08:00-04:00", + "2024-05-01T15:09:00-04:00", + "2024-05-01T15:10:00-04:00", + "2024-05-01T15:11:00-04:00", + "2024-05-01T15:12:00-04:00", + "2024-05-01T15:13:00-04:00", + "2024-05-01T15:14:00-04:00", + "2024-05-01T15:15:00-04:00", + "2024-05-01T15:16:00-04:00", + "2024-05-01T15:17:00-04:00", + "2024-05-01T15:18:00-04:00", + "2024-05-01T15:19:00-04:00", + "2024-05-01T15:20:00-04:00", + "2024-05-01T15:21:00-04:00", + "2024-05-01T15:22:00-04:00", + "2024-05-01T15:23:00-04:00", + "2024-05-01T15:24:00-04:00", + "2024-05-01T15:25:00-04:00", + "2024-05-01T15:26:00-04:00", + "2024-05-01T15:27:00-04:00", + "2024-05-01T15:28:00-04:00", + "2024-05-01T15:29:00-04:00", + "2024-05-01T15:30:00-04:00", + "2024-05-01T15:31:00-04:00", + "2024-05-01T15:32:00-04:00", + "2024-05-01T15:33:00-04:00", + "2024-05-01T15:34:00-04:00", + "2024-05-01T15:35:00-04:00", + "2024-05-01T15:36:00-04:00", + "2024-05-01T15:37:00-04:00", + "2024-05-01T15:38:00-04:00", + "2024-05-01T15:39:00-04:00", + "2024-05-01T15:40:00-04:00", + "2024-05-01T15:41:00-04:00", + "2024-05-01T15:42:00-04:00", + "2024-05-01T15:43:00-04:00", + "2024-05-01T15:44:00-04:00", + "2024-05-01T15:45:00-04:00", + "2024-05-01T15:46:00-04:00", + "2024-05-01T15:47:00-04:00", + "2024-05-01T15:48:00-04:00", + "2024-05-01T15:49:00-04:00", + "2024-05-01T15:50:00-04:00", + "2024-05-01T15:51:00-04:00", + "2024-05-01T15:52:00-04:00", + "2024-05-01T15:53:00-04:00", + "2024-05-01T15:54:00-04:00", + "2024-05-01T15:55:00-04:00", + "2024-05-01T15:56:00-04:00", + "2024-05-01T15:57:00-04:00", + "2024-05-01T15:58:00-04:00", + "2024-05-01T15:59:00-04:00", + "2024-05-01T16:00:00-04:00", + "2024-05-02T09:30:00-04:00", + "2024-05-02T09:31:00-04:00", + "2024-05-02T09:32:00-04:00", + "2024-05-02T09:33:00-04:00", + "2024-05-02T09:34:00-04:00", + "2024-05-02T09:35:00-04:00", + "2024-05-02T09:36:00-04:00", + "2024-05-02T09:37:00-04:00", + "2024-05-02T09:38:00-04:00", + "2024-05-02T09:39:00-04:00", + "2024-05-02T09:40:00-04:00", + "2024-05-02T09:41:00-04:00", + "2024-05-02T09:42:00-04:00", + "2024-05-02T09:43:00-04:00", + "2024-05-02T09:44:00-04:00", + "2024-05-02T09:45:00-04:00", + "2024-05-02T09:46:00-04:00", + "2024-05-02T09:47:00-04:00", + "2024-05-02T09:48:00-04:00", + "2024-05-02T09:49:00-04:00", + "2024-05-02T09:50:00-04:00", + "2024-05-02T09:51:00-04:00", + "2024-05-02T09:52:00-04:00", + "2024-05-02T09:53:00-04:00", + "2024-05-02T09:54:00-04:00", + "2024-05-02T09:55:00-04:00", + "2024-05-02T09:56:00-04:00", + "2024-05-02T09:57:00-04:00", + "2024-05-02T09:58:00-04:00", + "2024-05-02T09:59:00-04:00", + "2024-05-02T10:00:00-04:00", + "2024-05-02T10:01:00-04:00", + "2024-05-02T10:02:00-04:00", + "2024-05-02T10:03:00-04:00", + "2024-05-02T10:04:00-04:00", + "2024-05-02T10:05:00-04:00", + "2024-05-02T10:06:00-04:00", + "2024-05-02T10:07:00-04:00", + "2024-05-02T10:08:00-04:00", + "2024-05-02T10:09:00-04:00", + "2024-05-02T10:10:00-04:00", + "2024-05-02T10:11:00-04:00", + "2024-05-02T10:12:00-04:00", + "2024-05-02T10:13:00-04:00", + "2024-05-02T10:14:00-04:00", + "2024-05-02T10:15:00-04:00", + "2024-05-02T10:16:00-04:00", + "2024-05-02T10:17:00-04:00", + "2024-05-02T10:18:00-04:00", + "2024-05-02T10:19:00-04:00", + "2024-05-02T10:20:00-04:00", + "2024-05-02T10:21:00-04:00", + "2024-05-02T10:22:00-04:00", + "2024-05-02T10:23:00-04:00", + "2024-05-02T10:24:00-04:00", + "2024-05-02T10:25:00-04:00", + "2024-05-02T10:26:00-04:00", + "2024-05-02T10:27:00-04:00", + "2024-05-02T10:28:00-04:00", + "2024-05-02T10:29:00-04:00", + "2024-05-02T10:30:00-04:00", + "2024-05-02T10:31:00-04:00", + "2024-05-02T10:32:00-04:00", + "2024-05-02T10:33:00-04:00", + "2024-05-02T10:34:00-04:00", + "2024-05-02T10:35:00-04:00", + "2024-05-02T10:36:00-04:00", + "2024-05-02T10:37:00-04:00", + "2024-05-02T10:38:00-04:00", + "2024-05-02T10:39:00-04:00", + "2024-05-02T10:40:00-04:00", + "2024-05-02T10:41:00-04:00", + "2024-05-02T10:42:00-04:00", + "2024-05-02T10:43:00-04:00", + "2024-05-02T10:44:00-04:00", + "2024-05-02T10:45:00-04:00", + "2024-05-02T10:46:00-04:00", + "2024-05-02T10:47:00-04:00", + "2024-05-02T10:48:00-04:00", + "2024-05-02T10:49:00-04:00", + "2024-05-02T10:50:00-04:00", + "2024-05-02T10:51:00-04:00", + "2024-05-02T10:52:00-04:00", + "2024-05-02T10:53:00-04:00", + "2024-05-02T10:54:00-04:00", + "2024-05-02T10:55:00-04:00", + "2024-05-02T10:56:00-04:00", + "2024-05-02T10:57:00-04:00", + "2024-05-02T10:58:00-04:00", + "2024-05-02T10:59:00-04:00", + "2024-05-02T11:00:00-04:00", + "2024-05-02T11:01:00-04:00", + "2024-05-02T11:02:00-04:00", + "2024-05-02T11:03:00-04:00", + "2024-05-02T11:04:00-04:00", + "2024-05-02T11:05:00-04:00", + "2024-05-02T11:06:00-04:00", + "2024-05-02T11:07:00-04:00", + "2024-05-02T11:08:00-04:00", + "2024-05-02T11:09:00-04:00", + "2024-05-02T11:10:00-04:00", + "2024-05-02T11:11:00-04:00", + "2024-05-02T11:12:00-04:00", + "2024-05-02T11:13:00-04:00", + "2024-05-02T11:14:00-04:00", + "2024-05-02T11:15:00-04:00", + "2024-05-02T11:16:00-04:00", + "2024-05-02T11:17:00-04:00", + "2024-05-02T11:18:00-04:00", + "2024-05-02T11:19:00-04:00", + "2024-05-02T11:20:00-04:00", + "2024-05-02T11:21:00-04:00", + "2024-05-02T11:22:00-04:00", + "2024-05-02T11:23:00-04:00", + "2024-05-02T11:24:00-04:00", + "2024-05-02T11:25:00-04:00", + "2024-05-02T11:26:00-04:00", + "2024-05-02T11:27:00-04:00", + "2024-05-02T11:28:00-04:00", + "2024-05-02T11:29:00-04:00", + "2024-05-02T11:30:00-04:00", + "2024-05-02T11:31:00-04:00", + "2024-05-02T11:32:00-04:00", + "2024-05-02T11:33:00-04:00", + "2024-05-02T11:34:00-04:00", + "2024-05-02T11:35:00-04:00", + "2024-05-02T11:36:00-04:00", + "2024-05-02T11:37:00-04:00", + "2024-05-02T11:38:00-04:00", + "2024-05-02T11:39:00-04:00", + "2024-05-02T11:40:00-04:00", + "2024-05-02T11:41:00-04:00", + "2024-05-02T11:42:00-04:00", + "2024-05-02T11:43:00-04:00", + "2024-05-02T11:44:00-04:00", + "2024-05-02T11:45:00-04:00", + "2024-05-02T11:46:00-04:00", + "2024-05-02T11:47:00-04:00", + "2024-05-02T11:48:00-04:00", + "2024-05-02T11:49:00-04:00", + "2024-05-02T11:50:00-04:00", + "2024-05-02T11:51:00-04:00", + "2024-05-02T11:52:00-04:00", + "2024-05-02T11:53:00-04:00", + "2024-05-02T11:54:00-04:00", + "2024-05-02T11:55:00-04:00", + "2024-05-02T11:56:00-04:00", + "2024-05-02T11:57:00-04:00", + "2024-05-02T11:58:00-04:00", + "2024-05-02T11:59:00-04:00", + "2024-05-02T12:00:00-04:00", + "2024-05-02T12:01:00-04:00", + "2024-05-02T12:02:00-04:00", + "2024-05-02T12:03:00-04:00", + "2024-05-02T12:04:00-04:00", + "2024-05-02T12:05:00-04:00", + "2024-05-02T12:06:00-04:00", + "2024-05-02T12:07:00-04:00", + "2024-05-02T12:08:00-04:00", + "2024-05-02T12:09:00-04:00", + "2024-05-02T12:10:00-04:00", + "2024-05-02T12:11:00-04:00", + "2024-05-02T12:12:00-04:00", + "2024-05-02T12:13:00-04:00", + "2024-05-02T12:14:00-04:00", + "2024-05-02T12:15:00-04:00", + "2024-05-02T12:16:00-04:00", + "2024-05-02T12:17:00-04:00", + "2024-05-02T12:18:00-04:00", + "2024-05-02T12:19:00-04:00", + "2024-05-02T12:20:00-04:00", + "2024-05-02T12:21:00-04:00", + "2024-05-02T12:22:00-04:00", + "2024-05-02T12:23:00-04:00", + "2024-05-02T12:24:00-04:00", + "2024-05-02T12:25:00-04:00", + "2024-05-02T12:26:00-04:00", + "2024-05-02T12:27:00-04:00", + "2024-05-02T12:28:00-04:00", + "2024-05-02T12:29:00-04:00", + "2024-05-02T12:30:00-04:00", + "2024-05-02T12:31:00-04:00", + "2024-05-02T12:32:00-04:00", + "2024-05-02T12:33:00-04:00", + "2024-05-02T12:34:00-04:00", + "2024-05-02T12:35:00-04:00", + "2024-05-02T12:36:00-04:00", + "2024-05-02T12:37:00-04:00", + "2024-05-02T12:38:00-04:00", + "2024-05-02T12:39:00-04:00", + "2024-05-02T12:40:00-04:00", + "2024-05-02T12:41:00-04:00", + "2024-05-02T12:42:00-04:00", + "2024-05-02T12:43:00-04:00", + "2024-05-02T12:44:00-04:00", + "2024-05-02T12:45:00-04:00", + "2024-05-02T12:46:00-04:00", + "2024-05-02T12:47:00-04:00", + "2024-05-02T12:48:00-04:00", + "2024-05-02T12:49:00-04:00", + "2024-05-02T12:50:00-04:00", + "2024-05-02T12:51:00-04:00", + "2024-05-02T12:52:00-04:00", + "2024-05-02T12:53:00-04:00", + "2024-05-02T12:54:00-04:00", + "2024-05-02T12:55:00-04:00", + "2024-05-02T12:56:00-04:00", + "2024-05-02T12:57:00-04:00", + "2024-05-02T12:58:00-04:00", + "2024-05-02T12:59:00-04:00", + "2024-05-02T13:00:00-04:00", + "2024-05-02T13:01:00-04:00", + "2024-05-02T13:02:00-04:00", + "2024-05-02T13:03:00-04:00", + "2024-05-02T13:04:00-04:00", + "2024-05-02T13:05:00-04:00", + "2024-05-02T13:06:00-04:00", + "2024-05-02T13:07:00-04:00", + "2024-05-02T13:08:00-04:00", + "2024-05-02T13:09:00-04:00", + "2024-05-02T13:10:00-04:00", + "2024-05-02T13:11:00-04:00", + "2024-05-02T13:12:00-04:00", + "2024-05-02T13:13:00-04:00", + "2024-05-02T13:14:00-04:00", + "2024-05-02T13:15:00-04:00", + "2024-05-02T13:16:00-04:00", + "2024-05-02T13:17:00-04:00", + "2024-05-02T13:18:00-04:00", + "2024-05-02T13:19:00-04:00", + "2024-05-02T13:20:00-04:00", + "2024-05-02T13:21:00-04:00", + "2024-05-02T13:22:00-04:00", + "2024-05-02T13:23:00-04:00", + "2024-05-02T13:24:00-04:00", + "2024-05-02T13:25:00-04:00", + "2024-05-02T13:26:00-04:00", + "2024-05-02T13:27:00-04:00", + "2024-05-02T13:28:00-04:00", + "2024-05-02T13:29:00-04:00", + "2024-05-02T13:30:00-04:00", + "2024-05-02T13:31:00-04:00", + "2024-05-02T13:32:00-04:00", + "2024-05-02T13:33:00-04:00", + "2024-05-02T13:34:00-04:00", + "2024-05-02T13:35:00-04:00", + "2024-05-02T13:36:00-04:00", + "2024-05-02T13:37:00-04:00", + "2024-05-02T13:38:00-04:00", + "2024-05-02T13:39:00-04:00", + "2024-05-02T13:40:00-04:00", + "2024-05-02T13:41:00-04:00", + "2024-05-02T13:42:00-04:00", + "2024-05-02T13:43:00-04:00", + "2024-05-02T13:44:00-04:00", + "2024-05-02T13:45:00-04:00", + "2024-05-02T13:46:00-04:00", + "2024-05-02T13:47:00-04:00", + "2024-05-02T13:48:00-04:00", + "2024-05-02T13:49:00-04:00", + "2024-05-02T13:50:00-04:00", + "2024-05-02T13:51:00-04:00", + "2024-05-02T13:52:00-04:00", + "2024-05-02T13:53:00-04:00", + "2024-05-02T13:54:00-04:00", + "2024-05-02T13:55:00-04:00", + "2024-05-02T13:56:00-04:00", + "2024-05-02T13:57:00-04:00", + "2024-05-02T13:58:00-04:00", + "2024-05-02T13:59:00-04:00", + "2024-05-02T14:00:00-04:00", + "2024-05-02T14:01:00-04:00", + "2024-05-02T14:02:00-04:00", + "2024-05-02T14:03:00-04:00", + "2024-05-02T14:04:00-04:00", + "2024-05-02T14:05:00-04:00", + "2024-05-02T14:06:00-04:00", + "2024-05-02T14:07:00-04:00", + "2024-05-02T14:08:00-04:00", + "2024-05-02T14:09:00-04:00", + "2024-05-02T14:10:00-04:00", + "2024-05-02T14:11:00-04:00", + "2024-05-02T14:12:00-04:00", + "2024-05-02T14:13:00-04:00", + "2024-05-02T14:14:00-04:00", + "2024-05-02T14:15:00-04:00", + "2024-05-02T14:16:00-04:00", + "2024-05-02T14:17:00-04:00", + "2024-05-02T14:18:00-04:00", + "2024-05-02T14:19:00-04:00", + "2024-05-02T14:20:00-04:00", + "2024-05-02T14:21:00-04:00", + "2024-05-02T14:22:00-04:00", + "2024-05-02T14:23:00-04:00", + "2024-05-02T14:24:00-04:00", + "2024-05-02T14:25:00-04:00", + "2024-05-02T14:26:00-04:00", + "2024-05-02T14:27:00-04:00", + "2024-05-02T14:28:00-04:00", + "2024-05-02T14:29:00-04:00", + "2024-05-02T14:30:00-04:00", + "2024-05-02T14:31:00-04:00", + "2024-05-02T14:32:00-04:00", + "2024-05-02T14:33:00-04:00", + "2024-05-02T14:34:00-04:00", + "2024-05-02T14:35:00-04:00", + "2024-05-02T14:36:00-04:00", + "2024-05-02T14:37:00-04:00", + "2024-05-02T14:38:00-04:00", + "2024-05-02T14:39:00-04:00", + "2024-05-02T14:40:00-04:00", + "2024-05-02T14:41:00-04:00", + "2024-05-02T14:42:00-04:00", + "2024-05-02T14:43:00-04:00", + "2024-05-02T14:44:00-04:00", + "2024-05-02T14:45:00-04:00", + "2024-05-02T14:46:00-04:00", + "2024-05-02T14:47:00-04:00", + "2024-05-02T14:48:00-04:00", + "2024-05-02T14:49:00-04:00", + "2024-05-02T14:50:00-04:00", + "2024-05-02T14:51:00-04:00", + "2024-05-02T14:52:00-04:00", + "2024-05-02T14:53:00-04:00", + "2024-05-02T14:54:00-04:00", + "2024-05-02T14:55:00-04:00", + "2024-05-02T14:56:00-04:00", + "2024-05-02T14:57:00-04:00", + "2024-05-02T14:58:00-04:00", + "2024-05-02T14:59:00-04:00", + "2024-05-02T15:00:00-04:00", + "2024-05-02T15:01:00-04:00", + "2024-05-02T15:02:00-04:00", + "2024-05-02T15:03:00-04:00", + "2024-05-02T15:04:00-04:00", + "2024-05-02T15:05:00-04:00", + "2024-05-02T15:06:00-04:00", + "2024-05-02T15:07:00-04:00", + "2024-05-02T15:08:00-04:00", + "2024-05-02T15:09:00-04:00", + "2024-05-02T15:10:00-04:00", + "2024-05-02T15:11:00-04:00", + "2024-05-02T15:12:00-04:00", + "2024-05-02T15:13:00-04:00", + "2024-05-02T15:14:00-04:00", + "2024-05-02T15:15:00-04:00", + "2024-05-02T15:16:00-04:00", + "2024-05-02T15:17:00-04:00", + "2024-05-02T15:18:00-04:00", + "2024-05-02T15:19:00-04:00", + "2024-05-02T15:20:00-04:00", + "2024-05-02T15:21:00-04:00", + "2024-05-02T15:22:00-04:00", + "2024-05-02T15:23:00-04:00", + "2024-05-02T15:24:00-04:00", + "2024-05-02T15:25:00-04:00", + "2024-05-02T15:26:00-04:00", + "2024-05-02T15:27:00-04:00", + "2024-05-02T15:28:00-04:00", + "2024-05-02T15:29:00-04:00", + "2024-05-02T15:30:00-04:00", + "2024-05-02T15:31:00-04:00", + "2024-05-02T15:32:00-04:00", + "2024-05-02T15:33:00-04:00", + "2024-05-02T15:34:00-04:00", + "2024-05-02T15:35:00-04:00", + "2024-05-02T15:36:00-04:00", + "2024-05-02T15:37:00-04:00", + "2024-05-02T15:38:00-04:00", + "2024-05-02T15:39:00-04:00", + "2024-05-02T15:40:00-04:00", + "2024-05-02T15:41:00-04:00", + "2024-05-02T15:42:00-04:00", + "2024-05-02T15:43:00-04:00", + "2024-05-02T15:44:00-04:00", + "2024-05-02T15:45:00-04:00", + "2024-05-02T15:46:00-04:00", + "2024-05-02T15:47:00-04:00", + "2024-05-02T15:48:00-04:00", + "2024-05-02T15:49:00-04:00", + "2024-05-02T15:50:00-04:00", + "2024-05-02T15:51:00-04:00", + "2024-05-02T15:52:00-04:00", + "2024-05-02T15:53:00-04:00", + "2024-05-02T15:54:00-04:00", + "2024-05-02T15:55:00-04:00", + "2024-05-02T15:56:00-04:00", + "2024-05-02T15:57:00-04:00", + "2024-05-02T15:58:00-04:00", + "2024-05-02T15:59:00-04:00", + "2024-05-02T16:00:00-04:00", + "2024-05-03T09:30:00-04:00", + "2024-05-03T09:31:00-04:00", + "2024-05-03T09:32:00-04:00", + "2024-05-03T09:33:00-04:00", + "2024-05-03T09:34:00-04:00", + "2024-05-03T09:35:00-04:00", + "2024-05-03T09:36:00-04:00", + "2024-05-03T09:37:00-04:00", + "2024-05-03T09:38:00-04:00", + "2024-05-03T09:39:00-04:00", + "2024-05-03T09:40:00-04:00", + "2024-05-03T09:41:00-04:00", + "2024-05-03T09:42:00-04:00", + "2024-05-03T09:43:00-04:00", + "2024-05-03T09:44:00-04:00", + "2024-05-03T09:45:00-04:00", + "2024-05-03T09:46:00-04:00", + "2024-05-03T09:47:00-04:00", + "2024-05-03T09:48:00-04:00", + "2024-05-03T09:49:00-04:00", + "2024-05-03T09:50:00-04:00", + "2024-05-03T09:51:00-04:00", + "2024-05-03T09:52:00-04:00", + "2024-05-03T09:53:00-04:00", + "2024-05-03T09:54:00-04:00", + "2024-05-03T09:55:00-04:00", + "2024-05-03T09:56:00-04:00", + "2024-05-03T09:57:00-04:00", + "2024-05-03T09:58:00-04:00", + "2024-05-03T09:59:00-04:00", + "2024-05-03T10:00:00-04:00", + "2024-05-03T10:01:00-04:00", + "2024-05-03T10:02:00-04:00", + "2024-05-03T10:03:00-04:00", + "2024-05-03T10:04:00-04:00", + "2024-05-03T10:05:00-04:00", + "2024-05-03T10:06:00-04:00", + "2024-05-03T10:07:00-04:00", + "2024-05-03T10:08:00-04:00", + "2024-05-03T10:09:00-04:00", + "2024-05-03T10:10:00-04:00", + "2024-05-03T10:11:00-04:00", + "2024-05-03T10:12:00-04:00", + "2024-05-03T10:13:00-04:00", + "2024-05-03T10:14:00-04:00", + "2024-05-03T10:15:00-04:00", + "2024-05-03T10:16:00-04:00", + "2024-05-03T10:17:00-04:00", + "2024-05-03T10:18:00-04:00", + "2024-05-03T10:19:00-04:00", + "2024-05-03T10:20:00-04:00", + "2024-05-03T10:21:00-04:00", + "2024-05-03T10:22:00-04:00", + "2024-05-03T10:23:00-04:00", + "2024-05-03T10:24:00-04:00", + "2024-05-03T10:25:00-04:00", + "2024-05-03T10:26:00-04:00", + "2024-05-03T10:27:00-04:00", + "2024-05-03T10:28:00-04:00", + "2024-05-03T10:29:00-04:00", + "2024-05-03T10:30:00-04:00", + "2024-05-03T10:31:00-04:00", + "2024-05-03T10:32:00-04:00", + "2024-05-03T10:33:00-04:00", + "2024-05-03T10:34:00-04:00", + "2024-05-03T10:35:00-04:00", + "2024-05-03T10:36:00-04:00", + "2024-05-03T10:37:00-04:00", + "2024-05-03T10:38:00-04:00", + "2024-05-03T10:39:00-04:00", + "2024-05-03T10:40:00-04:00", + "2024-05-03T10:41:00-04:00", + "2024-05-03T10:42:00-04:00", + "2024-05-03T10:43:00-04:00", + "2024-05-03T10:44:00-04:00", + "2024-05-03T10:45:00-04:00", + "2024-05-03T10:46:00-04:00", + "2024-05-03T10:47:00-04:00", + "2024-05-03T10:48:00-04:00", + "2024-05-03T10:49:00-04:00", + "2024-05-03T10:50:00-04:00", + "2024-05-03T10:51:00-04:00", + "2024-05-03T10:52:00-04:00", + "2024-05-03T10:53:00-04:00", + "2024-05-03T10:54:00-04:00", + "2024-05-03T10:55:00-04:00", + "2024-05-03T10:56:00-04:00", + "2024-05-03T10:57:00-04:00", + "2024-05-03T10:58:00-04:00", + "2024-05-03T10:59:00-04:00", + "2024-05-03T11:00:00-04:00", + "2024-05-03T11:01:00-04:00", + "2024-05-03T11:02:00-04:00", + "2024-05-03T11:03:00-04:00", + "2024-05-03T11:04:00-04:00", + "2024-05-03T11:05:00-04:00", + "2024-05-03T11:06:00-04:00", + "2024-05-03T11:07:00-04:00", + "2024-05-03T11:08:00-04:00", + "2024-05-03T11:09:00-04:00", + "2024-05-03T11:10:00-04:00", + "2024-05-03T11:11:00-04:00", + "2024-05-03T11:12:00-04:00", + "2024-05-03T11:13:00-04:00", + "2024-05-03T11:14:00-04:00", + "2024-05-03T11:15:00-04:00", + "2024-05-03T11:16:00-04:00", + "2024-05-03T11:17:00-04:00", + "2024-05-03T11:18:00-04:00", + "2024-05-03T11:19:00-04:00", + "2024-05-03T11:20:00-04:00", + "2024-05-03T11:21:00-04:00", + "2024-05-03T11:22:00-04:00", + "2024-05-03T11:23:00-04:00", + "2024-05-03T11:24:00-04:00", + "2024-05-03T11:25:00-04:00", + "2024-05-03T11:26:00-04:00", + "2024-05-03T11:27:00-04:00", + "2024-05-03T11:28:00-04:00", + "2024-05-03T11:29:00-04:00", + "2024-05-03T11:30:00-04:00", + "2024-05-03T11:31:00-04:00", + "2024-05-03T11:32:00-04:00", + "2024-05-03T11:33:00-04:00", + "2024-05-03T11:34:00-04:00", + "2024-05-03T11:35:00-04:00", + "2024-05-03T11:36:00-04:00", + "2024-05-03T11:37:00-04:00", + "2024-05-03T11:38:00-04:00", + "2024-05-03T11:39:00-04:00", + "2024-05-03T11:40:00-04:00", + "2024-05-03T11:41:00-04:00", + "2024-05-03T11:42:00-04:00", + "2024-05-03T11:43:00-04:00", + "2024-05-03T11:44:00-04:00", + "2024-05-03T11:45:00-04:00", + "2024-05-03T11:46:00-04:00", + "2024-05-03T11:47:00-04:00", + "2024-05-03T11:48:00-04:00", + "2024-05-03T11:49:00-04:00", + "2024-05-03T11:50:00-04:00", + "2024-05-03T11:51:00-04:00", + "2024-05-03T11:52:00-04:00", + "2024-05-03T11:53:00-04:00", + "2024-05-03T11:54:00-04:00", + "2024-05-03T11:55:00-04:00", + "2024-05-03T11:56:00-04:00", + "2024-05-03T11:57:00-04:00", + "2024-05-03T11:58:00-04:00", + "2024-05-03T11:59:00-04:00", + "2024-05-03T12:00:00-04:00", + "2024-05-03T12:01:00-04:00", + "2024-05-03T12:02:00-04:00", + "2024-05-03T12:03:00-04:00", + "2024-05-03T12:04:00-04:00", + "2024-05-03T12:05:00-04:00", + "2024-05-03T12:06:00-04:00", + "2024-05-03T12:07:00-04:00", + "2024-05-03T12:08:00-04:00", + "2024-05-03T12:09:00-04:00", + "2024-05-03T12:10:00-04:00", + "2024-05-03T12:11:00-04:00", + "2024-05-03T12:12:00-04:00", + "2024-05-03T12:13:00-04:00", + "2024-05-03T12:14:00-04:00", + "2024-05-03T12:15:00-04:00", + "2024-05-03T12:16:00-04:00", + "2024-05-03T12:17:00-04:00", + "2024-05-03T12:18:00-04:00", + "2024-05-03T12:19:00-04:00", + "2024-05-03T12:20:00-04:00", + "2024-05-03T12:21:00-04:00", + "2024-05-03T12:22:00-04:00", + "2024-05-03T12:23:00-04:00", + "2024-05-03T12:24:00-04:00", + "2024-05-03T12:25:00-04:00", + "2024-05-03T12:26:00-04:00", + "2024-05-03T12:27:00-04:00", + "2024-05-03T12:28:00-04:00", + "2024-05-03T12:29:00-04:00", + "2024-05-03T12:30:00-04:00", + "2024-05-03T12:31:00-04:00", + "2024-05-03T12:32:00-04:00", + "2024-05-03T12:33:00-04:00", + "2024-05-03T12:34:00-04:00", + "2024-05-03T12:35:00-04:00", + "2024-05-03T12:36:00-04:00", + "2024-05-03T12:37:00-04:00", + "2024-05-03T12:38:00-04:00", + "2024-05-03T12:39:00-04:00", + "2024-05-03T12:40:00-04:00", + "2024-05-03T12:41:00-04:00", + "2024-05-03T12:42:00-04:00", + "2024-05-03T12:43:00-04:00", + "2024-05-03T12:44:00-04:00", + "2024-05-03T12:45:00-04:00", + "2024-05-03T12:46:00-04:00", + "2024-05-03T12:47:00-04:00", + "2024-05-03T12:48:00-04:00", + "2024-05-03T12:49:00-04:00", + "2024-05-03T12:50:00-04:00", + "2024-05-03T12:51:00-04:00", + "2024-05-03T12:52:00-04:00", + "2024-05-03T12:53:00-04:00", + "2024-05-03T12:54:00-04:00", + "2024-05-03T12:55:00-04:00", + "2024-05-03T12:56:00-04:00", + "2024-05-03T12:57:00-04:00", + "2024-05-03T12:58:00-04:00", + "2024-05-03T12:59:00-04:00", + "2024-05-03T13:00:00-04:00", + "2024-05-03T13:01:00-04:00", + "2024-05-03T13:02:00-04:00", + "2024-05-03T13:03:00-04:00", + "2024-05-03T13:04:00-04:00", + "2024-05-03T13:05:00-04:00", + "2024-05-03T13:06:00-04:00", + "2024-05-03T13:07:00-04:00", + "2024-05-03T13:08:00-04:00", + "2024-05-03T13:09:00-04:00", + "2024-05-03T13:10:00-04:00", + "2024-05-03T13:11:00-04:00", + "2024-05-03T13:12:00-04:00", + "2024-05-03T13:13:00-04:00", + "2024-05-03T13:14:00-04:00", + "2024-05-03T13:15:00-04:00", + "2024-05-03T13:16:00-04:00", + "2024-05-03T13:17:00-04:00", + "2024-05-03T13:18:00-04:00", + "2024-05-03T13:19:00-04:00", + "2024-05-03T13:20:00-04:00", + "2024-05-03T13:21:00-04:00", + "2024-05-03T13:22:00-04:00", + "2024-05-03T13:23:00-04:00", + "2024-05-03T13:24:00-04:00", + "2024-05-03T13:25:00-04:00", + "2024-05-03T13:26:00-04:00", + "2024-05-03T13:27:00-04:00", + "2024-05-03T13:28:00-04:00", + "2024-05-03T13:29:00-04:00", + "2024-05-03T13:30:00-04:00", + "2024-05-03T13:31:00-04:00", + "2024-05-03T13:32:00-04:00", + "2024-05-03T13:33:00-04:00", + "2024-05-03T13:34:00-04:00", + "2024-05-03T13:35:00-04:00", + "2024-05-03T13:36:00-04:00", + "2024-05-03T13:37:00-04:00", + "2024-05-03T13:38:00-04:00", + "2024-05-03T13:39:00-04:00", + "2024-05-03T13:40:00-04:00", + "2024-05-03T13:41:00-04:00", + "2024-05-03T13:42:00-04:00", + "2024-05-03T13:43:00-04:00", + "2024-05-03T13:44:00-04:00", + "2024-05-03T13:45:00-04:00", + "2024-05-03T13:46:00-04:00", + "2024-05-03T13:47:00-04:00", + "2024-05-03T13:48:00-04:00", + "2024-05-03T13:49:00-04:00", + "2024-05-03T13:50:00-04:00", + "2024-05-03T13:51:00-04:00", + "2024-05-03T13:52:00-04:00", + "2024-05-03T13:53:00-04:00", + "2024-05-03T13:54:00-04:00", + "2024-05-03T13:55:00-04:00", + "2024-05-03T13:56:00-04:00", + "2024-05-03T13:57:00-04:00", + "2024-05-03T13:58:00-04:00", + "2024-05-03T13:59:00-04:00", + "2024-05-03T14:00:00-04:00", + "2024-05-03T14:01:00-04:00", + "2024-05-03T14:02:00-04:00", + "2024-05-03T14:03:00-04:00", + "2024-05-03T14:04:00-04:00", + "2024-05-03T14:05:00-04:00", + "2024-05-03T14:06:00-04:00", + "2024-05-03T14:07:00-04:00", + "2024-05-03T14:08:00-04:00", + "2024-05-03T14:09:00-04:00", + "2024-05-03T14:10:00-04:00", + "2024-05-03T14:11:00-04:00", + "2024-05-03T14:12:00-04:00", + "2024-05-03T14:13:00-04:00", + "2024-05-03T14:14:00-04:00", + "2024-05-03T14:15:00-04:00", + "2024-05-03T14:16:00-04:00", + "2024-05-03T14:17:00-04:00", + "2024-05-03T14:18:00-04:00", + "2024-05-03T14:19:00-04:00", + "2024-05-03T14:20:00-04:00", + "2024-05-03T14:21:00-04:00", + "2024-05-03T14:22:00-04:00", + "2024-05-03T14:23:00-04:00", + "2024-05-03T14:24:00-04:00", + "2024-05-03T14:25:00-04:00", + "2024-05-03T14:26:00-04:00", + "2024-05-03T14:27:00-04:00", + "2024-05-03T14:28:00-04:00", + "2024-05-03T14:29:00-04:00", + "2024-05-03T14:30:00-04:00", + "2024-05-03T14:31:00-04:00", + "2024-05-03T14:32:00-04:00", + "2024-05-03T14:33:00-04:00", + "2024-05-03T14:34:00-04:00", + "2024-05-03T14:35:00-04:00", + "2024-05-03T14:36:00-04:00", + "2024-05-03T14:37:00-04:00", + "2024-05-03T14:38:00-04:00", + "2024-05-03T14:39:00-04:00", + "2024-05-03T14:40:00-04:00", + "2024-05-03T14:41:00-04:00", + "2024-05-03T14:42:00-04:00", + "2024-05-03T14:43:00-04:00", + "2024-05-03T14:44:00-04:00", + "2024-05-03T14:45:00-04:00", + "2024-05-03T14:46:00-04:00", + "2024-05-03T14:47:00-04:00", + "2024-05-03T14:48:00-04:00", + "2024-05-03T14:49:00-04:00", + "2024-05-03T14:50:00-04:00", + "2024-05-03T14:51:00-04:00", + "2024-05-03T14:52:00-04:00", + "2024-05-03T14:53:00-04:00", + "2024-05-03T14:54:00-04:00", + "2024-05-03T14:55:00-04:00", + "2024-05-03T14:56:00-04:00", + "2024-05-03T14:57:00-04:00", + "2024-05-03T14:58:00-04:00", + "2024-05-03T14:59:00-04:00", + "2024-05-03T15:00:00-04:00", + "2024-05-03T15:01:00-04:00", + "2024-05-03T15:02:00-04:00", + "2024-05-03T15:03:00-04:00", + "2024-05-03T15:04:00-04:00", + "2024-05-03T15:05:00-04:00", + "2024-05-03T15:06:00-04:00", + "2024-05-03T15:07:00-04:00", + "2024-05-03T15:08:00-04:00", + "2024-05-03T15:09:00-04:00", + "2024-05-03T15:10:00-04:00", + "2024-05-03T15:11:00-04:00", + "2024-05-03T15:12:00-04:00", + "2024-05-03T15:13:00-04:00", + "2024-05-03T15:14:00-04:00", + "2024-05-03T15:15:00-04:00", + "2024-05-03T15:16:00-04:00", + "2024-05-03T15:17:00-04:00", + "2024-05-03T15:18:00-04:00", + "2024-05-03T15:19:00-04:00", + "2024-05-03T15:20:00-04:00", + "2024-05-03T15:21:00-04:00", + "2024-05-03T15:22:00-04:00", + "2024-05-03T15:23:00-04:00", + "2024-05-03T15:24:00-04:00", + "2024-05-03T15:25:00-04:00", + "2024-05-03T15:26:00-04:00", + "2024-05-03T15:27:00-04:00", + "2024-05-03T15:28:00-04:00", + "2024-05-03T15:29:00-04:00", + "2024-05-03T15:30:00-04:00", + "2024-05-03T15:31:00-04:00", + "2024-05-03T15:32:00-04:00", + "2024-05-03T15:33:00-04:00", + "2024-05-03T15:34:00-04:00", + "2024-05-03T15:35:00-04:00", + "2024-05-03T15:36:00-04:00", + "2024-05-03T15:37:00-04:00", + "2024-05-03T15:38:00-04:00", + "2024-05-03T15:39:00-04:00", + "2024-05-03T15:40:00-04:00", + "2024-05-03T15:41:00-04:00", + "2024-05-03T15:42:00-04:00", + "2024-05-03T15:43:00-04:00", + "2024-05-03T15:44:00-04:00", + "2024-05-03T15:45:00-04:00", + "2024-05-03T15:46:00-04:00", + "2024-05-03T15:47:00-04:00", + "2024-05-03T15:48:00-04:00", + "2024-05-03T15:49:00-04:00", + "2024-05-03T15:50:00-04:00", + "2024-05-03T15:51:00-04:00", + "2024-05-03T15:52:00-04:00", + "2024-05-03T15:53:00-04:00", + "2024-05-03T15:54:00-04:00", + "2024-05-03T15:55:00-04:00", + "2024-05-03T15:56:00-04:00", + "2024-05-03T15:57:00-04:00", + "2024-05-03T15:58:00-04:00", + "2024-05-03T15:59:00-04:00", + "2024-05-03T16:00:00-04:00", + "2024-05-06T09:30:00-04:00", + "2024-05-06T09:31:00-04:00", + "2024-05-06T09:32:00-04:00", + "2024-05-06T09:33:00-04:00", + "2024-05-06T09:34:00-04:00", + "2024-05-06T09:35:00-04:00", + "2024-05-06T09:36:00-04:00", + "2024-05-06T09:37:00-04:00", + "2024-05-06T09:38:00-04:00", + "2024-05-06T09:39:00-04:00", + "2024-05-06T09:40:00-04:00", + "2024-05-06T09:41:00-04:00", + "2024-05-06T09:42:00-04:00", + "2024-05-06T09:43:00-04:00", + "2024-05-06T09:44:00-04:00", + "2024-05-06T09:45:00-04:00", + "2024-05-06T09:46:00-04:00", + "2024-05-06T09:47:00-04:00", + "2024-05-06T09:48:00-04:00", + "2024-05-06T09:49:00-04:00", + "2024-05-06T09:50:00-04:00", + "2024-05-06T09:51:00-04:00", + "2024-05-06T09:52:00-04:00", + "2024-05-06T09:53:00-04:00", + "2024-05-06T09:54:00-04:00", + "2024-05-06T09:55:00-04:00", + "2024-05-06T09:56:00-04:00", + "2024-05-06T09:57:00-04:00", + "2024-05-06T09:58:00-04:00", + "2024-05-06T09:59:00-04:00", + "2024-05-06T10:00:00-04:00", + "2024-05-06T10:01:00-04:00", + "2024-05-06T10:02:00-04:00", + "2024-05-06T10:03:00-04:00", + "2024-05-06T10:04:00-04:00", + "2024-05-06T10:05:00-04:00", + "2024-05-06T10:06:00-04:00", + "2024-05-06T10:07:00-04:00", + "2024-05-06T10:08:00-04:00", + "2024-05-06T10:09:00-04:00", + "2024-05-06T10:10:00-04:00", + "2024-05-06T10:11:00-04:00", + "2024-05-06T10:12:00-04:00", + "2024-05-06T10:13:00-04:00", + "2024-05-06T10:14:00-04:00", + "2024-05-06T10:15:00-04:00", + "2024-05-06T10:16:00-04:00", + "2024-05-06T10:17:00-04:00", + "2024-05-06T10:18:00-04:00", + "2024-05-06T10:19:00-04:00", + "2024-05-06T10:20:00-04:00", + "2024-05-06T10:21:00-04:00", + "2024-05-06T10:22:00-04:00", + "2024-05-06T10:23:00-04:00", + "2024-05-06T10:24:00-04:00", + "2024-05-06T10:25:00-04:00", + "2024-05-06T10:26:00-04:00", + "2024-05-06T10:27:00-04:00", + "2024-05-06T10:28:00-04:00", + "2024-05-06T10:29:00-04:00", + "2024-05-06T10:30:00-04:00", + "2024-05-06T10:31:00-04:00", + "2024-05-06T10:32:00-04:00", + "2024-05-06T10:33:00-04:00", + "2024-05-06T10:34:00-04:00", + "2024-05-06T10:35:00-04:00", + "2024-05-06T10:36:00-04:00", + "2024-05-06T10:37:00-04:00", + "2024-05-06T10:38:00-04:00", + "2024-05-06T10:39:00-04:00", + "2024-05-06T10:40:00-04:00", + "2024-05-06T10:41:00-04:00", + "2024-05-06T10:42:00-04:00", + "2024-05-06T10:43:00-04:00", + "2024-05-06T10:44:00-04:00", + "2024-05-06T10:45:00-04:00", + "2024-05-06T10:46:00-04:00", + "2024-05-06T10:47:00-04:00", + "2024-05-06T10:48:00-04:00", + "2024-05-06T10:49:00-04:00", + "2024-05-06T10:50:00-04:00", + "2024-05-06T10:51:00-04:00", + "2024-05-06T10:52:00-04:00", + "2024-05-06T10:53:00-04:00", + "2024-05-06T10:54:00-04:00", + "2024-05-06T10:55:00-04:00", + "2024-05-06T10:56:00-04:00", + "2024-05-06T10:57:00-04:00", + "2024-05-06T10:58:00-04:00", + "2024-05-06T10:59:00-04:00", + "2024-05-06T11:00:00-04:00", + "2024-05-06T11:01:00-04:00", + "2024-05-06T11:02:00-04:00", + "2024-05-06T11:03:00-04:00", + "2024-05-06T11:04:00-04:00", + "2024-05-06T11:05:00-04:00", + "2024-05-06T11:06:00-04:00", + "2024-05-06T11:07:00-04:00", + "2024-05-06T11:08:00-04:00", + "2024-05-06T11:09:00-04:00", + "2024-05-06T11:10:00-04:00", + "2024-05-06T11:11:00-04:00", + "2024-05-06T11:12:00-04:00", + "2024-05-06T11:13:00-04:00", + "2024-05-06T11:14:00-04:00", + "2024-05-06T11:15:00-04:00", + "2024-05-06T11:16:00-04:00", + "2024-05-06T11:17:00-04:00", + "2024-05-06T11:18:00-04:00", + "2024-05-06T11:19:00-04:00", + "2024-05-06T11:20:00-04:00", + "2024-05-06T11:21:00-04:00", + "2024-05-06T11:22:00-04:00", + "2024-05-06T11:23:00-04:00", + "2024-05-06T11:24:00-04:00", + "2024-05-06T11:25:00-04:00", + "2024-05-06T11:26:00-04:00", + "2024-05-06T11:27:00-04:00", + "2024-05-06T11:28:00-04:00", + "2024-05-06T11:29:00-04:00", + "2024-05-06T11:30:00-04:00", + "2024-05-06T11:31:00-04:00", + "2024-05-06T11:32:00-04:00", + "2024-05-06T11:33:00-04:00", + "2024-05-06T11:34:00-04:00", + "2024-05-06T11:35:00-04:00", + "2024-05-06T11:36:00-04:00", + "2024-05-06T11:37:00-04:00" + ], + "y": [ + 37.85666666666666, + 37.857452959347796, + 37.85022147712458, + 37.84983979039629, + 37.850431517527014, + 37.8414329572699, + 37.828761919155546, + 37.832171075558136, + 37.83431821356072, + 37.835850520403646, + 37.83682540964913, + 37.83991283321892, + 37.84126168435263, + 37.84150616017652, + 37.84234090927361, + 37.84299771049574, + 37.84527266375352, + 37.84841502691756, + 37.85326950983674, + 37.85997792779162, + 37.864924031318, + 37.868782924098774, + 37.87215768599714, + 37.875063766316494, + 37.876456105921996, + 37.878224279099506, + 37.88040325901841, + 37.88139664799482, + 37.883323846139334, + 37.88489269796698, + 37.88806141208203, + 37.89282011513575, + 37.896085246724304, + 37.89799473553894, + 37.89916278606307, + 37.90027568600315, + 37.906001810203875, + 37.90885539036246, + 37.91058464988299, + 37.91185487452673, + 37.91298480944769, + 37.91358299004248, + 37.914682502338636, + 37.91547526710585, + 37.91630515651449, + 37.91697186838574, + 37.917758012051216, + 37.91852900176693, + 37.9194330804752, + 37.920021004707436, + 37.921174795148545, + 37.922194168332084, + 37.9225519905441, + 37.923406931062935, + 37.92427447466243, + 37.92472013875649, + 37.92515720646737, + 37.92555308544195, + 37.92586267079497, + 37.92634622600941, + 37.9265727970584, + 37.926957813833035, + 37.92720799397742, + 37.92773271328368, + 37.92809916129793, + 37.928315048103606, + 37.928829325039025, + 37.92894489621477, + 37.929122473843805, + 37.92923219094207, + 37.929364858442554, + 37.92971970516038, + 37.929764197733824, + 37.92984025296269, + 37.93007996008894, + 37.93029164415807, + 37.930420005979606, + 37.9304829170234, + 37.930723204577255, + 37.93094223376051, + 37.931158972596286, + 37.93124606489545, + 37.93130960762438, + 37.93141526278768, + 37.93146699031773, + 37.93144899530687, + 37.931483098658866, + 37.93155589899715, + 37.93161156245601, + 37.93167638786752, + 37.93175856499441, + 37.93180186001985, + 37.93189910891476, + 37.932041646783254, + 37.932079042319515, + 37.93214197279108, + 37.932251400702015, + 37.93230910559864, + 37.93235885142491, + 37.93240498729583, + 37.93243485412908, + 37.93241877786744, + 37.932288925737524, + 37.93207763108892, + 37.93198956962792, + 37.93185050531875, + 37.9317946258458, + 37.93177605020116, + 37.931751637239344, + 37.931696875370555, + 37.931606277296034, + 37.931539305269325, + 37.93104141914155, + 37.93072553941424, + 37.93031220922454, + 37.92974401569324, + 37.92948808030851, + 37.929243906428695, + 37.92905123249824, + 37.92874125421581, + 37.928497971986566, + 37.92830497663225, + 37.928072156721385, + 37.927863895012294, + 37.92775529253174, + 37.9274386517405, + 37.9271559368857, + 37.92708183395896, + 37.92700060509497, + 37.9269105773601, + 37.92650180049522, + 37.92634216819417, + 37.92618973629027, + 37.926058768576176, + 37.92589620428976, + 37.925676637051644, + 37.925462115949, + 37.92528945881819, + 37.92516117548994, + 37.92502277321663, + 37.92473307658407, + 37.92463347430347, + 37.92433428088375, + 37.92409831747584, + 37.92375283079616, + 37.92352550082401, + 37.922506421781954, + 37.92184932739847, + 37.92100304294434, + 37.9194406659311, + 37.91857799017373, + 37.918353713474154, + 37.91710361071078, + 37.915124990901056, + 37.91314781643287, + 37.91282783961208, + 37.912563866089705, + 37.91189215009149, + 37.91180349567432, + 37.91111790706026, + 37.91100314145797, + 37.91089780700506, + 37.910694398878796, + 37.9101213235837, + 37.90982842467764, + 37.90957416837751, + 37.90940220970516, + 37.90931360453212, + 37.90884667192866, + 37.90859397070667, + 37.90854464878733, + 37.90810733027171, + 37.90792989258196, + 37.90787375779044, + 37.90764226307208, + 37.90744032408064, + 37.90727687574003, + 37.90676538296117, + 37.90670105968904, + 37.906186218791106, + 37.904993567208706, + 37.90462727219434, + 37.9036777076128, + 37.903303019694434, + 37.903036483409785, + 37.90230114050844, + 37.902166224458824, + 37.90193986718985, + 37.90169518985872, + 37.90133404281759, + 37.90092414863222, + 37.90048536382831, + 37.899534321433514, + 37.89940617573697, + 37.89899471716082, + 37.89844947868197, + 37.89822242672249, + 37.89729853795208, + 37.89648705004292, + 37.8961428916827, + 37.895996605711225, + 37.89585452181355, + 37.89493106647409, + 37.89408600666712, + 37.89381056404296, + 37.89358318029765, + 37.892539307519165, + 37.89243627793837, + 37.89203386209534, + 37.89164187395863, + 37.89113209960643, + 37.89060117293034, + 37.89025469270696, + 37.889170560910564, + 37.88882307333089, + 37.88852883802092, + 37.888278931649964, + 37.88803971375129, + 37.88780081961422, + 37.8870609893898, + 37.886842220008205, + 37.886109794550926, + 37.885908039621455, + 37.88570885495223, + 37.88487031045416, + 37.88406788789539, + 37.883966811117546, + 37.883418911382456, + 37.8831142145398, + 37.88259052508114, + 37.882334795239686, + 37.88196150424404, + 37.881521306751495, + 37.881317604145536, + 37.88118865701823, + 37.88068227418479, + 37.88024849380119, + 37.88005388804642, + 37.879629420538144, + 37.879346633996924, + 37.878985931505156, + 37.87878968263638, + 37.878578673469356, + 37.87848851827652, + 37.878380129445006, + 37.87763073923204, + 37.877244555592, + 37.87699886024418, + 37.876774801760035, + 37.876571762517074, + 37.876530398496726, + 37.87629540773242, + 37.87576088978007, + 37.87551766402736, + 37.875210852056284, + 37.87503832588211, + 37.874454100778294, + 37.87106918007859, + 37.87067835785479, + 37.87052779565353, + 37.8703403452601, + 37.870010465940695, + 37.86964843381242, + 37.86942373233039, + 37.86915944348062, + 37.86861195774419, + 37.86802618429118, + 37.867562871125934, + 37.86736627365669, + 37.866774746650705, + 37.865057482680754, + 37.86444617920945, + 37.8640749473699, + 37.86376962001924, + 37.863645400714795, + 37.86343212662477, + 37.863144341193745, + 37.86289414267505, + 37.859926396762596, + 37.859827826554934, + 37.859369275627394, + 37.85919394087268, + 37.85884123715091, + 37.85855625546418, + 37.85819052615623, + 37.857962630069764, + 37.85766625792491, + 37.8574111076534, + 37.857080060404996, + 37.85649557659883, + 37.85619739931357, + 37.85610041813733, + 37.85561085253241, + 37.85527431190567, + 37.85481154843786, + 37.85410669895801, + 37.85381854506662, + 37.853485973716886, + 37.85307993036549, + 37.85300831708723, + 37.852125519996335, + 37.851444917166994, + 37.84984208878479, + 37.8491934008765, + 37.84832373844719, + 37.84775069719021, + 37.84732938112642, + 37.84680809689964, + 37.84218019106151, + 37.8417084983976, + 37.84128306990777, + 37.84102099995756, + 37.84075720970985, + 37.840556552031146, + 37.84026389450401, + 37.83992560606926, + 37.83982542301805, + 37.839096687661765, + 37.838719441948896, + 37.83860982749382, + 37.83777482548633, + 37.83731165744559, + 37.83688198555248, + 37.83635070522742, + 37.83572292817274, + 37.835519627180794, + 37.835170499046626, + 37.83480440338243, + 37.834120413776205, + 37.83372697427834, + 37.8311479541333, + 37.829796751742464, + 37.827800077166636, + 37.824620520511566, + 37.821989541310664, + 37.81981349567936, + 37.81700520674928, + 37.81510739104259, + 37.81361910714253, + 37.81210204135972, + 37.809540003216846, + 37.80344364553557, + 37.802259838822025, + 37.80100234823665, + 37.80009594932042, + 37.79898161470845, + 37.79822890072631, + 37.79713173792152, + 37.79637260346787, + 37.79570922292017, + 37.79468818578886, + 37.793871855455855, + 37.793511207190875, + 37.79274180200176, + 37.792252136903286, + 37.790728340815754, + 37.789950841328434, + 37.78881024765879, + 37.78795294908308, + 37.78627490626547, + 37.7848509557215, + 37.784178954730265, + 37.78322767522871, + 37.78265010568458, + 37.781760327951986, + 37.78006322447582, + 37.77872301774128, + 37.77828849589179, + 37.77701943587027, + 37.77615086242851, + 37.77510213030382, + 37.77437934269397, + 37.77287496568542, + 37.77162035792997, + 37.76898051708273, + 37.76739691884121, + 37.766062668294886, + 37.765314067267546, + 37.76355284954059, + 37.76142521967124, + 37.75785147477059, + 37.75565673825368, + 37.75414139566875, + 37.751670630396184, + 37.74992385568629, + 37.74562818050195, + 37.74335146312998, + 37.7415894048676, + 37.73766145182128, + 37.731137982596515, + 37.712108266310906, + 37.4365, + 37.44113898075341, + 37.44169563255259, + 37.43504571906285, + 37.4320108727389, + 37.42128398920525, + 37.41884936127305, + 37.431026963128346, + 37.43754472546898, + 37.43894751679272, + 37.44065740325701, + 37.44215204098273, + 37.445001031312074, + 37.446092313484264, + 37.44877840008421, + 37.45204526011915, + 37.456792889550215, + 37.45794761002355, + 37.459154924785814, + 37.460254370784824, + 37.46113241353757, + 37.46219690098108, + 37.46262201489404, + 37.46249154958299, + 37.4618217420955, + 37.46019752349799, + 37.45940294619245, + 37.45850430105479, + 37.45787649000498, + 37.45664371570303, + 37.45563421847854, + 37.455088518470944, + 37.45402068877533, + 37.452921757978146, + 37.45235530741968, + 37.45220753636511, + 37.45241319820003, + 37.45286338753308, + 37.453129741133765, + 37.453285754185664, + 37.45346689955319, + 37.4537990681939, + 37.4539905789148, + 37.45427011120723, + 37.45449544459966, + 37.454809823293246, + 37.45507242151565, + 37.456295369126224, + 37.4588053971991, + 37.45945998890053, + 37.45995651557645, + 37.461218370887984, + 37.46194609408741, + 37.462427837423135, + 37.468045781404214, + 37.46848931934673, + 37.469177791137, + 37.469764438046305, + 37.47056748691803, + 37.4710049711881, + 37.47114228473894, + 37.47098017645812, + 37.47080336356969, + 37.47070001933101, + 37.47072759531173, + 37.47073920427034, + 37.47091843306052, + 37.47115797014687, + 37.47129327798037, + 37.47147255755434, + 37.471952225340445, + 37.4723499365705, + 37.473117636810386, + 37.47376867632075, + 37.474412186010554, + 37.47591171684891, + 37.47711313058143, + 37.47890518671947, + 37.48084164900411, + 37.48236726047022, + 37.48553052266992, + 37.48770046959316, + 37.49013339244745, + 37.49116188502537, + 37.492959584507545, + 37.49402707193773, + 37.49501888250534, + 37.49609619362572, + 37.497327538130214, + 37.49824778395089, + 37.498997965807135, + 37.49982735995246, + 37.50069568840737, + 37.50162525677386, + 37.502076105013145, + 37.5041184860339, + 37.505143170583914, + 37.50558801763736, + 37.506450046361735, + 37.50672457143173, + 37.506926517687106, + 37.507584681582955, + 37.50786425373888, + 37.50791485715317, + 37.507932406866026, + 37.50787156684216, + 37.50802518812596, + 37.50822451095637, + 37.508514795603524, + 37.50858275466593, + 37.50866534941943, + 37.5087752862433, + 37.508841000590294, + 37.50892997808599, + 37.50904130842337, + 37.50951488527031, + 37.50959943916254, + 37.50973476652704, + 37.509857243122184, + 37.50989102529872, + 37.509869405879435, + 37.50975932396699, + 37.509620710335945, + 37.509530298502405, + 37.509477501639424, + 37.509488318505504, + 37.50943868026583, + 37.50942394694664, + 37.50943025735461, + 37.50940456935813, + 37.5093764889398, + 37.50935494419694, + 37.509281891051124, + 37.50923095594164, + 37.50912175608848, + 37.509041239735915, + 37.50874769113375, + 37.50854371912866, + 37.50825878135608, + 37.50806816396133, + 37.50783828257861, + 37.507690519294584, + 37.50739927694584, + 37.50721944316054, + 37.507125441811844, + 37.50702748975231, + 37.50694140606444, + 37.50690189740442, + 37.5068316594877, + 37.50667125304962, + 37.50651066616595, + 37.506222400116094, + 37.50607636869256, + 37.50597156105722, + 37.505819146092236, + 37.50537261629008, + 37.50515557083412, + 37.50483028102769, + 37.504599871911246, + 37.50440852036128, + 37.5041951998373, + 37.50405349830044, + 37.50386509315546, + 37.5037222629209, + 37.503586272153164, + 37.50332392487719, + 37.50319233464355, + 37.50278571117174, + 37.502545610571, + 37.50249759820259, + 37.50229482621781, + 37.50204371795662, + 37.501856609208275, + 37.50166356712923, + 37.50140804501015, + 37.500855508987534, + 37.50080631575025, + 37.50049659223589, + 37.500435713993845, + 37.4994403676416, + 37.49888636747869, + 37.49805544382736, + 37.49729816988727, + 37.496720435193794, + 37.496091367284954, + 37.495566036912564, + 37.49528414810944, + 37.49465598807396, + 37.49404379421436, + 37.49368714851457, + 37.4935589528459, + 37.49283875381172, + 37.49226430226481, + 37.49170507803615, + 37.4909717373584, + 37.49029002776537, + 37.48922733537655, + 37.488564074180914, + 37.48778760535432, + 37.48691541781216, + 37.48596344070545, + 37.48394288749241, + 37.48342039640974, + 37.4831355184734, + 37.4824672749067, + 37.48161869340708, + 37.48103811335028, + 37.48018641103025, + 37.47955631532436, + 37.47904006703498, + 37.478032666183985, + 37.47721320344481, + 37.476660380823134, + 37.47636420459412, + 37.47594773045843, + 37.47418841857003, + 37.473512835579406, + 37.47052602268961, + 37.4699815701512, + 37.469575675586256, + 37.46929915947755, + 37.46857402111476, + 37.46782893291075, + 37.467314911613755, + 37.46684601588811, + 37.46639348666261, + 37.46545229299318, + 37.46509878179625, + 37.46318250559387, + 37.46298271994347, + 37.461134700968124, + 37.46065911933319, + 37.46054186309651, + 37.45994522356566, + 37.459269329871404, + 37.45874023394796, + 37.458560812596325, + 37.45809740136882, + 37.45602519649932, + 37.455495662190735, + 37.45498524318885, + 37.4546633516272, + 37.454405447650885, + 37.45407636978815, + 37.453857843977445, + 37.45340864449348, + 37.45153555022112, + 37.45106753332345, + 37.45057964462629, + 37.45026388922731, + 37.4485020352644, + 37.44745378859404, + 37.447321324891995, + 37.447056169900335, + 37.445912227633094, + 37.44568845590574, + 37.44517041759426, + 37.44483004389994, + 37.444561852702215, + 37.44441448383293, + 37.44062065528566, + 37.4404034978479, + 37.440055009479025, + 37.43993652587689, + 37.43986592360923, + 37.439538421904764, + 37.439416678650886, + 37.43907414626915, + 37.43755430794707, + 37.437353588416045, + 37.43680258835782, + 37.43624653038406, + 37.436068958388915, + 37.43594072114661, + 37.43581098222958, + 37.4355514642443, + 37.43539084810591, + 37.435213317972284, + 37.43490710066027, + 37.43465061285576, + 37.433746309917666, + 37.433424313973774, + 37.43301080767324, + 37.432680969910955, + 37.43248855418331, + 37.432351451647364, + 37.431619716332285, + 37.43117880572696, + 37.430997513102334, + 37.430632972953894, + 37.43037175899568, + 37.42998420834501, + 37.42967800728204, + 37.4293284043819, + 37.4289629133742, + 37.42821620595151, + 37.42693829769757, + 37.42658401171578, + 37.42581463346615, + 37.42512486521824, + 37.42443934889844, + 37.422791663192115, + 37.421942472912214, + 37.40876992808627, + 37.40751118390758, + 37.40655664589144, + 37.4051987629529, + 37.40383487244753, + 37.403406044543715, + 37.40277429993999, + 37.40200801734598, + 37.399714183665516, + 37.39931572988147, + 37.39879966656214, + 37.397577366433396, + 37.396501259976745, + 37.39585855944936, + 37.39526121122667, + 37.39477968026873, + 37.393044450831944, + 37.39182705722692, + 37.389336723540815, + 37.38817905375747, + 37.387879012034794, + 37.38742342526082, + 37.38710584277541, + 37.386335524931255, + 37.38558156436046, + 37.38508304434038, + 37.38429307136349, + 37.383014054599485, + 37.38197371920661, + 37.380861990630294, + 37.38025994357068, + 37.3800880866156, + 37.37978755898232, + 37.37946280417277, + 37.37893943767807, + 37.37861129129044, + 37.3781498450161, + 37.37736964908208, + 37.37686838934753, + 37.37661188799979, + 37.37621184243261, + 37.375665201974016, + 37.37507008529946, + 37.37351213569125, + 37.371923152216, + 37.37124197007934, + 37.37058187239197, + 37.369990496784595, + 37.36955213111704, + 37.368566264684596, + 37.367575685551614, + 37.36689146335872, + 37.36643020331644, + 37.365581060805695, + 37.364667580361825, + 37.36296724819629, + 37.36093355491435, + 37.359949874154495, + 37.35861934738516, + 37.35758826731151, + 37.3571235890852, + 37.3563023953091, + 37.355061829942166, + 37.35420020347068, + 37.35234814757563, + 37.35186720516952, + 37.350693492638364, + 37.349320168252945, + 37.34879466080653, + 37.34699407254148, + 37.34517650845659, + 37.344381569078905, + 37.34239144904132, + 37.34079696079989, + 37.33969898021364, + 37.337763639388136, + 37.336262853403404, + 37.33375398062598, + 37.33191219054564, + 37.329654761610065, + 37.32691592847474, + 37.32322275944124, + 37.32011886495471, + 37.316520063640084, + 37.31308957946307, + 37.30685287563021, + 37.29500619109051, + 37.243979481475805, + 37.21, + 37.22848405160619, + 37.250393690263245, + 37.26260952804846, + 37.25836829973655, + 37.24253065009892, + 37.23875631830381, + 37.23744096644884, + 37.233852170340356, + 37.2321083061587, + 37.22544900197533, + 37.21838130828377, + 37.21184774270412, + 37.20819946559613, + 37.20651912018716, + 37.204643489282105, + 37.195278808499246, + 37.181862688822385, + 37.1764125904855, + 37.16717255411692, + 37.16433441976474, + 37.156264838231756, + 37.14884443518682, + 37.14417060095413, + 37.13338768676031, + 37.130291540931815, + 37.12786108130086, + 37.12453396833344, + 37.121867002337595, + 37.1210539050087, + 37.117375177106574, + 37.11498259377638, + 37.1141031465934, + 37.1132718128872, + 37.11278029250327, + 37.1127258323586, + 37.112813452323515, + 37.11297335951122, + 37.113028236217296, + 37.11306404825273, + 37.113015221638044, + 37.112985833641005, + 37.112826187523936, + 37.11276207258316, + 37.11279070149207, + 37.112728987580276, + 37.1127338559445, + 37.11273645029796, + 37.11243813351654, + 37.11222210909386, + 37.111885492869774, + 37.11156223852538, + 37.11120130910276, + 37.110861421295375, + 37.11043334560375, + 37.110136230420615, + 37.109656989873116, + 37.10941431576213, + 37.10890959596314, + 37.108125902398996, + 37.10724146108507, + 37.106901972742925, + 37.10637525432205, + 37.10568368831611, + 37.105443421204264, + 37.10514947562726, + 37.10479924299462, + 37.10451827861402, + 37.1043391799291, + 37.103901365335894, + 37.10369093635386, + 37.10342869071691, + 37.10276780900082, + 37.102338305998316, + 37.1021448051168, + 37.10180449734219, + 37.101144822098725, + 37.10081659393513, + 37.10061599455756, + 37.10037161476754, + 37.09992216285467, + 37.09951300825653, + 37.09907758641943, + 37.09888491858355, + 37.09874712653302, + 37.09862330928529, + 37.09845740277436, + 37.09832010956578, + 37.098293360251, + 37.0982636867441, + 37.09818605221104, + 37.098126678561655, + 37.09805833539302, + 37.09797948432479, + 37.09793770251291, + 37.097927952108805, + 37.097922530301005, + 37.09787440455599, + 37.097722853624745, + 37.09752189560685, + 37.097376362432364, + 37.09704614995164, + 37.096626610557465, + 37.09619271466409, + 37.095642732149926, + 37.095377103395954, + 37.09512428023298, + 37.094651133939756, + 37.094141182094404, + 37.09355435605893, + 37.0929631029955, + 37.092789660304106, + 37.092738243726124, + 37.09260970276437, + 37.09245840922895, + 37.09236142970828, + 37.09228023753589, + 37.09223832531103, + 37.09211852444399, + 37.092034799191815, + 37.09199841572978, + 37.09198823967259, + 37.091805285328086, + 37.09167633381115, + 37.09099152275853, + 37.0905712947829, + 37.09023827725645, + 37.08996346148143, + 37.08947588521384, + 37.089080723989944, + 37.08877472283198, + 37.08843510416501, + 37.087790301375364, + 37.08756486719692, + 37.087190733782855, + 37.08655752671259, + 37.08552281187317, + 37.08472198339631, + 37.08397868572454, + 37.08316391693618, + 37.08232264718597, + 37.08126470126095, + 37.07984732787433, + 37.07948007328253, + 37.07663848833146, + 37.07619598617971, + 37.075953931924246, + 37.07536973090734, + 37.075131096193005, + 37.07504215595906, + 37.074915218781705, + 37.07485859145224, + 37.07475978284771, + 37.07471002453872, + 37.07463830625736, + 37.07452542290657, + 37.07441963834973, + 37.07427014941744, + 37.074142745233054, + 37.07399378837501, + 37.07372335094383, + 37.07363366435017, + 37.073090725151815, + 37.072916492303335, + 37.07269849246848, + 37.07261871469551, + 37.07235691940155, + 37.07210811469822, + 37.07175782763537, + 37.07149914399129, + 37.07073440543717, + 37.06959159107413, + 37.06897001051128, + 37.068341499289076, + 37.068027246038355, + 37.06765711847991, + 37.06743026694835, + 37.06722924326785, + 37.06639231715428, + 37.06567499921732, + 37.06544410346266, + 37.06531031356262, + 37.064591165439374, + 37.06407305178636, + 37.06370263246477, + 37.063452740446955, + 37.06310601546801, + 37.06250802880336, + 37.062249960488074, + 37.061323903411406, + 37.061098546596554, + 37.0607785390406, + 37.0603538444383, + 37.059973794765476, + 37.058910932203034, + 37.058222633612246, + 37.05776754586058, + 37.0575629637355, + 37.057426044011734, + 37.05733043007819, + 37.057101242495214, + 37.05679303741233, + 37.0565824745, + 37.05646070504527, + 37.05618988918011, + 37.05611846851189, + 37.05594717254952, + 37.055330873965865, + 37.055198311651544, + 37.054661673213545, + 37.0536912865681, + 37.05354788976203, + 37.052471571732646, + 37.05225751393843, + 37.051552291117666, + 37.048310293881855, + 37.047307384001336, + 37.0463047116175, + 37.045800114936405, + 37.04496485183744, + 37.04444000546082, + 37.044144931024256, + 37.043874814998745, + 37.04317838680272, + 37.04267157304904, + 37.042409872298975, + 37.036915777086854, + 37.03662763076663, + 37.036326073965675, + 37.03582372173148, + 37.035445242508274, + 37.03400095667161, + 37.03207222583977, + 37.03172687975125, + 37.0315743141379, + 37.031462133211456, + 37.031101562591765, + 37.0307270776451, + 37.03061626062249, + 37.0304481152613, + 37.03022235616986, + 37.03006151397036, + 37.02973035468171, + 37.029485619221944, + 37.02856766733322, + 37.02846475678635, + 37.028340610154544, + 37.028234865403576, + 37.028190900259986, + 37.02801187849689, + 37.0278819615693, + 37.02782370549497, + 37.02774406889723, + 37.02764335744131, + 37.027599481779205, + 37.027268606208686, + 37.02702117312368, + 37.02699591708382, + 37.02695554295237, + 37.02683965660459, + 37.02643551557842, + 37.025975256101226, + 37.02562030054039, + 37.02500261375095, + 37.02389134526627, + 37.023278765570176, + 37.02284413779164, + 37.02242704379171, + 37.021994956551794, + 37.02165224576721, + 37.0207283059781, + 37.01974860418197, + 37.0194715045947, + 37.019305907844064, + 37.01910249725901, + 37.018849861262005, + 37.01870377317161, + 37.018418583389355, + 37.0183455343554, + 37.01821779518889, + 37.01810876038782, + 37.01774552127664, + 37.01752721897999, + 37.01740908102002, + 37.01668156994014, + 37.01637964569768, + 37.01625016801922, + 37.01616839116937, + 37.01598213898962, + 37.01571799228682, + 37.01555429371943, + 37.01543639479891, + 37.015308288229335, + 37.01503038322685, + 37.014887051339834, + 37.01450432668018, + 37.01429960036372, + 37.01429172268595, + 37.01437228547151, + 37.014456499820774, + 37.01455329886196, + 37.01399800964009, + 37.01332818707935, + 37.01346595951085, + 37.01417113780616, + 37.01418004985437, + 37.01438963438092, + 37.01451674530007, + 37.01516398611066, + 37.01590220148842, + 37.018106422230126, + 37.01886776566161, + 37.02243009283879, + 37.0235698221026, + 37.026217906580236, + 37.027508245025714, + 37.030085960424614, + 37.032054653397, + 37.034053520450364, + 37.03573454227864, + 37.03835698146825, + 37.03936303274565, + 37.04062389460837, + 37.0416570997607, + 37.042746443204344, + 37.04540275073371, + 37.04880089982691, + 37.05059816512917, + 37.055799124229125, + 37.06027560405663, + 37.068806108707626, + 37.071028740364525, + 37.07246091990076, + 37.07508298341134, + 37.07707535687932, + 37.07861103408684, + 37.07938213821366, + 37.080612226312375, + 37.08160118256968, + 37.08406141810133, + 37.08534646020316, + 37.087652653963794, + 37.08898831213687, + 37.08972039409375, + 37.091088180807354, + 37.09329956171239, + 37.09446606800572, + 37.0953821027164, + 37.09670223259356, + 37.09797483658404, + 37.099084616621155, + 37.10100398404674, + 37.101789751054895, + 37.10231911664407, + 37.10336504277813, + 37.10424474699848, + 37.106186486041445, + 37.111066402698114, + 37.11324831754004, + 37.11440557112294, + 37.116585609266565, + 37.11816954759595, + 37.12019595736582, + 37.12150198620287, + 37.12262319109851, + 37.12297887751643, + 37.12339192602301, + 37.1236395252065, + 37.123776644619234, + 37.12386410913532, + 37.12411696378731, + 37.12441651994961, + 37.124484212838915, + 37.1245179383964, + 37.124620752977215, + 37.12473974817686, + 37.12494831739715, + 37.125065625889, + 37.125065271784166, + 37.125165787790905, + 37.12518346274832, + 37.1249287447584, + 37.124004035853396, + 37.12318846995805, + 37.12255166173949, + 37.1213628156698, + 37.12001058707129, + 37.118569013222434, + 37.11644320425637, + 37.112426282459175, + 37.09103820484057, + 37.44, + 37.44524541533033, + 37.4427064732879, + 37.44085829415622, + 37.43712281674639, + 37.427095321787, + 37.40826017425682, + 37.3959449957759, + 37.38631652010011, + 37.379979214585916, + 37.37007343989155, + 37.3616291402403, + 37.35526819652078, + 37.34842651809955, + 37.33899380302389, + 37.330461866257004, + 37.32395349282939, + 37.31648610215217, + 37.31187694026783, + 37.30864405902881, + 37.30215111260336, + 37.2926907967437, + 37.28995241472079, + 37.28793628592035, + 37.28564457025295, + 37.27474945651734, + 37.264953480207225, + 37.26053583646463, + 37.25865389047615, + 37.256278314155246, + 37.25364526499272, + 37.247439217394, + 37.24342656986559, + 37.240773854460556, + 37.23830627719088, + 37.23638426079631, + 37.229553274094755, + 37.2258567586344, + 37.2221912281883, + 37.21070486083974, + 37.203453623373136, + 37.20070835372223, + 37.199067222860776, + 37.19653996529536, + 37.19333766235965, + 37.18827311667916, + 37.18593782792616, + 37.17735650837987, + 37.17203086360561, + 37.164869209630986, + 37.15727480737844, + 37.15303960772025, + 37.148821775193305, + 37.146150146777224, + 37.143259538199516, + 37.139024162567196, + 37.13665612304612, + 37.134315837529606, + 37.131853222819124, + 37.13091772120056, + 37.12957182473041, + 37.12893720732348, + 37.12507048607561, + 37.12169450550494, + 37.12102838450049, + 37.11816289707211, + 37.11632631905531, + 37.115715202560516, + 37.114934607598244, + 37.11367351877186, + 37.11182168897852, + 37.10911070605406, + 37.1050652449338, + 37.10100735014567, + 37.09883948127278, + 37.09677569510347, + 37.094882172523874, + 37.09191381467988, + 37.09058220567945, + 37.08891273681795, + 37.08741475910444, + 37.08591587560541, + 37.08313007728572, + 37.07813086652138, + 37.076431438527976, + 37.07452677409052, + 37.07144939880343, + 37.06987228426509, + 37.06832334917268, + 37.06644964668618, + 37.06461656204354, + 37.062687082944265, + 37.060877777826754, + 37.06003420577067, + 37.059108291059395, + 37.05842727224285, + 37.05673744982604, + 37.05581194404516, + 37.05443282210563, + 37.05349529744535, + 37.05240210242974, + 37.051768242677106, + 37.0499437385184, + 37.04877648634462, + 37.047524134237015, + 37.04653359218728, + 37.04544243352464, + 37.04409895150003, + 37.042893250373794, + 37.04183175063778, + 37.040253376254995, + 37.03965856868791, + 37.03865070644515, + 37.037612548675824, + 37.03675158716912, + 37.035371142434954, + 37.034648188972575, + 37.03287284953439, + 37.03127270869959, + 37.03080217534808, + 37.03014161418616, + 37.027953690593115, + 37.02543822528695, + 37.02423368755107, + 37.021421800975126, + 37.02070037932215, + 37.01849683542801, + 37.017181167498066, + 37.014594171696345, + 37.013821118201555, + 37.012064078653346, + 37.01109301582613, + 37.009889242175426, + 37.00778330664234, + 37.00659837720667, + 37.00542464168756, + 37.003338338888355, + 37.00264506904994, + 37.002282650011054, + 37.00155669126211, + 37.00027754937245, + 36.99948803362751, + 36.99865802886449, + 36.998244944595456, + 36.99743150712633, + 36.996997913797664, + 36.99650504342871, + 36.99576542543951, + 36.99566576881396, + 36.99464942726118, + 36.99288252197039, + 36.99178361023744, + 36.99009949207329, + 36.98848090123384, + 36.98752127640005, + 36.98615173229196, + 36.98541836761123, + 36.98476906979667, + 36.983470455642944, + 36.98219416967132, + 36.98064625481994, + 36.979019076641784, + 36.97767149934703, + 36.97682182695887, + 36.97600465609335, + 36.97416400609155, + 36.97311676309133, + 36.97228728575922, + 36.971500202676935, + 36.97098447062215, + 36.970235654157584, + 36.96934377011564, + 36.96800925805737, + 36.966748180252004, + 36.964107066552806, + 36.962983416208196, + 36.96242605909203, + 36.962084061636325, + 36.96122045363152, + 36.96053387041898, + 36.95857185279709, + 36.95770952579631, + 36.9506787201062, + 36.94933420080912, + 36.94832791137597, + 36.94719571377755, + 36.94517081604278, + 36.94369440344886, + 36.94303304779042, + 36.94153973680681, + 36.94070554444425, + 36.93950203283916, + 36.938800946898766, + 36.93819918507786, + 36.93768333598383, + 36.93726871530447, + 36.93701017466876, + 36.93640556799893, + 36.93576725912791, + 36.93528623044487, + 36.93501372389282, + 36.93454375569051, + 36.93430603812045, + 36.93352004131507, + 36.93326715780295, + 36.932941108742874, + 36.93254822780284, + 36.931899488438646, + 36.931605711528825, + 36.930720668079005, + 36.930551527439256, + 36.929583478972184, + 36.92932558512614, + 36.929110878654356, + 36.92882175409027, + 36.92839651993583, + 36.928104085361674, + 36.92793122822353, + 36.92750094696751, + 36.92739153988055, + 36.92717258887521, + 36.9268901359883, + 36.92669097616133, + 36.926334446302334, + 36.92624624861024, + 36.92611276174592, + 36.92590499194422, + 36.92582406927344, + 36.92574767706345, + 36.925601376544705, + 36.92532271625665, + 36.92517943005137, + 36.92404643013929, + 36.92397194006383, + 36.92372828902254, + 36.92358484143893, + 36.923482183998246, + 36.92340951158912, + 36.923365398794495, + 36.9232906626465, + 36.92318599968002, + 36.92310715252294, + 36.92304850901437, + 36.922932012396686, + 36.92282122623434, + 36.92275326523039, + 36.922687831036555, + 36.922378925886726, + 36.92199585315089, + 36.92177976071271, + 36.92168848697753, + 36.92135555447642, + 36.92119587255161, + 36.921017284161096, + 36.920926367958415, + 36.92075541248049, + 36.9206142093024, + 36.92042953790148, + 36.92025804912261, + 36.920176637590465, + 36.9200598597793, + 36.91997199637512, + 36.91976114764357, + 36.91965475910225, + 36.919383195155966, + 36.919238738835645, + 36.91920655763055, + 36.91914550648598, + 36.91889696538666, + 36.91875517480893, + 36.91855481058195, + 36.918278113309434, + 36.918140578254885, + 36.91795950725302, + 36.91781132291565, + 36.91766046921611, + 36.91692922402202, + 36.91661400048755, + 36.91634127758437, + 36.916147123488344, + 36.91440897013264, + 36.9123852497024, + 36.912156772069764, + 36.91107675392201, + 36.91101347290637, + 36.910771481985265, + 36.9104187926563, + 36.90970655766458, + 36.90945549484956, + 36.90914206916248, + 36.90899877378959, + 36.90872565100737, + 36.908628031768366, + 36.908248916849544, + 36.90818504720938, + 36.90804028839024, + 36.9079642732445, + 36.90774636268072, + 36.907643067923935, + 36.907314567140205, + 36.90720593775134, + 36.907152364778696, + 36.907025543088864, + 36.90697182137631, + 36.906911036961915, + 36.906874952391995, + 36.906876707867944, + 36.90689606983042, + 36.907041965959955, + 36.907115136265766, + 36.90763358225244, + 36.908119302645964, + 36.90826900545067, + 36.90825751128013, + 36.90824681912382, + 36.9081684990322, + 36.90814943979693, + 36.90819433483386, + 36.90827122582331, + 36.90844775692003, + 36.90862594438193, + 36.90864623228816, + 36.908765134367385, + 36.908896944991895, + 36.909076612424876, + 36.90912915638776, + 36.90923904009036, + 36.90985393313578, + 36.910097037839456, + 36.91020405836969, + 36.91009358589443, + 36.91005205592039, + 36.90974271225038, + 36.90952621011642, + 36.909208416395224, + 36.909102064387724, + 36.90902616420444, + 36.9090238513739, + 36.90908594711355, + 36.90926694564968, + 36.90946935797354, + 36.90956435384466, + 36.9095497395676, + 36.909545468759255, + 36.90950765528944, + 36.90946660466399, + 36.909437737519696, + 36.909360482220656, + 36.908867733356786, + 36.90867001629765, + 36.90866341465474, + 36.90868294961563, + 36.90869460722741, + 36.90870744547119, + 36.90871548652253, + 36.90867199947392, + 36.908637925862145, + 36.908625749331435, + 36.9086106556846, + 36.90852605206063, + 36.908277535569866, + 36.908192021554, + 36.9078921073037, + 36.907732452315024, + 36.907439719812345, + 36.90682913626203, + 36.90649802579794, + 36.9062155428063, + 36.905446251366925, + 36.905077772084496, + 36.90477867477534, + 36.90446650198592, + 36.90412684433815, + 36.90377183210063, + 36.90346293783264, + 36.902966744614105, + 36.90273969363962, + 36.902470863641184, + 36.90227373278605, + 36.90183992427924, + 36.90095971100919, + 36.90046040085048, + 36.90011762335314, + 36.899622849426954, + 36.89930909760908, + 36.89872859632906, + 36.898467877709884, + 36.89805797986459, + 36.89745281075379, + 36.8966237066865, + 36.894054355169885, + 37.36833333333333, + 37.401455579249344, + 37.40941450191925, + 37.40163929683562, + 37.39509890666958, + 37.38321191965059, + 37.377408451328385, + 37.36714802417537, + 37.35923845646418, + 37.35179302744963, + 37.34984957263593, + 37.348891029806836, + 37.34782578821134, + 37.345478568304344, + 37.34398099191952, + 37.340682896826685, + 37.340799733488495, + 37.3420857941693, + 37.34478117461128, + 37.34746486842492, + 37.34813998821137, + 37.34876013620999, + 37.34978093263039, + 37.35088525244918, + 37.35246287833922, + 37.354759081301246, + 37.35601239443612, + 37.35821291636069, + 37.362135546986494, + 37.36368318489219, + 37.3646071301492, + 37.36353333550231, + 37.36207987359497, + 37.36108454560368, + 37.36025653766784, + 37.35850128417575, + 37.35758338852729, + 37.35610838850664, + 37.35388194545561, + 37.352174833286746, + 37.35116589518896, + 37.350126768873515, + 37.34867900525835, + 37.34660770954579, + 37.34522521383542, + 37.344383993251256, + 37.34371983205957, + 37.34175540217893, + 37.34086370872211, + 37.33994798937292, + 37.33840489441452, + 37.33724360928767, + 37.33547699701035, + 37.33326727633343, + 37.329989450347696, + 37.32651203192015, + 37.32542509701406, + 37.32477686175691, + 37.32361324421786, + 37.32267431490549, + 37.321682004977866, + 37.32061052521271, + 37.319944221322004, + 37.31937519765583, + 37.31842074845253, + 37.31669721215331, + 37.316100522582616, + 37.31533959576383, + 37.31454898720977, + 37.31407103497301, + 37.313696613261705, + 37.31328704360641, + 37.312630955431295, + 37.31205076638133, + 37.311769056750265, + 37.311350946250414, + 37.31105457129506, + 37.31087213612938, + 37.31060195425459, + 37.31018790166975, + 37.30970611257341, + 37.309276939107306, + 37.308803738212795, + 37.308224770072265, + 37.307600283372174, + 37.30716099940674, + 37.306661652987344, + 37.30623372368123, + 37.30597889483785, + 37.30549311217815, + 37.30525294594433, + 37.30483078372565, + 37.30425289604477, + 37.303808035900154, + 37.303614692097455, + 37.30315300944851, + 37.30283116238628, + 37.301748913491856, + 37.30147336319446, + 37.30101693429526, + 37.300610182582375, + 37.300405834844035, + 37.300259083724974, + 37.30010587012009, + 37.29995712655858, + 37.29972154183991, + 37.299616466577085, + 37.29941509428416, + 37.29905733637493, + 37.29879850460759, + 37.29871256454084, + 37.29804637525233, + 37.296845729094926, + 37.29649559504817, + 37.29631381131454, + 37.2958509725128, + 37.29559269495448, + 37.29545019121063, + 37.29500984438853, + 37.29472650675234, + 37.29450226850593, + 37.29428165026931, + 37.29421088511379, + 37.29401237262571, + 37.293708813624825, + 37.29351418681211, + 37.29321442353083, + 37.29305960693644, + 37.292905623835075, + 37.29243930491649, + 37.292251615992356, + 37.29200696426911, + 37.29176084424473, + 37.29170502438815, + 37.29157517645269, + 37.291446007813555, + 37.29132469004894, + 37.29116463372916, + 37.29086672326099, + 37.290725898218184, + 37.290658446067376, + 37.29035732848531, + 37.29025110038961, + 37.290039587114705, + 37.28967405331085, + 37.289370864136544, + 37.28929630736616, + 37.28919513465938, + 37.28913184135752, + 37.28900495732753, + 37.288896750407744, + 37.288836310486076, + 37.2879935671516, + 37.287805049421394, + 37.287684710669346, + 37.28762223843375, + 37.287541412239136, + 37.28752140168993, + 37.28742976462962, + 37.287300521282994, + 37.287216964105134, + 37.287108886733634, + 37.28702754983835, + 37.286881927394255, + 37.28676121720533, + 37.286697852279055, + 37.28667066387252, + 37.286591636925564, + 37.286139373998175, + 37.28607039507551, + 37.28597922859687, + 37.28576668222722, + 37.28571301693039, + 37.285570773589406, + 37.28546272934394, + 37.28539276740221, + 37.28530260630009, + 37.28526144965798, + 37.28517740136916, + 37.28512393480699, + 37.28443467512071, + 37.284351807924786, + 37.28428965258292, + 37.28420092361506, + 37.28418099532553, + 37.28414948205585, + 37.28413259138223, + 37.284036764732356, + 37.28395578925672, + 37.28387958735052, + 37.28384775777165, + 37.28383734687349, + 37.283768982185926, + 37.28369996005805, + 37.28368031550325, + 37.283661939905535, + 37.28358169506482, + 37.28342283700488, + 37.28338633658078, + 37.283324034302545, + 37.28321836938915, + 37.28313827161252, + 37.28300820893952, + 37.28290000677958, + 37.282798697917485, + 37.282543957479476, + 37.28248903512386, + 37.282459764277306, + 37.28227020787899, + 37.28183833257372, + 37.28171513891091, + 37.28142318734138, + 37.28120413107505, + 37.28104403202235, + 37.28096903073967, + 37.28073912156975, + 37.280684852966665, + 37.28048942232096, + 37.28020757404195, + 37.28017606573952, + 37.27986911192605, + 37.279544201509786, + 37.27913056342279, + 37.278948240308495, + 37.27888414778837, + 37.278800225221, + 37.27875491248165, + 37.27862430998083, + 37.278595111502696, + 37.278233581404926, + 37.277943360382125, + 37.27789466485855, + 37.27774608327498, + 37.27731513407158, + 37.277120249342815, + 37.27693867317141, + 37.276905328197536, + 37.276665359455905, + 37.27650492413904, + 37.27640371229803, + 37.27633570496155, + 37.27612956475675, + 37.275824188375225, + 37.27570124906647, + 37.27563440853811, + 37.275508383601384, + 37.275436985100235, + 37.27543004739078, + 37.27529866098758, + 37.27526576784608, + 37.275225376464256, + 37.275181934395896, + 37.27513268509242, + 37.27509991052434, + 37.27508947114953, + 37.27504137775671, + 37.2749562781567, + 37.274934155242036, + 37.27491935466056, + 37.27489343199364, + 37.27485334066989, + 37.27481033028003, + 37.274773482459196, + 37.27476260282795, + 37.27475616165481, + 37.274728260426265, + 37.27472413051591, + 37.27465997921759, + 37.274625536748154, + 37.274551839942006, + 37.27452904876752, + 37.27452541088357, + 37.2745191194711, + 37.27450635868188, + 37.27448866409463, + 37.274481307001835, + 37.27447997995015, + 37.27447592863955, + 37.27445292175421, + 37.2744414556327, + 37.27440742089023, + 37.27426043995005, + 37.27424831081909, + 37.2741998128735, + 37.27411675227071, + 37.2740832677776, + 37.27404305245767, + 37.27401753752804, + 37.27394435941852, + 37.273932734790776, + 37.27385258136067, + 37.27382095985014, + 37.27376467953578, + 37.27365800322213, + 37.27364845052776, + 37.27356823922755, + 37.27351371449539, + 37.273476489146645, + 37.27337495799015, + 37.27329664877648, + 37.27323126334256, + 37.27310937362861, + 37.27308261121187, + 37.272985539194586, + 37.27296447950541, + 37.27288715762558, + 37.27282769805037, + 37.27281162759457, + 37.27272476582631, + 37.27268566672649, + 37.27249050142787, + 37.27228569508088, + 37.272185572309624, + 37.27217038380867, + 37.27207785032321, + 37.27189913526887, + 37.27175149252148, + 37.271682182578914, + 37.271561294841, + 37.271500157541084, + 37.27143568823029, + 37.271390973143106, + 37.271240622139935, + 37.27119977954558, + 37.27097282441976, + 37.27065776353336, + 37.27061381381781, + 37.27050674773738, + 37.27040584028256, + 37.270344540858524, + 37.27015573934402, + 37.269971929164335, + 37.26929103263586, + 37.26901633950389, + 37.26825097158988, + 37.26799332207439, + 37.26779796503498, + 37.26719974702542, + 37.266543353052505, + 37.26650354633911, + 37.26638637198617, + 37.26600079875588, + 37.265843460158706, + 37.26574613220975, + 37.26506911311282, + 37.26484312156819, + 37.264609852819795, + 37.264511952000575, + 37.26399027040747, + 37.26379019158998, + 37.26358644696957, + 37.26349143079792, + 37.26339654795114, + 37.26323899949492, + 37.26308010358184, + 37.26300632059451, + 37.26287382833364, + 37.262754611684876, + 37.26266340090406, + 37.262642341741405, + 37.26219978820605, + 37.26207677103799, + 37.26194566557831, + 37.26173238092157, + 37.26165159130629, + 37.261490402169336, + 37.26119769585726, + 37.2609905515445, + 37.26086445145329, + 37.260734601806924, + 37.260535258848954, + 37.260480742018295, + 37.260350550804795, + 37.26032948888921, + 37.26001809484826, + 37.259908236536134, + 37.25975416925919, + 37.25961549856962, + 37.25937752264163, + 37.25920998792592, + 37.259006058029605, + 37.25884398359756, + 37.2586300641495, + 37.25852901475837, + 37.25838792062493, + 37.25826104715603, + 37.25815367698196, + 37.257986161071514, + 37.257881998666114, + 37.257591320133976, + 37.25608056279797, + 37.703333333333326, + 37.70403048664876, + 37.699410740781886, + 37.69076370409644, + 37.683171767181925, + 37.660742528474344, + 37.64947576833365, + 37.62672182167866, + 37.62137430072791, + 37.60736543504278, + 37.59677297307023, + 37.59364090282937, + 37.59078594075796, + 37.58785459950468, + 37.586463370685024, + 37.58511844848353, + 37.58316681974799, + 37.580972559542914, + 37.57935446111229, + 37.57339545015221, + 37.57052412884995, + 37.56850457356079, + 37.56721277305725, + 37.56636026619503, + 37.565554180259255, + 37.564276384752304, + 37.56263102571678, + 37.56207995188716, + 37.55801431303296, + 37.55647902847045, + 37.5551486764287, + 37.55426589333685, + 37.55312567512261, + 37.55211090971414, + 37.55230127808959, + 37.55275732178679, + 37.55336091772805, + 37.55442137369854, + 37.555440916707695, + 37.55594407235919, + 37.55643917756748, + 37.55767961448037, + 37.558855500652435, + 37.55974824249543, + 37.56071702353226, + 37.56211009923218, + 37.56578695687308, + 37.568550489549374, + 37.569999921429, + 37.57398031238743, + 37.574375521396085, + 37.57507775614677, + 37.57542994193009, + 37.57598479532033, + 37.577843471846776, + 37.578473480222584, + 37.57921168839455, + 37.58069281296902, + 37.58118961791557, + 37.581590288189155, + 37.582150476281754, + 37.582650861735935, + 37.58286749851552, + 37.58291518175285, + 37.58296520483652, + 37.58303068182818, + 37.58300918636851, + 37.583051861152924, + 37.583997464877456, + 37.58409296194565, + 37.58430310181156, + 37.584390391212274, + 37.58454161930829, + 37.58455222543811, + 37.58459157755884, + 37.58465031994667, + 37.58467822656873, + 37.58472243472137, + 37.58480573437822, + 37.58492099792484, + 37.584996925565584, + 37.58497850751414, + 37.58488314342957, + 37.58476315662409, + 37.584655915517786, + 37.58462049107076, + 37.58436039857034, + 37.58418081453651, + 37.58374014463009, + 37.58367928328377, + 37.58346605886179, + 37.58312548721585, + 37.58288189096083, + 37.58250348370701, + 37.5822868987019, + 37.58173620191699, + 37.58149927137055, + 37.58129804389797, + 37.58107249313271, + 37.58092853487171, + 37.580728663963846, + 37.58048678974875, + 37.580406056376944, + 37.580156366869, + 37.58002202624257, + 37.579922240181475, + 37.57932374460283, + 37.57905413348718, + 37.57860264120574, + 37.578384391073136, + 37.578073743506515, + 37.5779305025543, + 37.57744540474545, + 37.57718972100246, + 37.57644419405852, + 37.576029753910376, + 37.57558706632111, + 37.57487940087475, + 37.574094312942194, + 37.57361891163108, + 37.573407076983216, + 37.57286835733745, + 37.57252884954778, + 37.57224644483817, + 37.57198187681337, + 37.57140012225654, + 37.57117532233174, + 37.5707944933061 + ] + } + ], + "layout": { + "height": 350, + "legend": { + "orientation": "h", + "traceorder": "normal", + "x": 1, + "xanchor": "right", + "y": 1.02, + "yanchor": "bottom" + }, + "margin": { + "b": 30, + "l": 30, + "r": 30, + "t": 30 + }, + "showlegend": true, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#d6dfef" + }, + "error_y": { + "color": "#d6dfef" + }, + "marker": { + "line": { + "color": "#212226", + "width": 0.5 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#212226", + "width": 0.5 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#A2B1C6", + "gridcolor": "#313439", + "linecolor": "#313439", + "minorgridcolor": "#313439", + "startlinecolor": "#A2B1C6" + }, + "baxis": { + "endlinecolor": "#A2B1C6", + "gridcolor": "#313439", + "linecolor": "#313439", + "minorgridcolor": "#313439", + "startlinecolor": "#A2B1C6" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "line": { + "color": "#313439" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "line": { + "color": "#313439" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#313439" + }, + "line": { + "color": "#212226" + } + }, + "header": { + "fill": { + "color": "#2a3f5f" + }, + "line": { + "color": "#212226" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#d6dfef", + "arrowhead": 0, + "arrowwidth": 1 + }, + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#1f77b4", + "#ff7f0e", + "#2ca02c", + "#dc3912", + "#9467bd", + "#8c564b", + "#e377c2", + "#7f7f7f", + "#bcbd22", + "#17becf" + ], + "font": { + "color": "#d6dfef" + }, + "geo": { + "bgcolor": "#212226", + "lakecolor": "#212226", + "landcolor": "#212226", + "showlakes": true, + "showland": true, + "subunitcolor": "#313439" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "dark" + }, + "paper_bgcolor": "#212226", + "plot_bgcolor": "#212226", + "polar": { + "angularaxis": { + "gridcolor": "#313439", + "linecolor": "#313439", + "ticks": "" + }, + "bgcolor": "#212226", + "radialaxis": { + "gridcolor": "#313439", + "linecolor": "#313439", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#212226", + "gridcolor": "#313439", + "gridwidth": 2, + "linecolor": "#313439", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#aec0d6" + }, + "yaxis": { + "backgroundcolor": "#212226", + "gridcolor": "#313439", + "gridwidth": 2, + "linecolor": "#313439", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#aec0d6" + }, + "zaxis": { + "backgroundcolor": "#212226", + "gridcolor": "#313439", + "gridwidth": 2, + "linecolor": "#313439", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#aec0d6" + } + }, + "shapedefaults": { + "line": { + "color": "#d6dfef" + } + }, + "sliderdefaults": { + "bgcolor": "#aec0d6", + "bordercolor": "#212226", + "borderwidth": 1, + "tickwidth": 0 + }, + "ternary": { + "aaxis": { + "gridcolor": "#313439", + "linecolor": "#313439", + "ticks": "" + }, + "baxis": { + "gridcolor": "#313439", + "linecolor": "#313439", + "ticks": "" + }, + "bgcolor": "#212226", + "caxis": { + "gridcolor": "#313439", + "linecolor": "#313439", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "updatemenudefaults": { + "bgcolor": "#313439", + "borderwidth": 0 + }, + "xaxis": { + "automargin": true, + "gridcolor": "#313439", + "linecolor": "#313439", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "#313439", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "#313439", + "linecolor": "#313439", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "#313439", + "zerolinewidth": 2 + } + } + }, + "width": 1280, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "matches": "x2", + "rangebreaks": [ + { + "bounds": [ + "2024-04-29T16:01:00-04:00", + "2024-04-30T09:30:00-04:00" + ] + }, + { + "bounds": [ + "2024-04-30T16:01:00-04:00", + "2024-05-01T09:30:00-04:00" + ] + }, + { + "bounds": [ + "2024-05-01T16:01:00-04:00", + "2024-05-02T09:30:00-04:00" + ] + }, + { + "bounds": [ + "2024-05-02T16:01:00-04:00", + "2024-05-03T09:30:00-04:00" + ] + }, + { + "bounds": [ + "2024-05-03T16:01:00-04:00", + "2024-05-06T09:30:00-04:00" + ] + } + ], + "rangeslider": { + "visible": false + }, + "showgrid": true, + "showticklabels": false + }, + "xaxis2": { + "anchor": "y2", + "domain": [ + 0, + 1 + ], + "rangebreaks": [ + { + "bounds": [ + "2024-04-29T16:01:00-04:00", + "2024-04-30T09:30:00-04:00" + ] + }, + { + "bounds": [ + "2024-04-30T16:01:00-04:00", + "2024-05-01T09:30:00-04:00" + ] + }, + { + "bounds": [ + "2024-05-01T16:01:00-04:00", + "2024-05-02T09:30:00-04:00" + ] + }, + { + "bounds": [ + "2024-05-02T16:01:00-04:00", + "2024-05-03T09:30:00-04:00" + ] + }, + { + "bounds": [ + "2024-05-03T16:01:00-04:00", + "2024-05-06T09:30:00-04:00" + ] + } + ], + "showgrid": true + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0.3, + 1 + ], + "showgrid": true + }, + "yaxis2": { + "anchor": "x2", + "domain": [ + 0, + 0.3 + ], + "showgrid": true + } + } + } + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "
vwap_anchorarray
symbolBAC
Open time
\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)
\n", + "\n" + ], + "text/plain": [ + "vwap_anchor array\n", + "symbol BAC\n", + "Open time \n", + "2024-04-29 09:30:00-04:00 37.856667\n", + "2024-04-29 09:31:00-04:00 37.857453\n", + "2024-04-29 09:32:00-04:00 37.850221\n", + "2024-04-29 09:33:00-04:00 37.849840\n", + "2024-04-29 09:34:00-04:00 37.850432\n", + "... ...\n", + "2024-05-06 11:33:00-04:00 37.572246\n", + "2024-05-06 11:34:00-04:00 37.571982\n", + "2024-05-06 11:35:00-04:00 37.571400\n", + "2024-05-06 11:36:00-04:00 37.571175\n", + "2024-05-06 11:37:00-04:00 37.570794\n", + "\n", + "[2083 rows x 1 columns]" + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#WWAP\n", + "vbt.phelp(vbt.VWAP.run)\n", + "close = m1_data.close\n", + "high = m1_data.high\n", + "low = m1_data.low\n", + "volume = m1_data.volume\n", + "vwapD = vbt.VWAP.run(high, low, close, volume, anchor=\"D\")\n", + "# vwapT = vbt.VWAP.run(high, low, close, volume, anchor=\"T\")\n", + "\n", + "#vwap.vwap\n", + "\n", + "fig = m1_data.data[\"BAC\"].vbt.ohlcv.plot()\n", + "vwapD.vwap.vbt.plot(fig=fig)\n", + "#vwapT.vwap.vbt.plot(fig=fig)\n", + "fig.show()\n", + "\n", + "vwapD.vwap\n", + "\n", + "#vwap = vbt.VWAP.run()" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "
OpenHighLowCloseVolume
Open time
\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)
\n", + "\n" + ], + "text/plain": [ + " Open High Low Close Volume\n", + "Open time \n", + "2024-04-29 09:30:00-04:00 37.8400 37.9850 37.7349 37.8800 2098173.0\n", + "2024-04-29 09:45:00-04:00 37.8750 38.0300 37.8607 37.9850 1030038.0\n", + "2024-04-29 10:00:00-04:00 37.9900 38.0600 37.9600 38.0145 933777.0\n", + "2024-04-29 10:15:00-04:00 38.0100 38.0300 37.9500 37.9650 657084.0\n", + "2024-04-29 10:30:00-04:00 37.9650 37.9950 37.9250 37.9600 617961.0\n", + "... ... ... ... ... ...\n", + "2024-05-06 09:45:00-04:00 37.5250 37.5700 37.4250 37.4900 1015426.0\n", + "2024-05-06 10:00:00-04:00 37.4950 37.6400 37.4700 37.6350 1420282.0\n", + "2024-05-06 10:15:00-04:00 37.6350 37.6900 37.5910 37.6250 1592625.0\n", + "2024-05-06 10:30:00-04:00 37.6253 37.6465 37.5650 37.5993 925904.0\n", + "2024-05-06 10:45:00-04:00 37.5994 37.6200 37.5400 37.5600 626772.0\n", + "\n", + "[141 rows x 5 columns]" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "m1_data.data[\"BAC\"]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# defining ENTRY WINDOW and forced EXIT window" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [], + "source": [ + "#m1_data.data[\"BAC\"].info()\n", + "import datetime\n", + "# Define the market open and close times\n", + "market_open = datetime.time(9, 30)\n", + "market_close = datetime.time(16, 0)\n", + "entry_window_opens = 1\n", + "entry_window_closes = 350\n", + "\n", + "forced_exit_start = 360\n", + "forced_exit_end = 390\n", + "\n", + "forced_exit = m1_data.symbol_wrapper.fill(False)\n", + "entry_window_open= m1_data.symbol_wrapper.fill(False)\n", + "\n", + "# Calculate the time difference in minutes from market open for each timestamp\n", + "elapsed_min_from_open = (forced_exit.index.hour - market_open.hour) * 60 + (forced_exit.index.minute - market_open.minute)\n", + "\n", + "entry_window_open[(elapsed_min_from_open >= entry_window_opens) & (elapsed_min_from_open < entry_window_closes)] = True\n", + "forced_exit[(elapsed_min_from_open >= forced_exit_start) & (elapsed_min_from_open < forced_exit_end)] = True\n", + "\n", + "#entry_window_open.info()\n", + "# forced_exit.tail(100)" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "
count
(14, BAC)
\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)
\n", + "\n" + ], + "text/plain": [ + "(14, BAC)\n", + "False 127\n", + "True 14\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "close = m1_data.close\n", + "\n", + "rsi = vbt.RSI.run(close, window=14)\n", + "\n", + "long_entries = (rsi.rsi.vbt.crossed_below(28) & entry_window_open)\n", + "long_exits = (rsi.rsi.vbt.crossed_above(70) | forced_exit)\n", + "#long_entries.info()\n", + "#number of trues and falses in long_entries\n", + "#long_entries.value_counts()\n", + "long_exits.value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "
symbolBAC
Open time
\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)
\n", + "\n" + ], + "text/plain": [ + "symbol BAC\n", + "Open time \n", + "2024-04-29 09:30:00-04:00 37.8800\n", + "2024-04-29 09:45:00-04:00 37.9850\n", + "2024-04-29 10:00:00-04:00 38.0145\n", + "2024-04-29 10:15:00-04:00 37.9650\n", + "2024-04-29 10:30:00-04:00 37.9600\n", + "... ...\n", + "2024-05-06 09:45:00-04:00 37.4900\n", + "2024-05-06 10:00:00-04:00 37.6350\n", + "2024-05-06 10:15:00-04:00 37.6250\n", + "2024-05-06 10:30:00-04:00 37.5993\n", + "2024-05-06 10:45:00-04:00 37.5600\n", + "\n", + "[141 rows x 1 columns]" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "close" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4c11ec2e1b754bf597d0856020d41755", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "FigureWidget({\n", + " 'data': [{'name': 'BAC',\n", + " 'showlegend': True,\n", + " 'type': 'scatter',\n", + " 'uid': '8eef4694-305a-4f38-9916-7a6176babe2e',\n", + " 'x': array([datetime.datetime(2024, 4, 29, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 10, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 10, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 10, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 10, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 11, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 11, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 11, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 11, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 12, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 12, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 12, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 12, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 13, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 13, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 13, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 13, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 14, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 14, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 14, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 14, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 16, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 9, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 10, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 10, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 10, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 10, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 11, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 11, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 11, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 11, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 12, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 12, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 12, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 12, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 13, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 13, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 13, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 13, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 14, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 14, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 14, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 14, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 15, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 15, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 15, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 15, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 16, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 9, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 10, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 10, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 10, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 10, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 11, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 11, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 11, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 11, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 12, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 12, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 12, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 12, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 13, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 13, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 13, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 13, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 14, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 14, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 14, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 14, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 15, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 15, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 15, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 15, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 16, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 9, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 10, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 10, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 10, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 10, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 11, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 11, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 11, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 11, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 12, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 12, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 12, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 12, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 13, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 13, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 13, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 13, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 14, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 14, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 14, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 14, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 15, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 15, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 15, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 15, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 16, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 9, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 10, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 10, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 10, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 10, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 11, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 11, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 11, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 11, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 12, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 12, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 12, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 12, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 13, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 13, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 13, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 13, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 14, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 14, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 14, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 14, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 15, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 15, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 15, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 15, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 16, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 9, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 45, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'y': array([37.88 , 37.985 , 38.0145, 37.965 , 37.96 , 37.94 , 37.915 , 37.8986,\n", + " 37.845 , 37.808 , 37.795 , 37.765 , 37.75 , 37.715 , 37.7149, 37.7582,\n", + " 37.775 , 37.705 , 37.75 , 37.7138, 37.6801, 37.625 , 37.495 , 37.505 ,\n", + " 37.53 , 37.56 , 37.6 , 37.545 , 37.435 , 37.47 , 37.485 , 37.585 ,\n", + " 37.64 , 37.5186, 37.52 , 37.48 , 37.465 , 37.45 , 37.41 , 37.305 ,\n", + " 37.275 , 37.28 , 37.285 , 37.34 , 37.365 , 37.2953, 37.235 , 37.175 ,\n", + " 37.1395, 37.125 , 37.085 , 37.07 , 37.01 , 36.99 , 37.1401, 37.045 ,\n", + " 37.115 , 37.045 , 37.045 , 37.08 , 37.0286, 37.08 , 37.0276, 37.055 ,\n", + " 37.025 , 36.94 , 36.935 , 36.91 , 36.8175, 36.875 , 36.96 , 36.935 ,\n", + " 36.915 , 37.035 , 37.415 , 37.47 , 37.39 , 37.37 , 37.165 , 36.945 ,\n", + " 37.03 , 37.1 , 37.145 , 36.9621, 36.995 , 36.8258, 36.85 , 36.875 ,\n", + " 36.815 , 36.76 , 36.77 , 36.705 , 36.71 , 36.75 , 36.755 , 36.8796,\n", + " 36.9177, 36.875 , 36.875 , 36.845 , 36.8701, 36.895 , 36.915 , 36.885 ,\n", + " 36.8778, 36.805 , 36.89 , 36.89 , 37.29 , 37.415 , 37.225 , 37.165 ,\n", + " 37.225 , 37.18 , 37.225 , 37.205 , 37.205 , 37.235 , 37.225 , 37.245 ,\n", + " 37.2503, 37.205 , 37.215 , 37.18 , 37.245 , 37.24 , 37.245 , 37.235 ,\n", + " 37.185 , 37.19 , 37.14 , 37.195 , 37.205 , 37.235 , 37.25 , 37.525 ,\n", + " 37.49 , 37.635 , 37.625 , 37.5993, 37.56 ]),\n", + " 'yaxis': 'y2'},\n", + " {'line': {'color': '#6ca6cd'},\n", + " 'mode': 'lines',\n", + " 'name': 'RSI',\n", + " 'showlegend': True,\n", + " 'type': 'scatter',\n", + " 'uid': 'b05f9b3d-c594-4483-b2ea-6178232e376c',\n", + " 'x': array([datetime.datetime(2024, 4, 29, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 10, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 10, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 10, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 10, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 11, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 11, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 11, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 11, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 12, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 12, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 12, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 12, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 13, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 13, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 13, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 13, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 14, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 14, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 14, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 14, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 16, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 9, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 10, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 10, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 10, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 10, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 11, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 11, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 11, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 11, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 12, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 12, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 12, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 12, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 13, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 13, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 13, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 13, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 14, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 14, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 14, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 14, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 15, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 15, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 15, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 15, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 16, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 9, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 10, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 10, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 10, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 10, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 11, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 11, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 11, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 11, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 12, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 12, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 12, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 12, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 13, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 13, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 13, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 13, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 14, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 14, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 14, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 14, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 15, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 15, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 15, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 15, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 16, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 9, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 10, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 10, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 10, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 10, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 11, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 11, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 11, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 11, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 12, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 12, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 12, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 12, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 13, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 13, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 13, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 13, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 14, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 14, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 14, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 14, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 15, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 15, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 15, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 15, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 16, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 9, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 10, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 10, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 10, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 10, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 11, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 11, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 11, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 11, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 12, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 12, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 12, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 12, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 13, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 13, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 13, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 13, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 14, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 14, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 14, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 14, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 15, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 15, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 15, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 15, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 16, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 9, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 0, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 15, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 45, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'y': array([ nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, 74.39278586,\n", + " 75.85442015, 76.41687013, 69.18528597, 71.07999171, 67.48520648,\n", + " 64.22863735, 59.19861784, 49.37399917, 50.06057577, 51.81975103,\n", + " 53.91756478, 56.6291264 , 52.09044684, 44.42207477, 47.09098995,\n", + " 48.23821749, 55.2107027 , 58.52020263, 49.77722289, 49.87023583,\n", + " 47.18160033, 46.17623258, 45.14037014, 42.40832351, 36.2125432 ,\n", + " 34.65470019, 35.15539369, 35.68609137, 41.37028044, 43.80164036,\n", + " 38.95171085, 35.30919017, 32.09325102, 30.33291338, 29.6183071 ,\n", + " 27.68094713, 26.96854764, 24.27711004, 23.43745549, 40.16386038,\n", + " 34.95356618, 41.01873745, 37.27565382, 37.27565382, 40.42796477,\n", + " 37.45123882, 42.04660909, 38.90829204, 41.37246634, 39.49411463,\n", + " 34.68865126, 34.42331819, 33.0616142 , 28.55994345, 34.52778777,\n", + " 42.21277734, 40.69962571, 39.48037107, 49.29531883, 67.35193099,\n", + " 69.06884343, 63.81222428, 62.53094439, 51.18605355, 42.31368311,\n", + " 46.19427053, 49.22362537, 51.12854244, 43.91693211, 45.40855923,\n", + " 39.57845299, 40.75017744, 42.0014731 , 39.82751096, 37.89142552,\n", + " 38.47702499, 36.09475359, 36.42084984, 39.09825262, 39.44154839,\n", + " 47.39886335, 49.58049766, 47.21690866, 47.21690866, 45.45139516,\n", + " 47.22928014, 49.00493469, 50.44721236, 48.24310899, 47.70440622,\n", + " 42.53284237, 49.42662469, 49.42662469, 69.4366945 , 73.02816179,\n", + " 61.24707816, 58.06165861, 60.28603947, 57.80951201, 59.59692731,\n", + " 58.41247201, 58.41247201, 59.80228634, 59.09336858, 60.11181234,\n", + " 60.39322483, 56.71049769, 57.32908325, 54.39912248, 58.62798422,\n", + " 58.1810198 , 58.52156521, 57.51282127, 52.6281247 , 53.05748703,\n", + " 48.33916888, 53.2627497 , 54.11894932, 56.68271896, 57.94799997,\n", + " 73.32914926, 69.82845181, 75.12633475, 74.15920112, 71.60783584,\n", + " 67.76830357]),\n", + " 'yaxis': 'y'},\n", + " {'marker': {'color': '#37B13F',\n", + " 'line': {'color': 'rgb(38,123,44)', 'width': 1},\n", + " 'size': 8,\n", + " 'symbol': 'triangle-up'},\n", + " 'mode': 'markers',\n", + " 'name': 'Entries',\n", + " 'showlegend': True,\n", + " 'type': 'scatter',\n", + " 'uid': '20a40d53-2d3b-4567-adc5-7b239dac13ad',\n", + " 'x': array([datetime.datetime(2024, 4, 30, 15, 15, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'y': array([37.085]),\n", + " 'yaxis': 'y2'},\n", + " {'marker': {'color': '#EA4335',\n", + " 'line': {'color': 'rgb(181,31,18)', 'width': 1},\n", + " 'size': 8,\n", + " 'symbol': 'triangle-down'},\n", + " 'mode': 'markers',\n", + " 'name': 'Exits',\n", + " 'showlegend': True,\n", + " 'type': 'scatter',\n", + " 'uid': '1b39b0d3-7bb7-46dc-abdb-e5ee1c782bc6',\n", + " 'x': array([datetime.datetime(2024, 4, 29, 14, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 45, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 15, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 15, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 15, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 15, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 15, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 15, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 9, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 15, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 15, 45, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 0, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'y': array([37.75 , 37.53 , 37.56 , 37.07 , 37.01 , 37.165, 36.945, 36.805, 36.89 ,\n", + " 37.415, 37.205, 37.235, 37.525, 37.635]),\n", + " 'yaxis': 'y2'}],\n", + " 'layout': {'annotations': [{'font': {'size': 16},\n", + " 'showarrow': False,\n", + " 'text': 'RSI',\n", + " 'x': 0.47,\n", + " 'xanchor': 'center',\n", + " 'xref': 'paper',\n", + " 'y': 1.0,\n", + " 'yanchor': 'bottom',\n", + " 'yref': 'paper'}],\n", + " 'height': 350,\n", + " 'legend': {'orientation': 'h',\n", + " 'traceorder': 'normal',\n", + " 'x': 1,\n", + " 'xanchor': 'right',\n", + " 'y': 1.02,\n", + " 'yanchor': 'bottom'},\n", + " 'margin': {'b': 30, 'l': 30, 'r': 30, 't': 30},\n", + " 'shapes': [{'fillcolor': 'mediumslateblue',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.2,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-29 09:30:00-0400', tz='America/New_York'),\n", + " 'x1': Timestamp('2024-05-06 10:45:00-0400', tz='America/New_York'),\n", + " 'xref': 'x',\n", + " 'y0': 30,\n", + " 'y1': 70,\n", + " 'yref': 'y'}],\n", + " 'template': '...',\n", + " 'width': 1280,\n", + " 'xaxis': {'anchor': 'y', 'domain': [0.0, 0.94]},\n", + " 'yaxis': {'anchor': 'x', 'domain': [0.0, 1.0], 'range': [-5, 105]},\n", + " 'yaxis2': {'anchor': 'x', 'overlaying': 'y', 'side': 'right'}}\n", + "})" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def plot_rsi(rsi, close, entries, exits):\n", + " fig = vbt.make_subplots(rows=1, cols=1, shared_xaxes=True, specs=[[{\"secondary_y\": True}]], vertical_spacing=0.02, subplot_titles=(\"RSI\", \"Price\" ))\n", + " close.vbt.plot(fig=fig, add_trace_kwargs=dict(secondary_y=True))\n", + " rsi.plot(fig=fig, add_trace_kwargs=dict(secondary_y=False))\n", + " entries.vbt.signals.plot_as_entries(close, fig=fig, add_trace_kwargs=dict(secondary_y=True)) \n", + " exits.vbt.signals.plot_as_exits(close, fig=fig, add_trace_kwargs=dict(secondary_y=True)) \n", + " return fig\n", + "\n", + "plot_rsi(rsi, close, long_entries, long_exits)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "
rsi_window14
symbolBAC
Open time
\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)
\n", + "\n" + ], + "text/plain": [ + "rsi_window 14\n", + "symbol BAC\n", + "Open time \n", + "2024-04-29 09:30:00-04:00 NaN\n", + "2024-04-29 09:45:00-04:00 NaN\n", + "2024-04-29 10:00:00-04:00 NaN\n", + "2024-04-29 10:15:00-04:00 NaN\n", + "2024-04-29 10:30:00-04:00 NaN\n", + "... ..\n", + "2024-05-05 15:45:00-04:00 NaN\n", + "2024-05-06 09:30:00-04:00 NaN\n", + "2024-05-06 09:45:00-04:00 NaN\n", + "2024-05-06 10:00:00-04:00 NaN\n", + "2024-05-06 10:15:00-04:00 NaN\n", + "\n", + "[186 rows x 1 columns]" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rsi.rsi" + ] + }, + { + "cell_type": "code", + "execution_count": 166, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Portfolio.from_signals(\n", + " close,\n", + " entries=None,\n", + " exits=None,\n", + " *,\n", + " direction=None,\n", + " long_entries=None,\n", + " long_exits=None,\n", + " short_entries=None,\n", + " short_exits=None,\n", + " adjust_func_nb=None,\n", + " adjust_args=(),\n", + " signal_func_nb=None,\n", + " signal_args=(),\n", + " post_segment_func_nb=None,\n", + " post_segment_args=(),\n", + " order_mode=False,\n", + " size=None,\n", + " size_type=None,\n", + " price=None,\n", + " fees=None,\n", + " fixed_fees=None,\n", + " slippage=None,\n", + " min_size=None,\n", + " max_size=None,\n", + " size_granularity=None,\n", + " leverage=None,\n", + " leverage_mode=None,\n", + " reject_prob=None,\n", + " price_area_vio_mode=None,\n", + " allow_partial=None,\n", + " raise_reject=None,\n", + " log=None,\n", + " val_price=None,\n", + " accumulate=None,\n", + " upon_long_conflict=None,\n", + " upon_short_conflict=None,\n", + " upon_dir_conflict=None,\n", + " upon_opposite_entry=None,\n", + " order_type=None,\n", + " limit_delta=None,\n", + " limit_tif=None,\n", + " limit_expiry=None,\n", + " limit_reverse=None,\n", + " upon_adj_limit_conflict=None,\n", + " upon_opp_limit_conflict=None,\n", + " use_stops=None,\n", + " stop_ladder=None,\n", + " sl_stop=None,\n", + " tsl_stop=None,\n", + " tsl_th=None,\n", + " tp_stop=None,\n", + " td_stop=None,\n", + " dt_stop=None,\n", + " stop_entry_price=None,\n", + " stop_exit_price=None,\n", + " stop_exit_type=None,\n", + " stop_order_type=None,\n", + " stop_limit_delta=None,\n", + " upon_stop_update=None,\n", + " upon_adj_stop_conflict=None,\n", + " upon_opp_stop_conflict=None,\n", + " delta_format=None,\n", + " time_delta_format=None,\n", + " open=None,\n", + " high=None,\n", + " low=None,\n", + " init_cash=None,\n", + " init_position=None,\n", + " init_price=None,\n", + " cash_deposits=None,\n", + " cash_earnings=None,\n", + " cash_dividends=None,\n", + " cash_sharing=None,\n", + " from_ago=None,\n", + " call_seq=None,\n", + " attach_call_seq=None,\n", + " ffill_val_price=None,\n", + " update_value=None,\n", + " fill_pos_info=None,\n", + " save_state=None,\n", + " save_value=None,\n", + " save_returns=None,\n", + " max_order_records=None,\n", + " max_log_records=None,\n", + " in_outputs=None,\n", + " seed=None,\n", + " group_by=None,\n", + " broadcast_named_args=None,\n", + " broadcast_kwargs=None,\n", + " template_context=None,\n", + " jitted=None,\n", + " chunked=None,\n", + " staticized=None,\n", + " bm_close=None,\n", + " records=None,\n", + " return_preparer=False,\n", + " return_prep_result=False,\n", + " return_sim_out=False,\n", + " **kwargs\n", + "):\n", + " Simulate portfolio from entry and exit signals.\n", + " \n", + " Supports the following modes:\n", + " \n", + " 1. `entries` and `exits`:\n", + " Uses `vectorbtpro.portfolio.nb.from_signals.dir_signal_func_nb` as `signal_func_nb`\n", + " if an adjustment function is provided (not cacheable), otherwise translates signals using\n", + " `vectorbtpro.portfolio.nb.from_signals.dir_to_ls_signals_nb` then simulates statically (cacheable)\n", + " 2. `entries` (acting as long), `exits` (acting as long), `short_entries`, and `short_exits`:\n", + " Uses `vectorbtpro.portfolio.nb.from_signals.ls_signal_func_nb` as `signal_func_nb`\n", + " if an adjustment function is provided (not cacheable), otherwise simulates statically (cacheable)\n", + " 3. `order_mode=True` without signals:\n", + " Uses `vectorbtpro.portfolio.nb.from_signals.order_signal_func_nb` as `signal_func_nb` (not cacheable)\n", + " 4. `signal_func_nb` and `signal_args`: Custom signal function (not cacheable)\n", + " \n", + " Prepared by `vectorbtpro.portfolio.preparing.FSPreparer`.\n", + " \n", + " Args:\n", + " close (array_like, OHLCDataMixin, FSPreparer, or PFPrepResult): See `Portfolio.from_orders`.\n", + " entries (array_like of bool): Boolean array of entry signals.\n", + " Defaults to True if all other signal arrays are not set, otherwise False. Will broadcast.\n", + " \n", + " * If `short_entries` and `short_exits` are not set: Acts as a long signal if `direction`\n", + " is 'all' or 'longonly', otherwise short.\n", + " * If `short_entries` or `short_exits` are set: Acts as `long_entries`.\n", + " exits (array_like of bool): Boolean array of exit signals.\n", + " Defaults to False. Will broadcast.\n", + " \n", + " * If `short_entries` and `short_exits` are not set: Acts as a short signal if `direction`\n", + " is 'all' or 'longonly', otherwise long.\n", + " * If `short_entries` or `short_exits` are set: Acts as `long_exits`.\n", + " direction (Direction or array_like): See `Portfolio.from_orders`.\n", + " \n", + " Takes only effect if `short_entries` and `short_exits` are not set.\n", + " long_entries (array_like of bool): Boolean array of long entry signals.\n", + " Defaults to False. Will broadcast.\n", + " long_exits (array_like of bool): Boolean array of long exit signals.\n", + " Defaults to False. Will broadcast.\n", + " short_entries (array_like of bool): Boolean array of short entry signals.\n", + " Defaults to False. Will broadcast.\n", + " short_exits (array_like of bool): Boolean array of short exit signals.\n", + " Defaults to False. Will broadcast.\n", + " adjust_func_nb (path_like or callable): User-defined function to adjust the current simulation state.\n", + " Defaults to `vectorbtpro.portfolio.nb.from_signals.no_adjust_func_nb`.\n", + " \n", + " Passed as argument to `vectorbtpro.portfolio.nb.from_signals.dir_signal_func_nb`,\n", + " `vectorbtpro.portfolio.nb.from_signals.ls_signal_func_nb`, and\n", + " `vectorbtpro.portfolio.nb.from_signals.order_signal_func_nb`. Has no effect\n", + " when using other signal functions.\n", + " \n", + " Can be a path to a module when using staticizing.\n", + " adjust_args (tuple): Packed arguments passed to `adjust_func_nb`.\n", + " signal_func_nb (path_like or callable): Function called to generate signals.\n", + " \n", + " See `vectorbtpro.portfolio.nb.from_signals.from_signal_func_nb`.\n", + " \n", + " Can be a path to a module when using staticizing.\n", + " signal_args (tuple): Packed arguments passed to `signal_func_nb`.\n", + " post_segment_func_nb (path_like or callable): Post-segment function.\n", + " \n", + " See `vectorbtpro.portfolio.nb.from_signals.from_signal_func_nb`.\n", + " \n", + " Can be a path to a module when using staticizing.\n", + " post_segment_args (tuple): Packed arguments passed to `post_segment_func_nb`.\n", + " order_mode (bool): Whether to simulate as orders without signals.\n", + " size (float or array_like): See `Portfolio.from_orders`.\n", + " \n", + " !!! note\n", + " Negative size is not allowed. You must express direction using signals.\n", + " size_type (SizeType or array_like): See `Portfolio.from_orders`.\n", + " \n", + " Only `SizeType.Amount`, `SizeType.Value`, `SizeType.Percent(100)`, and\n", + " `SizeType.ValuePercent(100)` are supported. Other modes such as target percentage\n", + " are not compatible with signals since their logic may contradict the direction of the signal.\n", + " \n", + " !!! note\n", + " `SizeType.Percent(100)` does not support position reversal. Switch to a single\n", + " direction or use `OppositeEntryMode.Close` to close the position first.\n", + " \n", + " See warning in `Portfolio.from_orders`.\n", + " price (array_like of float): See `Portfolio.from_orders`.\n", + " fees (float or array_like): See `Portfolio.from_orders`.\n", + " fixed_fees (float or array_like): See `Portfolio.from_orders`.\n", + " slippage (float or array_like): See `Portfolio.from_orders`.\n", + " min_size (float or array_like): See `Portfolio.from_orders`.\n", + " max_size (float or array_like): See `Portfolio.from_orders`.\n", + " \n", + " Will be partially filled if exceeded. You might not be able to properly close\n", + " the position if accumulation is enabled and `max_size` is too low.\n", + " size_granularity (float or array_like): See `Portfolio.from_orders`.\n", + " leverage (float or array_like): See `Portfolio.from_orders`.\n", + " leverage_mode (LeverageMode or array_like): See `Portfolio.from_orders`.\n", + " reject_prob (float or array_like): See `Portfolio.from_orders`.\n", + " price_area_vio_mode (PriceAreaVioMode or array_like): See `Portfolio.from_orders`.\n", + " allow_partial (bool or array_like): See `Portfolio.from_orders`.\n", + " raise_reject (bool or array_like): See `Portfolio.from_orders`.\n", + " log (bool or array_like): See `Portfolio.from_orders`.\n", + " val_price (array_like of float): See `Portfolio.from_orders`.\n", + " accumulate (bool, AccumulationMode or array_like): See `vectorbtpro.portfolio.enums.AccumulationMode`.\n", + " If True, becomes 'both'. If False, becomes 'disabled'. Will broadcast.\n", + " \n", + " When enabled, `Portfolio.from_signals` behaves similarly to `Portfolio.from_orders`.\n", + " upon_long_conflict (ConflictMode or array_like): Conflict mode for long signals.\n", + " See `vectorbtpro.portfolio.enums.ConflictMode`. Will broadcast.\n", + " upon_short_conflict (ConflictMode or array_like): Conflict mode for short signals.\n", + " See `vectorbtpro.portfolio.enums.ConflictMode`. Will broadcast.\n", + " upon_dir_conflict (DirectionConflictMode or array_like): See `vectorbtpro.portfolio.enums.DirectionConflictMode`.\n", + " Will broadcast.\n", + " upon_opposite_entry (OppositeEntryMode or array_like): See `vectorbtpro.portfolio.enums.OppositeEntryMode`.\n", + " Will broadcast.\n", + " order_type (OrderType or array_like): See `vectorbtpro.portfolio.enums.OrderType`.\n", + " \n", + " Only one active limit order is allowed at a time.\n", + " limit_delta (float or array_like): Delta from `price` to build the limit price.\n", + " Will broadcast.\n", + " \n", + " If NaN, `price` becomes the limit price. Otherwise, applied on top of `price` depending\n", + " on the current direction: if the direction-aware size is positive (= buying), a positive delta\n", + " will decrease the limit price; if the direction-aware size is negative (= selling), a positive delta\n", + " will increase the limit price. Delta can be negative.\n", + " \n", + " Set an element to `np.nan` to disable. Use `delta_format` to specify the format.\n", + " limit_tif (frequency_like or array_like): Time in force for limit signals.\n", + " Will broadcast.\n", + " \n", + " Any frequency-like object is converted using `vectorbtpro.utils.datetime_.to_timedelta64`.\n", + " Any array must either contain timedeltas or integers, and will be cast into integer format\n", + " after broadcasting. If the object provided is of data type `object`, will be converted\n", + " to timedelta automatically.\n", + " \n", + " Measured in the distance after the open time of the signal bar. If the expiration time happens\n", + " in the middle of the current bar, we pessimistically assume that the order has been expired.\n", + " The check is performed at the beginning of the bar, and the first check is performed at the\n", + " next bar after the signal. For example, if the format is `TimeDeltaFormat.Rows`, 0 or 1 means\n", + " the order must execute at the same bar or not at all; 2 means the order must execute at the\n", + " same or next bar or not at all.\n", + " \n", + " Set an element to `-1` to disable. Use `time_delta_format` to specify the format.\n", + " limit_expiry (frequency_like, datetime_like, or array_like): Expiration time.\n", + " Will broadcast.\n", + " \n", + " Any frequency-like object is used to build a period index, such that each timestamp in the original\n", + " index is pointing to the timestamp where the period ends. For example, providing \"d\" will\n", + " make any limit order expire on the next day. Any array must either contain timestamps or integers\n", + " (not timedeltas!), and will be cast into integer format after broadcasting. If the object\n", + " provided is of data type `object`, will be converted to datetime and its timezone will\n", + " be removed automatically (as done on the index).\n", + " \n", + " Behaves in a similar way as `limit_tif`.\n", + " \n", + " Set an element to `-1` or `pd.Timestamp.max` to disable. Use `time_delta_format` to specify the format.\n", + " limit_reverse (bool or array_like): Whether to reverse the price hit detection.\n", + " Will broadcast.\n", + " \n", + " If True, a buy/sell limit price will be checked against high/low (not low/high).\n", + " Also, the limit delta will be applied above/below (not below/above) the initial price.\n", + " upon_adj_limit_conflict (PendingConflictMode or array_like): Conflict mode for limit and user-defined\n", + " signals of adjacent sign. See `vectorbtpro.portfolio.enums.PendingConflictMode`. Will broadcast.\n", + " upon_opp_limit_conflict (PendingConflictMode or array_like): Conflict mode for limit and user-defined\n", + " signals of opposite sign. See `vectorbtpro.portfolio.enums.PendingConflictMode`. Will broadcast.\n", + " use_stops (bool): Whether to use stops.\n", + " Defaults to None, which becomes True if any of the stops are not NaN or\n", + " the adjustment function is not the default one.\n", + " \n", + " Disable this to make simulation a bit faster for simple use cases.\n", + " stop_ladder (bool or StopLadderMode): Whether and which kind of stop laddering to use.\n", + " See `vectorbtpro.portfolio.enums.StopLadderMode`.\n", + " \n", + " If so, rows in the supplied arrays will become ladder steps. Make sure that\n", + " they are increasing. If one column should have less steps, pad it with NaN\n", + " for price-based stops and -1 for time-based stops.\n", + " \n", + " Rows in each array can be of an arbitrary length but columns must broadcast against\n", + " the number of columns in the data. Applied on all stop types.\n", + " sl_stop (array_like of float): Stop loss.\n", + " Will broadcast.\n", + " \n", + " Set an element to `np.nan` to disable. Use `delta_format` to specify the format.\n", + " tsl_stop (array_like of float): Trailing stop loss for the trailing stop loss.\n", + " Will broadcast.\n", + " \n", + " Set an element to `np.nan` to disable. Use `delta_format` to specify the format.\n", + " tsl_th (array_like of float): Take profit threshold for the trailing stop loss.\n", + " Will broadcast.\n", + " \n", + " Set an element to `np.nan` to disable. Use `delta_format` to specify the format.\n", + " tp_stop (array_like of float): Take profit.\n", + " Will broadcast.\n", + " \n", + " Set an element to `np.nan` to disable. Use `delta_format` to specify the format.\n", + " td_stop (frequency_like or array_like): Timedelta-stop.\n", + " Will broadcast.\n", + " \n", + " Set an element to `-1` to disable. Use `time_delta_format` to specify the format.\n", + " dt_stop (frequency_like, datetime_like, or array_like): Datetime-stop.\n", + " Will broadcast.\n", + " \n", + " Set an element to `-1` to disable. Use `time_delta_format` to specify the format.\n", + " stop_entry_price (StopEntryPrice or array_like): See `vectorbtpro.portfolio.enums.StopEntryPrice`.\n", + " Will broadcast.\n", + " \n", + " If provided on per-element basis, gets applied upon entry. If a positive value is provided,\n", + " used directly as a price, otherwise used as an enumerated value.\n", + " stop_exit_price (StopExitPrice or array_like): See `vectorbtpro.portfolio.enums.StopExitPrice`.\n", + " Will broadcast.\n", + " \n", + " If provided on per-element basis, gets applied upon entry. If a positive value is provided,\n", + " used directly as a price, otherwise used as an enumerated value.\n", + " stop_exit_type (StopExitType or array_like): See `vectorbtpro.portfolio.enums.StopExitType`.\n", + " Will broadcast.\n", + " \n", + " If provided on per-element basis, gets applied upon entry.\n", + " stop_order_type (OrderType or array_like): Similar to `order_type` but for stop orders.\n", + " Will broadcast.\n", + " \n", + " If provided on per-element basis, gets applied upon entry.\n", + " stop_limit_delta (float or array_like): Similar to `limit_delta` but for stop orders.\n", + " Will broadcast.\n", + " upon_stop_update (StopUpdateMode or array_like): See `vectorbtpro.portfolio.enums.StopUpdateMode`.\n", + " Will broadcast.\n", + " \n", + " Only has effect if accumulation is enabled.\n", + " \n", + " If provided on per-element basis, gets applied upon repeated entry.\n", + " upon_adj_stop_conflict (PendingConflictMode or array_like): Conflict mode for stop and user-defined\n", + " signals of adjacent sign. See `vectorbtpro.portfolio.enums.PendingConflictMode`. Will broadcast.\n", + " upon_opp_stop_conflict (PendingConflictMode or array_like): Conflict mode for stop and user-defined\n", + " signals of opposite sign. See `vectorbtpro.portfolio.enums.PendingConflictMode`. Will broadcast.\n", + " delta_format (DeltaFormat or array_like): See `vectorbtpro.portfolio.enums.DeltaFormat`.\n", + " Will broadcast.\n", + " time_delta_format (TimeDeltaFormat or array_like): See `vectorbtpro.portfolio.enums.TimeDeltaFormat`.\n", + " Will broadcast.\n", + " open (array_like of float): See `Portfolio.from_orders`.\n", + " \n", + " For stop signals, `np.nan` gets replaced by `close`.\n", + " high (array_like of float): See `Portfolio.from_orders`.\n", + " \n", + " For stop signals, `np.nan` replaced by the maximum out of `open` and `close`.\n", + " low (array_like of float): See `Portfolio.from_orders`.\n", + " \n", + " For stop signals, `np.nan` replaced by the minimum out of `open` and `close`.\n", + " init_cash (InitCashMode, float or array_like): See `Portfolio.from_orders`.\n", + " init_position (float or array_like): See `Portfolio.from_orders`.\n", + " init_price (float or array_like): See `Portfolio.from_orders`.\n", + " cash_deposits (float or array_like): See `Portfolio.from_orders`.\n", + " cash_earnings (float or array_like): See `Portfolio.from_orders`.\n", + " cash_dividends (float or array_like): See `Portfolio.from_orders`.\n", + " cash_sharing (bool): See `Portfolio.from_orders`.\n", + " from_ago (int or array_like): See `Portfolio.from_orders`.\n", + " \n", + " Take effect only for user-defined signals, not for stop signals.\n", + " call_seq (CallSeqType or array_like): See `Portfolio.from_orders`.\n", + " attach_call_seq (bool): See `Portfolio.from_orders`.\n", + " ffill_val_price (bool): See `Portfolio.from_orders`.\n", + " update_value (bool): See `Portfolio.from_orders`.\n", + " fill_pos_info (bool): fill_pos_info (bool): Whether to fill position record.\n", + " \n", + " Disable this to make simulation faster for simple use cases.\n", + " save_state (bool): See `Portfolio.from_orders`.\n", + " save_value (bool): See `Portfolio.from_orders`.\n", + " save_returns (bool): See `Portfolio.from_orders`.\n", + " max_order_records (int): See `Portfolio.from_orders`.\n", + " max_log_records (int): See `Portfolio.from_orders`.\n", + " in_outputs (mapping_like): Mapping with in-output objects. Only for flexible mode.\n", + " \n", + " Will be available via `Portfolio.in_outputs` as a named tuple.\n", + " \n", + " To substitute `Portfolio` attributes, provide already broadcasted and grouped objects,\n", + " for example, by using `broadcast_named_args` and templates. Also see\n", + " `Portfolio.in_outputs_indexing_func` on how in-output objects are indexed.\n", + " \n", + " When chunking, make sure to provide the chunk taking specification and the merging function.\n", + " See `vectorbtpro.portfolio.chunking.merge_sim_outs`.\n", + " \n", + " !!! note\n", + " When using Numba below 0.54, `in_outputs` cannot be a mapping, but must be a named tuple\n", + " defined globally so Numba can introspect its attributes for pickling.\n", + " seed (int): See `Portfolio.from_orders`.\n", + " group_by (any): See `Portfolio.from_orders`.\n", + " broadcast_named_args (dict): Dictionary with named arguments to broadcast.\n", + " \n", + " You can then pass argument names wrapped with `vectorbtpro.utils.template.Rep`\n", + " and this method will substitute them by their corresponding broadcasted objects.\n", + " broadcast_kwargs (dict): See `Portfolio.from_orders`.\n", + " template_context (mapping): Mapping to replace templates in arguments.\n", + " jitted (any): See `Portfolio.from_orders`.\n", + " chunked (any): See `Portfolio.from_orders`.\n", + " staticized (bool, dict, hashable, or callable): Keyword arguments or task id for staticizing.\n", + " \n", + " If True or dictionary, will be passed as keyword arguments to\n", + " `vectorbtpro.utils.cutting.cut_and_save_func` to save a cacheable version of the\n", + " simulator to a file. If a hashable or callable, will be used as a task id of an\n", + " already registered jittable and chunkable simulator. Dictionary allows additional options\n", + " `override` and `reload` to override and reload an already existing module respectively.\n", + " bm_close (array_like): See `Portfolio.from_orders`.\n", + " records (array_like): See `Portfolio.from_orders`.\n", + " return_preparer (bool): See `Portfolio.from_orders`.\n", + " return_prep_result (bool): See `Portfolio.from_orders`.\n", + " return_sim_out (bool): See `Portfolio.from_orders`.\n", + " **kwargs: Keyword arguments passed to the `Portfolio` constructor.\n", + " \n", + " All broadcastable arguments will broadcast using `vectorbtpro.base.reshaping.broadcast`\n", + " but keep original shape to utilize flexible indexing and to save memory.\n", + " \n", + " For defaults, see `vectorbtpro._settings.portfolio`. Those defaults are not used to fill\n", + " NaN values after reindexing: vectorbt uses its own sensible defaults, which are usually NaN\n", + " for floating arrays and default flags for integer arrays. Use `vectorbtpro.base.reshaping.BCO`\n", + " with `fill_value` to override.\n", + " \n", + " Also see notes and hints for `Portfolio.from_orders`.\n", + " \n", + " Usage:\n", + " * By default, if all signal arrays are None, `entries` becomes True,\n", + " which opens a position at the very first tick and does nothing else:\n", + " \n", + " ```pycon\n", + " >>> close = pd.Series([1, 2, 3, 4, 5])\n", + " >>> pf = vbt.Portfolio.from_signals(close, size=1)\n", + " >>> pf.asset_flow\n", + " 0 1.0\n", + " 1 0.0\n", + " 2 0.0\n", + " 3 0.0\n", + " 4 0.0\n", + " dtype: float64\n", + " ```\n", + " \n", + " * Entry opens long, exit closes long:\n", + " \n", + " ```pycon\n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close,\n", + " ... entries=pd.Series([True, True, True, False, False]),\n", + " ... exits=pd.Series([False, False, True, True, True]),\n", + " ... size=1,\n", + " ... direction='longonly'\n", + " ... )\n", + " >>> pf.asset_flow\n", + " 0 1.0\n", + " 1 0.0\n", + " 2 0.0\n", + " 3 -1.0\n", + " 4 0.0\n", + " dtype: float64\n", + " \n", + " >>> # Using direction-aware arrays instead of `direction`\n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close,\n", + " ... entries=pd.Series([True, True, True, False, False]), # long_entries\n", + " ... exits=pd.Series([False, False, True, True, True]), # long_exits\n", + " ... short_entries=False,\n", + " ... short_exits=False,\n", + " ... size=1\n", + " ... )\n", + " >>> pf.asset_flow\n", + " 0 1.0\n", + " 1 0.0\n", + " 2 0.0\n", + " 3 -1.0\n", + " 4 0.0\n", + " dtype: float64\n", + " ```\n", + " \n", + " Notice how both `short_entries` and `short_exits` are provided as constants - as any other\n", + " broadcastable argument, they are treated as arrays where each element is False.\n", + " \n", + " * Entry opens short, exit closes short:\n", + " \n", + " ```pycon\n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close,\n", + " ... entries=pd.Series([True, True, True, False, False]),\n", + " ... exits=pd.Series([False, False, True, True, True]),\n", + " ... size=1,\n", + " ... direction='shortonly'\n", + " ... )\n", + " >>> pf.asset_flow\n", + " 0 -1.0\n", + " 1 0.0\n", + " 2 0.0\n", + " 3 1.0\n", + " 4 0.0\n", + " dtype: float64\n", + " \n", + " >>> # Using direction-aware arrays instead of `direction`\n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close,\n", + " ... entries=False, # long_entries\n", + " ... exits=False, # long_exits\n", + " ... short_entries=pd.Series([True, True, True, False, False]),\n", + " ... short_exits=pd.Series([False, False, True, True, True]),\n", + " ... size=1\n", + " ... )\n", + " >>> pf.asset_flow\n", + " 0 -1.0\n", + " 1 0.0\n", + " 2 0.0\n", + " 3 1.0\n", + " 4 0.0\n", + " dtype: float64\n", + " ```\n", + " \n", + " * Entry opens long and closes short, exit closes long and opens short:\n", + " \n", + " ```pycon\n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close,\n", + " ... entries=pd.Series([True, True, True, False, False]),\n", + " ... exits=pd.Series([False, False, True, True, True]),\n", + " ... size=1,\n", + " ... direction='both'\n", + " ... )\n", + " >>> pf.asset_flow\n", + " 0 1.0\n", + " 1 0.0\n", + " 2 0.0\n", + " 3 -2.0\n", + " 4 0.0\n", + " dtype: float64\n", + " \n", + " >>> # Using direction-aware arrays instead of `direction`\n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close,\n", + " ... entries=pd.Series([True, True, True, False, False]), # long_entries\n", + " ... exits=False, # long_exits\n", + " ... short_entries=pd.Series([False, False, True, True, True]),\n", + " ... short_exits=False,\n", + " ... size=1\n", + " ... )\n", + " >>> pf.asset_flow\n", + " 0 1.0\n", + " 1 0.0\n", + " 2 0.0\n", + " 3 -2.0\n", + " 4 0.0\n", + " dtype: float64\n", + " ```\n", + " \n", + " * More complex signal combinations are best expressed using direction-aware arrays.\n", + " For example, ignore opposite signals as long as the current position is open:\n", + " \n", + " ```pycon\n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close,\n", + " ... entries =pd.Series([True, False, False, False, False]), # long_entries\n", + " ... exits =pd.Series([False, False, True, False, False]), # long_exits\n", + " ... short_entries=pd.Series([False, True, False, True, False]),\n", + " ... short_exits =pd.Series([False, False, False, False, True]),\n", + " ... size=1,\n", + " ... upon_opposite_entry='ignore'\n", + " ... )\n", + " >>> pf.asset_flow\n", + " 0 1.0\n", + " 1 0.0\n", + " 2 -1.0\n", + " 3 -1.0\n", + " 4 1.0\n", + " dtype: float64\n", + " ```\n", + " \n", + " * First opposite signal closes the position, second one opens a new position:\n", + " \n", + " ```pycon\n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close,\n", + " ... entries=pd.Series([True, True, True, False, False]),\n", + " ... exits=pd.Series([False, False, True, True, True]),\n", + " ... size=1,\n", + " ... direction='both',\n", + " ... upon_opposite_entry='close'\n", + " ... )\n", + " >>> pf.asset_flow\n", + " 0 1.0\n", + " 1 0.0\n", + " 2 0.0\n", + " 3 -1.0\n", + " 4 -1.0\n", + " dtype: float64\n", + " ```\n", + " \n", + " * If both long entry and exit signals are True (a signal conflict), choose exit:\n", + " \n", + " ```pycon\n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close,\n", + " ... entries=pd.Series([True, True, True, False, False]),\n", + " ... exits=pd.Series([False, False, True, True, True]),\n", + " ... size=1.,\n", + " ... direction='longonly',\n", + " ... upon_long_conflict='exit')\n", + " >>> pf.asset_flow\n", + " 0 1.0\n", + " 1 0.0\n", + " 2 -1.0\n", + " 3 0.0\n", + " 4 0.0\n", + " dtype: float64\n", + " ```\n", + " \n", + " * If both long entry and short entry signal are True (a direction conflict), choose short:\n", + " \n", + " ```pycon\n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close,\n", + " ... entries=pd.Series([True, True, True, False, False]),\n", + " ... exits=pd.Series([False, False, True, True, True]),\n", + " ... size=1.,\n", + " ... direction='both',\n", + " ... upon_dir_conflict='short')\n", + " >>> pf.asset_flow\n", + " 0 1.0\n", + " 1 0.0\n", + " 2 -2.0\n", + " 3 0.0\n", + " 4 0.0\n", + " dtype: float64\n", + " ```\n", + " \n", + " !!! note\n", + " Remember that when direction is set to 'both', entries become `long_entries` and exits become\n", + " `short_entries`, so this becomes a conflict of directions rather than signals.\n", + " \n", + " * If there are both signal and direction conflicts:\n", + " \n", + " ```pycon\n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close,\n", + " ... entries=True, # long_entries\n", + " ... exits=True, # long_exits\n", + " ... short_entries=True,\n", + " ... short_exits=True,\n", + " ... size=1,\n", + " ... upon_long_conflict='entry',\n", + " ... upon_short_conflict='entry',\n", + " ... upon_dir_conflict='short'\n", + " ... )\n", + " >>> pf.asset_flow\n", + " 0 -1.0\n", + " 1 0.0\n", + " 2 0.0\n", + " 3 0.0\n", + " 4 0.0\n", + " dtype: float64\n", + " ```\n", + " \n", + " * Turn on accumulation of signals. Entry means long order, exit means short order\n", + " (acts similar to `from_orders`):\n", + " \n", + " ```pycon\n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close,\n", + " ... entries=pd.Series([True, True, True, False, False]),\n", + " ... exits=pd.Series([False, False, True, True, True]),\n", + " ... size=1.,\n", + " ... direction='both',\n", + " ... accumulate=True)\n", + " >>> pf.asset_flow\n", + " 0 1.0\n", + " 1 1.0\n", + " 2 0.0\n", + " 3 -1.0\n", + " 4 -1.0\n", + " dtype: float64\n", + " ```\n", + " \n", + " * Allow increasing a position (of any direction), deny decreasing a position:\n", + " \n", + " ```pycon\n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close,\n", + " ... entries=pd.Series([True, True, True, False, False]),\n", + " ... exits=pd.Series([False, False, True, True, True]),\n", + " ... size=1.,\n", + " ... direction='both',\n", + " ... accumulate='addonly')\n", + " >>> pf.asset_flow\n", + " 0 1.0 << open a long position\n", + " 1 1.0 << add to the position\n", + " 2 0.0\n", + " 3 -3.0 << close and open a short position\n", + " 4 -1.0 << add to the position\n", + " dtype: float64\n", + " ```\n", + " \n", + " * Test multiple parameters via regular broadcasting:\n", + " \n", + " ```pycon\n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close,\n", + " ... entries=pd.Series([True, True, True, False, False]),\n", + " ... exits=pd.Series([False, False, True, True, True]),\n", + " ... direction=[list(Direction)],\n", + " ... broadcast_kwargs=dict(columns_from=pd.Index(vbt.pf_enums.Direction._fields, name='direction')))\n", + " >>> pf.asset_flow\n", + " direction LongOnly ShortOnly Both\n", + " 0 100.0 -100.0 100.0\n", + " 1 0.0 0.0 0.0\n", + " 2 0.0 0.0 0.0\n", + " 3 -100.0 50.0 -200.0\n", + " 4 0.0 0.0 0.0\n", + " ```\n", + " \n", + " * Test multiple parameters via `vectorbtpro.base.reshaping.BCO`:\n", + " \n", + " ```pycon\n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close,\n", + " ... entries=pd.Series([True, True, True, False, False]),\n", + " ... exits=pd.Series([False, False, True, True, True]),\n", + " ... direction=vbt.Param(Direction))\n", + " >>> pf.asset_flow\n", + " direction LongOnly ShortOnly Both\n", + " 0 100.0 -100.0 100.0\n", + " 1 0.0 0.0 0.0\n", + " 2 0.0 0.0 0.0\n", + " 3 -100.0 50.0 -200.0\n", + " 4 0.0 0.0 0.0\n", + " ```\n", + " \n", + " * Set risk/reward ratio by passing trailing stop loss and take profit thresholds:\n", + " \n", + " ```pycon\n", + " >>> close = pd.Series([10, 11, 12, 11, 10, 9])\n", + " >>> entries = pd.Series([True, False, False, False, False, False])\n", + " >>> exits = pd.Series([False, False, False, False, False, True])\n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close, entries, exits,\n", + " ... tsl_stop=0.1, tp_stop=0.2) # take profit hit\n", + " >>> pf.asset_flow\n", + " 0 10.0\n", + " 1 0.0\n", + " 2 -10.0\n", + " 3 0.0\n", + " 4 0.0\n", + " 5 0.0\n", + " dtype: float64\n", + " \n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close, entries, exits,\n", + " ... tsl_stop=0.1, tp_stop=0.3) # trailing stop loss hit\n", + " >>> pf.asset_flow\n", + " 0 10.0\n", + " 1 0.0\n", + " 2 0.0\n", + " 3 0.0\n", + " 4 -10.0\n", + " 5 0.0\n", + " dtype: float64\n", + " \n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close, entries, exits,\n", + " ... tsl_stop=np.inf, tp_stop=np.inf) # nothing hit, exit as usual\n", + " >>> pf.asset_flow\n", + " 0 10.0\n", + " 1 0.0\n", + " 2 0.0\n", + " 3 0.0\n", + " 4 0.0\n", + " 5 -10.0\n", + " dtype: float64\n", + " ```\n", + " \n", + " * Test different stop combinations:\n", + " \n", + " ```pycon\n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... close, entries, exits,\n", + " ... tsl_stop=vbt.Param([0.1, 0.2]),\n", + " ... tp_stop=vbt.Param([0.2, 0.3])\n", + " ... )\n", + " >>> pf.asset_flow\n", + " tsl_stop 0.1 0.2\n", + " tp_stop 0.2 0.3 0.2 0.3\n", + " 0 10.0 10.0 10.0 10.0\n", + " 1 0.0 0.0 0.0 0.0\n", + " 2 -10.0 0.0 -10.0 0.0\n", + " 3 0.0 0.0 0.0 0.0\n", + " 4 0.0 -10.0 0.0 0.0\n", + " 5 0.0 0.0 0.0 -10.0\n", + " ```\n", + " \n", + " This works because `pd.Index` automatically translates into `vectorbtpro.base.reshaping.BCO`\n", + " with `product` set to True.\n", + " \n", + " * We can implement our own stop loss or take profit, or adjust the existing one at each time step.\n", + " Let's implement [stepped stop-loss](https://www.freqtrade.io/en/stable/strategy-advanced/#stepped-stoploss):\n", + " \n", + " ```pycon\n", + " >>> @njit\n", + " ... def adjust_func_nb(c):\n", + " ... val_price_now = c.last_val_price[c.col]\n", + " ... tsl_init_price = c.last_tsl_info[\"init_price\"][c.col]\n", + " ... current_profit = (val_price_now - tsl_init_price) / tsl_init_price\n", + " ... if current_profit >= 0.40:\n", + " ... c.last_tsl_info[\"stop\"][c.col] = 0.25\n", + " ... elif current_profit >= 0.25:\n", + " ... c.last_tsl_info[\"stop\"][c.col] = 0.15\n", + " ... elif current_profit >= 0.20:\n", + " ... c.last_tsl_info[\"stop\"][c.col] = 0.07\n", + " \n", + " >>> close = pd.Series([10, 11, 12, 11, 10])\n", + " >>> pf = vbt.Portfolio.from_signals(close, adjust_func_nb=adjust_func_nb)\n", + " >>> pf.asset_flow\n", + " 0 10.0\n", + " 1 0.0\n", + " 2 0.0\n", + " 3 -10.0 # 7% from 12 hit\n", + " 4 11.16\n", + " dtype: float64\n", + " ```\n", + " \n", + " * Sometimes there is a need to provide or transform signals dynamically. For this, we can implement\n", + " a custom signal function `signal_func_nb`. For example, let's implement a signal function that\n", + " takes two numerical arrays - long and short one - and transforms them into 4 direction-aware boolean\n", + " arrays that vectorbt understands:\n", + " \n", + " ```pycon\n", + " >>> @njit\n", + " ... def signal_func_nb(c, long_num_arr, short_num_arr):\n", + " ... long_num = vbt.pf_nb.select_nb(c, long_num_arr)\n", + " ... short_num = vbt.pf_nb.select_nb(c, short_num_arr)\n", + " ... is_long_entry = long_num > 0\n", + " ... is_long_exit = long_num < 0\n", + " ... is_short_entry = short_num > 0\n", + " ... is_short_exit = short_num < 0\n", + " ... return is_long_entry, is_long_exit, is_short_entry, is_short_exit\n", + " \n", + " >>> pf = vbt.Portfolio.from_signals(\n", + " ... pd.Series([1, 2, 3, 4, 5]),\n", + " ... signal_func_nb=signal_func_nb,\n", + " ... signal_args=(vbt.Rep('long_num_arr'), vbt.Rep('short_num_arr')),\n", + " ... broadcast_named_args=dict(\n", + " ... long_num_arr=pd.Series([1, 0, -1, 0, 0]),\n", + " ... short_num_arr=pd.Series([0, 1, 0, 1, -1])\n", + " ... ),\n", + " ... size=1,\n", + " ... upon_opposite_entry='ignore'\n", + " ... )\n", + " >>> pf.asset_flow\n", + " 0 1.0\n", + " 1 0.0\n", + " 2 -1.0\n", + " 3 -1.0\n", + " 4 1.0\n", + " dtype: float64\n", + " ```\n", + " \n", + " Passing both arrays as `broadcast_named_args` broadcasts them internally as any other array,\n", + " so we don't have to worry about their dimensions every time we change our data.\n" + ] + } + ], + "source": [ + "vbt.phelp(vbt.Portfolio.from_signals)" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0.0003, 0.0008, 0.0013, 0.0018, 0.0023, 0.0028, 0.0033, 0.0038]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/8p/dwqnp65s0s77jdbm4_6z4vp80000gn/T/ipykernel_15645/1972107742.py:9: UserWarning:\n", + "\n", + "Object has multiple columns. Aggregated some metrics using . Pass column to select a single column/group.\n", + "\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "
agg_stats
\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)
\n", + "\n" + ], + "text/plain": [ + "Start 2024-04-29 09:30:00-04:00\n", + "End 2024-05-06 10:45:00-04:00\n", + "Period 0 days 00:02:21\n", + "Start Value 100.0\n", + "Min Value 99.927477\n", + " ... \n", + "Expectancy -0.072523\n", + "Sharpe Ratio -589.996672\n", + "Calmar Ratio -50.816428\n", + "Omega Ratio 0.0\n", + "Sortino Ratio -588.835078\n", + "Name: agg_stats, Length: 29, dtype: object" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sl_stop = np.arange(0.03/100, 0.4/100, 0.05/100).tolist()\n", + "# Using the round function\n", + "sl_stop = [round(val, 4) for val in sl_stop]\n", + "print(sl_stop)\n", + "sl_stop = vbt.Param(sl_stop) #np.nan mean s no stoploss\n", + "\n", + "pf = vbt.Portfolio.from_signals(close=close, entries=long_entries, exits=long_exits, sl_stop=sl_stop, tp_stop = sl_stop, fees=0.0167/100, freq=\"1s\") #sl_stop=sl_stop, tp_stop = sl_stop,\n", + "\n", + "pf.stats()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "53274e7f95f04df293a52149db1658af", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "FigureWidget({\n", + " 'data': [{'legendgroup': '0',\n", + " 'line': {'color': '#1f77b4'},\n", + " 'mode': 'lines',\n", + " 'name': 'Close',\n", + " 'showlegend': True,\n", + " 'type': 'scatter',\n", + " 'uid': 'c9aba84d-aeb8-47df-b5b7-f8041c89e415',\n", + " 'x': array([datetime.datetime(2024, 4, 29, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 31, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 32, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 5, 6, 10, 2, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 3, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 4, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'y': array([37.87 , 37.815, 37.8 , ..., 37.51 , 37.535, 37.57 ]),\n", + " 'yaxis': 'y'},\n", + " {'customdata': array([['0', '2024-04-29 14:32:00-04:00', '2024-04-29 14:32:00-04:00',\n", + " '2024-04-29 14:32:00-04:00', 2.6545414254197355, 37.665,\n", + " 0.0166972115656705, 'Market', 'None'],\n", + " ['2', '2024-04-29 15:00:00-04:00', '2024-04-29 15:00:00-04:00',\n", + " '2024-04-29 15:00:00-04:00', 2.6592130130953584, 37.575,\n", + " 0.016686628137506432, 'Market', 'None'],\n", + " ['4', '2024-04-29 15:13:00-04:00', '2024-04-29 15:13:00-04:00',\n", + " '2024-04-29 15:13:00-04:00', 2.6656859400641046, 37.46,\n", + " 0.016676051417576332, 'Market', 'None'],\n", + " ['6', '2024-04-30 12:32:00-04:00', '2024-04-30 12:32:00-04:00',\n", + " '2024-04-30 12:32:00-04:00', 2.678171682609611, 37.34,\n", + " 0.01670048941498692, 'Market', 'None'],\n", + " ['8', '2024-04-30 14:27:00-04:00', '2024-04-30 14:27:00-04:00',\n", + " '2024-04-30 14:27:00-04:00', 2.6841657767646168, 37.233,\n", + " 0.01668990390916747, 'Market', 'None'],\n", + " ['10', '2024-04-30 14:48:00-04:00', '2024-04-30 14:48:00-04:00',\n", + " '2024-04-30 14:48:00-04:00', 2.688819444902845, 37.145,\n", + " 0.01667932511291781, 'Market', 'None'],\n", + " ['12', '2024-05-01 12:21:00-04:00', '2024-05-01 12:21:00-04:00',\n", + " '2024-05-01 12:21:00-04:00', 2.702027405173107, 36.94,\n", + " 0.01666875302197468, 'Market', 'None'],\n", + " ['14', '2024-05-01 13:04:00-04:00', '2024-05-01 13:04:00-04:00',\n", + " '2024-05-01 13:04:00-04:00', 2.7061754351427645, 36.86,\n", + " 0.016658187632074828, 'Market', 'None'],\n", + " ['16', '2024-05-01 13:07:00-04:00', '2024-05-01 13:07:00-04:00',\n", + " '2024-05-01 13:07:00-04:00', 2.7070305724992725, 36.825,\n", + " 0.016647628938997627, 'Market', 'None'],\n", + " ['18', '2024-05-02 11:31:00-04:00', '2024-05-02 11:31:00-04:00',\n", + " '2024-05-02 11:31:00-04:00', 2.708256495866447, 36.785,\n", + " 0.016637076938479822, 'Market', 'None'],\n", + " ['20', '2024-05-02 11:35:00-04:00', '2024-05-02 11:35:00-04:00',\n", + " '2024-05-02 11:35:00-04:00', 2.7105779336471194, 36.7302,\n", + " 0.016626531626286578, 'Market', 'None'],\n", + " ['22', '2024-05-03 10:23:00-04:00', '2024-05-03 10:23:00-04:00',\n", + " '2024-05-03 10:23:00-04:00', 2.6878547078398904, 37.095,\n", + " 0.016650897054688585, 'Market', 'None']], dtype=object),\n", + " 'hovertemplate': ('
Order Id: %{customdata[0]}' ... 'br>Stop Type: %{customdata[8]}'),\n", + " 'marker': {'color': '#37B13F',\n", + " 'line': {'color': 'rgb(38,123,44)', 'width': 1},\n", + " 'size': 8,\n", + " 'symbol': 'triangle-up'},\n", + " 'mode': 'markers',\n", + " 'name': 'Buy',\n", + " 'type': 'scatter',\n", + " 'uid': '8189f368-5670-46c0-95c6-e532931e85c0',\n", + " 'x': array([datetime.datetime(2024, 4, 29, 14, 32, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 0, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 13, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 12, 32, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 14, 27, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 14, 48, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 12, 21, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 13, 4, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 13, 7, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 11, 31, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 11, 35, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 10, 23, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'y': array([37.665 , 37.575 , 37.46 , 37.34 , 37.233 , 37.145 , 36.94 , 36.86 ,\n", + " 36.825 , 36.785 , 36.7302, 37.095 ]),\n", + " 'yaxis': 'y'},\n", + " {'customdata': array([['1', '2024-04-29 14:32:00-04:00', '2024-04-29 14:33:00-04:00',\n", + " '2024-04-29 14:33:00-04:00', 2.6545414254197355, 37.6537005,\n", + " 0.016692202402198833, 'Market', 'SL'],\n", + " ['3', '2024-04-29 15:00:00-04:00', '2024-04-29 15:02:00-04:00',\n", + " '2024-04-29 15:02:00-04:00', 2.6592130130953584, 37.563727500000006,\n", + " 0.016681622149057454, 'Market', 'SL'],\n", + " ['5', '2024-04-29 15:13:00-04:00', '2024-04-29 15:19:00-04:00',\n", + " '2024-04-29 15:19:00-04:00', 2.6656859400641046, 37.527428,\n", + " 0.016706068310123456, 'Market', 'TP'],\n", + " ['7', '2024-04-30 12:32:00-04:00', '2024-04-30 12:33:00-04:00',\n", + " '2024-04-30 12:33:00-04:00', 2.678171682609611, 37.328798000000006,\n", + " 0.016695479268158866, 'Market', 'SL'],\n", + " ['9', '2024-04-30 14:27:00-04:00', '2024-04-30 14:31:00-04:00',\n", + " '2024-04-30 14:31:00-04:00', 2.6841657767646168, 37.2218301,\n", + " 0.016684896937995505, 'Market', 'SL'],\n", + " ['11', '2024-04-30 14:48:00-04:00', '2024-04-30 14:50:00-04:00',\n", + " '2024-04-30 14:50:00-04:00', 2.688819444902845, 37.13385650000001,\n", + " 0.016674321315379128, 'Market', 'SL'],\n", + " ['13', '2024-05-01 12:21:00-04:00', '2024-05-01 12:22:00-04:00',\n", + " '2024-05-01 12:22:00-04:00', 2.702027405173107, 36.928917999999996,\n", + " 0.0166637523960582, 'Market', 'SL'],\n", + " ['15', '2024-05-01 13:04:00-04:00', '2024-05-01 13:05:00-04:00',\n", + " '2024-05-01 13:05:00-04:00', 2.7061754351427645, 36.848942,\n", + " 0.016653190175783882, 'Market', 'SL'],\n", + " ['17', '2024-05-01 13:07:00-04:00', '2024-05-01 13:16:00-04:00',\n", + " '2024-05-01 13:16:00-04:00', 2.7070305724992725, 36.813952500000006,\n", + " 0.016642634650310018, 'Market', 'SL'],\n", + " ['19', '2024-05-02 11:31:00-04:00', '2024-05-02 11:32:00-04:00',\n", + " '2024-05-02 11:32:00-04:00', 2.708256495866447, 36.7739645,\n", + " 0.016632085815393147, 'Market', 'SL'],\n", + " ['21', '2024-05-02 11:35:00-04:00', '2024-05-02 11:51:00-04:00',\n", + " '2024-05-02 11:51:00-04:00', 2.7105779336471194, 36.796314360000004,\n", + " 0.01665645938320769, 'Market', 'TP'],\n", + " ['23', '2024-05-03 10:23:00-04:00', '2024-05-03 10:28:00-04:00',\n", + " '2024-05-03 10:28:00-04:00', 2.6878547078398904, 37.161771,\n", + " 0.016680868669380993, 'Market', 'TP']], dtype=object),\n", + " 'hovertemplate': ('
Order Id: %{customdata[0]}' ... 'br>Stop Type: %{customdata[8]}'),\n", + " 'marker': {'color': '#EA4335',\n", + " 'line': {'color': 'rgb(181,31,18)', 'width': 1},\n", + " 'size': 8,\n", + " 'symbol': 'triangle-down'},\n", + " 'mode': 'markers',\n", + " 'name': 'Sell',\n", + " 'type': 'scatter',\n", + " 'uid': '9abbd546-dd67-4f59-8924-e6a5a18c63f3',\n", + " 'x': array([datetime.datetime(2024, 4, 29, 14, 33, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 2, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 19, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 12, 33, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 14, 31, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 14, 50, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 12, 22, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 13, 5, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 13, 16, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 11, 32, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 11, 51, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 10, 28, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'y': array([37.6537005 , 37.5637275 , 37.527428 , 37.328798 , 37.2218301 ,\n", + " 37.1338565 , 36.928918 , 36.848942 , 36.8139525 , 36.7739645 ,\n", + " 36.79631436, 37.161771 ]),\n", + " 'yaxis': 'y'},\n", + " {'customdata': array([['2', '2', '2024-04-29 15:19:00-04:00', 0.14635975183893413,\n", + " 0.0014656993999998694],\n", + " ['10', '10', '2024-05-02 11:51:00-04:00', 0.14592513430370113,\n", + " 0.0014656993999998737],\n", + " ['11', '11', '2024-05-03 10:28:00-04:00', 0.14613898097312186,\n", + " 0.0014656994000000812]], dtype=object),\n", + " 'hovertemplate': ('
Exit Trade Id: %{customdat' ... 'br>Return: %{customdata[4]:,%}'),\n", + " 'marker': {'color': '#37B13F',\n", + " 'line': {'color': 'rgb(38,123,44)', 'width': 1},\n", + " 'opacity': array([0.9, 0.9, 0.9]),\n", + " 'size': array([14., 14., 14.]),\n", + " 'symbol': 'circle'},\n", + " 'mode': 'markers',\n", + " 'name': 'Closed - Profit',\n", + " 'type': 'scatter',\n", + " 'uid': '8143d2ce-a4f5-435b-86e2-d0246f789ec4',\n", + " 'x': array([datetime.datetime(2024, 4, 29, 15, 19, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 11, 51, tzinfo=),\n", + " datetime.datetime(2024, 5, 3, 10, 28, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x2',\n", + " 'y': array([0.0014657, 0.0014657, 0.0014657]),\n", + " 'yaxis': 'y2'},\n", + " {'customdata': array([['0', '0', '2024-04-29 14:33:00-04:00', -0.06338440480439712,\n", + " -0.0006339498999999946],\n", + " ['1', '1', '2024-04-29 15:02:00-04:00', -0.06334422897666737,\n", + " -0.0006339498999999378],\n", + " ['3', '3', '2024-04-30 12:33:00-04:00', -0.0633968478717373,\n", + " -0.0006339499000000221],\n", + " ['4', '4', '2024-04-30 14:31:00-04:00', -0.06335666415703393,\n", + " -0.0006339498999998708],\n", + " ['5', '5', '2024-04-30 14:50:00-04:00', -0.06331650591256852,\n", + " -0.0006339499000000153],\n", + " ['6', '6', '2024-05-01 12:22:00-04:00', -0.0632763731221666,\n", + " -0.0006339499000001526],\n", + " ['7', '7', '2024-05-01 13:05:00-04:00', -0.06323626576965642,\n", + " -0.0006339498999999032],\n", + " ['8', '8', '2024-05-01 13:16:00-04:00', -0.06319618383898262,\n", + " -0.0006339498999999516],\n", + " ['9', '9', '2024-05-02 11:32:00-04:00', -0.06315612731400726,\n", + " -0.0006339499000000526]], dtype=object),\n", + " 'hovertemplate': ('
Exit Trade Id: %{customdat' ... 'br>Return: %{customdata[4]:,%}'),\n", + " 'marker': {'color': '#EA4335',\n", + " 'line': {'color': 'rgb(181,31,18)', 'width': 1},\n", + " 'opacity': array([0.75, 0.75, 0.75, 0.75, 0.75, 0.75, 0.75, 0.75, 0.75]),\n", + " 'size': array([7., 7., 7., 7., 7., 7., 7., 7., 7.]),\n", + " 'symbol': 'circle'},\n", + " 'mode': 'markers',\n", + " 'name': 'Closed - Loss',\n", + " 'type': 'scatter',\n", + " 'uid': '5d67fa3b-772b-4bb2-bb84-20a73dd5164a',\n", + " 'x': array([datetime.datetime(2024, 4, 29, 14, 33, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 2, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 12, 33, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 14, 31, tzinfo=),\n", + " datetime.datetime(2024, 4, 30, 14, 50, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 12, 22, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 13, 5, tzinfo=),\n", + " datetime.datetime(2024, 5, 1, 13, 16, tzinfo=),\n", + " datetime.datetime(2024, 5, 2, 11, 32, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x2',\n", + " 'y': array([-0.00063395, -0.00063395, -0.00063395, -0.00063395, -0.00063395,\n", + " -0.00063395, -0.00063395, -0.00063395, -0.00063395]),\n", + " 'yaxis': 'y2'},\n", + " {'legendgroup': '1',\n", + " 'line': {'color': '#7f7f7f'},\n", + " 'mode': 'lines',\n", + " 'name': 'Benchmark',\n", + " 'showlegend': True,\n", + " 'type': 'scatter',\n", + " 'uid': 'eda5f3c6-9f36-443b-aa49-33ce3c00f64b',\n", + " 'x': array([datetime.datetime(2024, 4, 29, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 31, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 32, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 5, 6, 10, 2, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 3, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 4, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1. , 0.99854766, 0.99815157, ..., 0.99049379, 0.99115395,\n", + " 0.99207816]),\n", + " 'yaxis': 'y3'},\n", + " {'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': 'cd073ad0-b967-4771-994e-36417f36dadc',\n", + " 'x': array([datetime.datetime(2024, 4, 29, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 31, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 32, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 5, 6, 10, 2, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 3, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 4, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1, 1, 1, ..., 1, 1, 1]),\n", + " 'yaxis': 'y3'},\n", + " {'connectgaps': False,\n", + " 'fill': 'tonexty',\n", + " 'fillcolor': 'rgba(0, 128, 0, 0.25)',\n", + " 'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': 'b89392af-b182-4bc3-b420-04be70401374',\n", + " 'x': array([datetime.datetime(2024, 4, 29, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 31, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 32, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 5, 6, 10, 2, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 3, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 4, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1., 1., 1., ..., 1., 1., 1.]),\n", + " 'yaxis': 'y3'},\n", + " {'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': '07a3a6b5-12a1-49d2-8934-0870789c217c',\n", + " 'x': array([datetime.datetime(2024, 4, 29, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 31, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 32, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 5, 6, 10, 2, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 3, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 4, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1, 1, 1, ..., 1, 1, 1]),\n", + " 'yaxis': 'y3'},\n", + " {'connectgaps': False,\n", + " 'fill': 'tonexty',\n", + " 'fillcolor': 'rgba(255, 0, 0, 0.25)',\n", + " 'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': '72ec5d1b-7454-401c-a86c-6e8b168d5a57',\n", + " 'x': array([datetime.datetime(2024, 4, 29, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 31, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 32, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 5, 6, 10, 2, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 3, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 4, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1. , 1. , 1. , ..., 0.9986876, 0.9986876, 0.9986876]),\n", + " 'yaxis': 'y3'},\n", + " {'legendgroup': '2',\n", + " 'line': {'color': '#9467bd'},\n", + " 'mode': 'lines',\n", + " 'name': 'Value',\n", + " 'showlegend': True,\n", + " 'type': 'scatter',\n", + " 'uid': 'e69b892e-4ec7-492d-b25e-a320a3e37bf8',\n", + " 'x': array([datetime.datetime(2024, 4, 29, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 31, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 32, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 5, 6, 10, 2, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 3, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 4, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1. , 1. , 1. , ..., 0.9986876, 0.9986876, 0.9986876]),\n", + " 'yaxis': 'y3'},\n", + " {'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0.0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': '5c4689a3-0bd5-469a-af4b-cb546f6fe8c8',\n", + " 'x': array([datetime.datetime(2024, 4, 29, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 31, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 32, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 5, 6, 10, 2, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 3, tzinfo=),\n", + " datetime.datetime(2024, 5, 6, 10, 4, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1, 1, 1, ..., 1, 1, 1]),\n", + " 'yaxis': 'y3'}],\n", + " 'layout': {'annotations': [{'font': {'size': 16},\n", + " 'showarrow': False,\n", + " 'text': 'Orders',\n", + " 'x': 0.5,\n", + " 'xanchor': 'center',\n", + " 'xref': 'paper',\n", + " 'y': 1.0,\n", + " 'yanchor': 'bottom',\n", + " 'yref': 'paper'},\n", + " {'font': {'size': 16},\n", + " 'showarrow': False,\n", + " 'text': 'Trade PnL',\n", + " 'x': 0.5,\n", + " 'xanchor': 'center',\n", + " 'xref': 'paper',\n", + " 'y': 0.6527777777777777,\n", + " 'yanchor': 'bottom',\n", + " 'yref': 'paper'},\n", + " {'font': {'size': 16},\n", + " 'showarrow': False,\n", + " 'text': 'Cumulative Returns',\n", + " 'x': 0.5,\n", + " 'xanchor': 'center',\n", + " 'xref': 'paper',\n", + " 'y': 0.3055555555555555,\n", + " 'yanchor': 'bottom',\n", + " 'yref': 'paper'}],\n", + " 'height': 960,\n", + " 'legend': {'orientation': 'h',\n", + " 'traceorder': 'normal',\n", + " 'x': 1,\n", + " 'xanchor': 'right',\n", + " 'y': 1.0416666666666667,\n", + " 'yanchor': 'bottom'},\n", + " 'margin': {'b': 30, 'l': 30, 'r': 30, 't': 30},\n", + " 'shapes': [{'line': {'color': 'gray', 'dash': 'dash'},\n", + " 'type': 'line',\n", + " 'x0': 0.0,\n", + " 'x1': 1.0,\n", + " 'xref': 'paper',\n", + " 'y0': 0,\n", + " 'y1': 0,\n", + " 'yref': 'y2'},\n", + " {'line': {'color': 'gray', 'dash': 'dash'},\n", + " 'type': 'line',\n", + " 'x0': 0.0,\n", + " 'x1': 1.0,\n", + " 'xref': 'paper',\n", + " 'y0': 1,\n", + " 'y1': 1,\n", + " 'yref': 'y3'}],\n", + " 'showlegend': True,\n", + " 'template': '...',\n", + " 'width': 1330,\n", + " 'xaxis': {'anchor': 'y', 'domain': [0.0, 1.0], 'matches': 'x3', 'showticklabels': False},\n", + " 'xaxis2': {'anchor': 'y2', 'domain': [0.0, 1.0], 'matches': 'x3', 'showticklabels': False},\n", + " 'xaxis3': {'anchor': 'y3', 'domain': [0.0, 1.0], 'title': {'text': 'Index'}},\n", + " 'yaxis': {'anchor': 'x', 'domain': [0.6944444444444444, 1.0], 'title': {'text': 'Price'}},\n", + " 'yaxis2': {'anchor': 'x2',\n", + " 'domain': [0.3472222222222222, 0.6527777777777777],\n", + " 'tickformat': '.2%',\n", + " 'title': {'text': 'Trade PnL'}},\n", + " 'yaxis3': {'anchor': 'x3', 'domain': [0.0, 0.3055555555555555], 'title': {'text': 'Cumulative returns'}}}\n", + "})" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pf[(0.0003,0.0018)].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "04b5d810ea734acd8e49fa6c284217b1", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "FigureWidget({\n", + " 'data': [{'line': {'color': '#1f77b4'},\n", + " 'mode': 'lines',\n", + " 'name': 'Close',\n", + " 'showlegend': True,\n", + " 'type': 'scatter',\n", + " 'uid': '4a416164-b099-434c-ac01-f0b90240ffd6',\n", + " 'x': array([datetime.datetime(2024, 4, 22, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 2, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 3, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 4, 29, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'y': array([37.035, 37. , 37.02 , ..., 37.55 , 37.56 , 37.555])},\n", + " {'customdata': array([['0', '0', '0', ..., 0.016588879657086383, 0.00016591649999989116,\n", + " 'Closed'],\n", + " ['1', '2', '1', ..., 0.0165916315663641, 0.0001659164999998406,\n", + " 'Closed'],\n", + " ['2', '4', '2', ..., 0.016594383932179026, 0.00016591650000005292,\n", + " 'Closed'],\n", + " ...,\n", + " ['20', '40', '20', ..., 0.01664400466620748, 0.00016591649999986953,\n", + " 'Closed'],\n", + " ['21', '42', '21', ..., 0.016646765720118292, 0.0001659164999999355,\n", + " 'Closed'],\n", + " ['22', '44', '22', ..., 0.016649527232051348, 0.00016591649999994493,\n", + " 'Closed']], dtype=object),\n", + " 'hovertemplate': ('
Entry Trade Id: %{customda' ... '}\\n
Status: %{customdata[9]}'),\n", + " 'marker': {'color': 'rgba(0, 0, 0, 0)',\n", + " 'line': {'color': '#37B13F', 'width': 2},\n", + " 'size': 15,\n", + " 'symbol': 'circle'},\n", + " 'mode': 'markers',\n", + " 'name': 'Long Entry',\n", + " 'type': 'scatter',\n", + " 'uid': 'e2e9c1a3-8645-4cf5-900e-e0f7a24ba639',\n", + " 'x': array([datetime.datetime(2024, 4, 22, 10, 54, 51, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 11, 16, 29, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 12, 53, 39, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 13, 15, 25, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 14, 39, 39, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 9, 31, 49, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 10, 8, 34, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 10, 23, 7, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 11, 1, 10, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 12, 17, 49, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 13, 52, 28, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 15, 1, 22, tzinfo=),\n", + " datetime.datetime(2024, 4, 24, 9, 38, 34, tzinfo=),\n", + " datetime.datetime(2024, 4, 24, 9, 45, 34, tzinfo=),\n", + " datetime.datetime(2024, 4, 24, 14, 49, 44, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 9, 34, 20, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 9, 46, 47, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 0, 14, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 11, 10, 22, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 15, 14, 9, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 31, 54, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 14, 32, 18, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 3, 26, tzinfo=)],\n", + " dtype=object),\n", + " 'y': array([37.29 , 37.27 , 37.6 , 37.69 , 37.825 , 37.84 , 38.1712, 38.16 ,\n", + " 38.26 , 38.315 , 38.34 , 38.205 , 38.18 , 38.185 , 38.37 , 38.03 ,\n", + " 37.825 , 37.7 , 37.645 , 37.9415, 37.81 , 37.63 , 37.48 ])},\n", + " {'customdata': array([['0', '1', '0', ..., 0.016588879657086383, 0.00016591649999989116,\n", + " 'Closed'],\n", + " ['1', '3', '1', ..., 0.0165916315663641, 0.0001659164999998406,\n", + " 'Closed'],\n", + " ['2', '5', '2', ..., 0.016594383932179026, 0.00016591650000005292,\n", + " 'Closed'],\n", + " ...,\n", + " ['20', '41', '20', ..., 0.01664400466620748, 0.00016591649999986953,\n", + " 'Closed'],\n", + " ['21', '43', '21', ..., 0.016646765720118292, 0.0001659164999999355,\n", + " 'Closed'],\n", + " ['22', '45', '22', ..., 0.016649527232051348, 0.00016591649999994493,\n", + " 'Closed']], dtype=object),\n", + " 'hovertemplate': ('
Exit Trade Id: %{customdat' ... '}\\n
Status: %{customdata[9]}'),\n", + " 'marker': {'color': '#37B13F', 'size': 8, 'symbol': 'circle'},\n", + " 'mode': 'markers',\n", + " 'name': 'Long Exit',\n", + " 'type': 'scatter',\n", + " 'uid': 'c88b89c4-6f93-486e-8a02-1404ed716815',\n", + " 'x': array([datetime.datetime(2024, 4, 22, 10, 55, 12, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 11, 16, 54, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 12, 54, 23, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 13, 16, 21, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 14, 40, 21, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 9, 31, 53, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 10, 14, 37, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 10, 24, 1, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 11, 7, 38, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 12, 17, 56, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 13, 55, 50, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 15, 1, 39, tzinfo=),\n", + " datetime.datetime(2024, 4, 24, 9, 38, 35, tzinfo=),\n", + " datetime.datetime(2024, 4, 24, 9, 46, 3, tzinfo=),\n", + " datetime.datetime(2024, 4, 24, 14, 56, 43, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 9, 34, 22, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 9, 46, 53, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 52, 4, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 11, 23, 31, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 15, 17, 30, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 32, 20, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 14, 32, 25, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 3, 56, tzinfo=)],\n", + " dtype=object),\n", + " 'y': array([37.308645 , 37.288635 , 37.6188 , 37.708845 , 37.8439125 ,\n", + " 37.85892 , 38.1902856 , 38.17908 , 38.27913 , 38.3341575 ,\n", + " 38.35917 , 38.2241025 , 38.19909 , 38.2040925 , 38.389185 ,\n", + " 38.049015 , 37.8439125 , 37.71885 , 37.6638225 , 37.96047075,\n", + " 37.828905 , 37.648815 , 37.49874 ])}],\n", + " 'layout': {'height': 350,\n", + " 'legend': {'orientation': 'h',\n", + " 'traceorder': 'normal',\n", + " 'x': 1,\n", + " 'xanchor': 'right',\n", + " 'y': 1.02,\n", + " 'yanchor': 'bottom'},\n", + " 'margin': {'b': 30, 'l': 30, 'r': 30, 't': 30},\n", + " 'shapes': [{'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-22 10:54:51-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-22 10:55:12-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-22 11:16:29-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-22 11:16:54-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-22 12:53:39-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-22 12:54:23-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-22 13:15:25-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-22 13:16:21-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-22 14:39:39-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-22 14:40:21-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-23 09:31:49-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-23 09:31:53-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-23 10:08:34-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-23 10:14:37-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-23 10:23:07-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-23 10:24:01-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-23 11:01:10-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-23 11:07:38-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-23 12:17:49-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-23 12:17:56-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-23 13:52:28-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-23 13:55:50-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-23 15:01:22-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-23 15:01:39-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-24 09:38:34-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-24 09:38:35-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-24 09:45:34-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-24 09:46:03-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-24 14:49:44-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-24 14:56:43-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-25 09:34:20-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-25 09:34:22-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-25 09:46:47-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-25 09:46:53-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-25 10:00:14-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-25 10:52:04-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-25 11:10:22-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-25 11:23:31-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-25 15:14:09-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-25 15:17:30-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-29 09:31:54-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-29 09:32:20-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-29 14:32:18-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-29 14:32:25-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'},\n", + " {'fillcolor': '#37B13F',\n", + " 'layer': 'below',\n", + " 'line': {'width': 0},\n", + " 'opacity': 0.15,\n", + " 'type': 'rect',\n", + " 'x0': Timestamp('2024-04-29 15:03:26-0400', tz='US/Eastern'),\n", + " 'x1': Timestamp('2024-04-29 15:03:56-0400', tz='US/Eastern'),\n", + " 'xref': 'x',\n", + " 'y0': 0,\n", + " 'y1': 1,\n", + " 'yref': 'paper'}],\n", + " 'template': '...',\n", + " 'width': 1280}\n", + "})" + ] + }, + "execution_count": 115, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pf[0.03].plot_trade_signals()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# pristup k pf jako multi index" + ] + }, + { + "cell_type": "code", + "execution_count": 149, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/8p/dwqnp65s0s77jdbm4_6z4vp80000gn/T/ipykernel_13317/946856841.py:3: UserWarning:\n", + "\n", + "Object has multiple columns. Aggregated some metrics using . Pass column to select a single column/group.\n", + "\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "
agg_stats
\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)
\n", + "\n" + ], + "text/plain": [ + "Start 2024-04-22 09:30:01-04:00\n", + "End 2024-04-29 15:59:59-04:00\n", + "Period 51 days 07:53:00\n", + "Start Value 100.0\n", + "Min Value 99.929678\n", + " ... \n", + "Expectancy 0.236952\n", + "Sharpe Ratio 1.091921\n", + "Calmar Ratio 37.489139\n", + "Omega Ratio 1.005129\n", + "Sortino Ratio 1.549924\n", + "Name: agg_stats, Length: 29, dtype: object" + ] + }, + "execution_count": 149, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#pf[0.03].plot()\n", + "#pf.order_records\n", + "pf[(0.03)].stats()" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "
Total Return [%]Total TradesWin Rate [%]Expectancy
sl_stoptp_stoprsi_windowsymbol
\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)
\n", + "\n" + ], + "text/plain": [ + " Total Return [%] Total Trades \\\n", + "sl_stop tp_stop rsi_window symbol \n", + "0.0003 0.0003 14 BAC -0.063384 1 \n", + " 0.0008 14 BAC -0.063384 1 \n", + " 0.0013 14 BAC -0.063384 1 \n", + " 0.0018 14 BAC -0.063384 1 \n", + " 0.0023 14 BAC -0.063384 1 \n", + " 0.0028 14 BAC -0.063384 1 \n", + " 0.0033 14 BAC -0.063384 1 \n", + " 0.0038 14 BAC -0.063384 1 \n", + "0.0008 0.0003 14 BAC -0.073829 1 \n", + " 0.0008 14 BAC -0.073829 1 \n", + "\n", + " Win Rate [%] Expectancy \n", + "sl_stop tp_stop rsi_window symbol \n", + "0.0003 0.0003 14 BAC 0.0 -0.063384 \n", + " 0.0008 14 BAC 0.0 -0.063384 \n", + " 0.0013 14 BAC 0.0 -0.063384 \n", + " 0.0018 14 BAC 0.0 -0.063384 \n", + " 0.0023 14 BAC 0.0 -0.063384 \n", + " 0.0028 14 BAC 0.0 -0.063384 \n", + " 0.0033 14 BAC 0.0 -0.063384 \n", + " 0.0038 14 BAC 0.0 -0.063384 \n", + "0.0008 0.0003 14 BAC 0.0 -0.073829 \n", + " 0.0008 14 BAC 0.0 -0.073829 " + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#zgrupovane statistiky\n", + "stats_df = pf.stats([\n", + " 'total_return',\n", + " 'total_trades',\n", + " 'win_rate',\n", + " 'expectancy'\n", + "], agg_func=None)\n", + "stats_df\n", + "\n", + "\n", + "stats_df.nlargest(10, 'Total Return [%]')\n", + "#stats_df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 175, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d80a6c747f404eef96cc265dc7cf5566", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "FigureWidget({\n", + " 'data': [{'legendgroup': '0',\n", + " 'line': {'color': '#1f77b4'},\n", + " 'mode': 'lines',\n", + " 'name': 'Close',\n", + " 'showlegend': True,\n", + " 'type': 'scatter',\n", + " 'uid': '91d1b8b6-43f1-43e4-877f-2776bbf0d549',\n", + " 'x': array([datetime.datetime(2024, 4, 22, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 2, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 3, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 4, 29, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'y': array([37.035, 37. , 37.02 , ..., 37.55 , 37.56 , 37.555]),\n", + " 'yaxis': 'y'},\n", + " {'customdata': array([['0', '2024-04-22 10:54:51-04:00', '2024-04-22 10:54:51-04:00', ...,\n", + " 0.0166972115656705, 'Market', 'None'],\n", + " ['2', '2024-04-22 11:16:29-04:00', '2024-04-22 11:16:29-04:00', ...,\n", + " 0.0167133347545132, 'Market', 'None'],\n", + " ['4', '2024-04-22 12:53:39-04:00', '2024-04-22 12:53:39-04:00', ...,\n", + " 0.01672947351224252, 'Market', 'None'],\n", + " ...,\n", + " ['54', '2024-04-29 09:31:54-04:00', '2024-04-29 09:31:54-04:00', ...,\n", + " 0.016771870154130397, 'Market', 'None'],\n", + " ['56', '2024-04-29 14:32:18-04:00', '2024-04-29 14:32:18-04:00', ...,\n", + " 0.016788065434923283, 'Market', 'None'],\n", + " ['58', '2024-04-29 15:03:26-04:00', '2024-04-29 15:03:26-04:00', ...,\n", + " 0.01680427635420756, 'Market', 'None']], dtype=object),\n", + " 'hovertemplate': ('
Order Id: %{customdata[0]}' ... 'br>Stop Type: %{customdata[8]}'),\n", + " 'marker': {'color': '#37B13F',\n", + " 'line': {'color': 'rgb(38,123,44)', 'width': 1},\n", + " 'size': 8,\n", + " 'symbol': 'triangle-up'},\n", + " 'mode': 'markers',\n", + " 'name': 'Buy',\n", + " 'type': 'scatter',\n", + " 'uid': '48174781-769a-4b07-8878-89b2dd1b6633',\n", + " 'x': array([datetime.datetime(2024, 4, 22, 10, 54, 51, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 11, 16, 29, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 12, 53, 39, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 13, 15, 25, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 14, 39, 39, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 9, 31, 49, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 10, 8, 34, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 10, 10, 1, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 10, 23, 7, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 11, 1, 10, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 12, 17, 49, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 13, 52, 28, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 15, 1, 22, tzinfo=),\n", + " datetime.datetime(2024, 4, 24, 9, 38, 34, tzinfo=),\n", + " datetime.datetime(2024, 4, 24, 9, 45, 34, tzinfo=),\n", + " datetime.datetime(2024, 4, 24, 14, 49, 44, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 9, 34, 20, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 9, 46, 47, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 0, 14, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 2, 38, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 11, 53, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 14, 57, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 17, 50, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 26, 37, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 43, 55, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 11, 10, 22, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 15, 14, 9, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 31, 54, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 14, 32, 18, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 3, 26, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'y': array([37.29 , 37.27 , 37.6 , 37.69 , 37.825 , 37.84 , 38.1712, 38.09 ,\n", + " 38.16 , 38.26 , 38.315 , 38.34 , 38.205 , 38.18 , 38.185 , 38.37 ,\n", + " 38.03 , 37.825 , 37.7 , 37.5709, 37.485 , 37.48 , 37.3803, 37.515 ,\n", + " 37.625 , 37.645 , 37.9415, 37.81 , 37.63 , 37.48 ]),\n", + " 'yaxis': 'y'},\n", + " {'customdata': array([['1', '2024-04-22 10:54:51-04:00', '2024-04-22 11:04:20-04:00', ...,\n", + " 0.016718917940703903, 'Market', 'TP'],\n", + " ['3', '2024-04-22 11:16:29-04:00', '2024-04-22 11:17:18-04:00', ...,\n", + " 0.016735062089684657, 'Market', 'TP'],\n", + " ['5', '2024-04-22 12:53:39-04:00', '2024-04-22 12:57:27-04:00', ...,\n", + " 0.01675122182780505, 'Market', 'TP'],\n", + " ...,\n", + " ['55', '2024-04-29 09:31:54-04:00', '2024-04-29 09:33:56-04:00', ...,\n", + " 0.016793673585330588, 'Market', 'TP'],\n", + " ['57', '2024-04-29 14:32:18-04:00', '2024-04-29 14:41:17-04:00', ...,\n", + " 0.0168098899199796, 'Market', 'TP'],\n", + " ['59', '2024-04-29 15:03:26-04:00', '2024-04-29 15:19:04-04:00', ...,\n", + " 0.016826121913472287, 'Market', 'TP']], dtype=object),\n", + " 'hovertemplate': ('
Order Id: %{customdata[0]}' ... 'br>Stop Type: %{customdata[8]}'),\n", + " 'marker': {'color': '#EA4335',\n", + " 'line': {'color': 'rgb(181,31,18)', 'width': 1},\n", + " 'size': 8,\n", + " 'symbol': 'triangle-down'},\n", + " 'mode': 'markers',\n", + " 'name': 'Sell',\n", + " 'type': 'scatter',\n", + " 'uid': 'be35b224-9811-4bd1-b32a-6f1d18dc1250',\n", + " 'x': array([datetime.datetime(2024, 4, 22, 11, 4, 20, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 11, 17, 18, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 12, 57, 27, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 13, 27, 43, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 14, 48, 2, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 9, 32, 40, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 10, 9, 48, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 10, 10, 54, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 10, 26, 49, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 11, 8, 47, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 12, 20, 39, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 14, 3, 20, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 15, 5, 18, tzinfo=),\n", + " datetime.datetime(2024, 4, 24, 9, 38, 53, tzinfo=),\n", + " datetime.datetime(2024, 4, 24, 9, 46, 24, tzinfo=),\n", + " datetime.datetime(2024, 4, 24, 14, 57, 22, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 9, 34, 34, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 9, 48, 57, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 1, 4, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 8, 20, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 13, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 15, 11, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 18, 22, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 27, 2, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 44, 47, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 11, 16, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 15, 18, 50, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 33, 56, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 14, 41, 17, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 19, 4, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'y': array([37.338477 , 37.318451 , 37.64888 , 37.738997 , 37.7833925 ,\n", + " 37.889192 , 38.12921168, 38.139517 , 38.209608 , 38.217914 ,\n", + " 38.3648095 , 38.297826 , 38.2546665 , 38.229634 , 38.2346405 ,\n", + " 38.419881 , 37.988167 , 37.7833925 , 37.65853 , 37.61974217,\n", + " 37.5337305 , 37.438772 , 37.42889439, 37.5637695 , 37.6739125 ,\n", + " 37.6035905 , 37.99082395, 37.859153 , 37.678919 , 37.528724 ]),\n", + " 'yaxis': 'y'},\n", + " {'customdata': array([['0', '0', '2024-04-22 11:04:20-04:00', 0.0965621641185983,\n", + " 0.0009657829000000611],\n", + " ['1', '1', '2024-04-22 11:17:18-04:00', 0.09665540663398044,\n", + " 0.000965782899999956],\n", + " ['2', '2', '2024-04-22 12:57:27-04:00', 0.09674873918637963,\n", + " 0.0009657829000001136],\n", + " ['3', '3', '2024-04-22 13:27:43-04:00', 0.09684216186269139,\n", + " 0.0009657829000000728],\n", + " ['5', '5', '2024-04-23 09:32:40-04:00', 0.09679671000658795,\n", + " 0.0009657829000002581],\n", + " ['7', '7', '2024-04-23 10:10:54-04:00', 0.09675127948279558,\n", + " 0.0009657829000000201],\n", + " ['8', '8', '2024-04-23 10:26:49-04:00', 0.09684470461208111,\n", + " 0.0009657829000000651],\n", + " ['10', '10', '2024-04-23 12:20:39-04:00', 0.09679925156252513,\n", + " 0.0009657828999998539],\n", + " ['12', '12', '2024-04-23 15:05:18-04:00', 0.096753819845908,\n", + " 0.0009657828999998956],\n", + " ['13', '13', '2024-04-24 09:38:53-04:00', 0.09684724742822723,\n", + " 0.0009657828999999816],\n", + " ['14', '14', '2024-04-24 09:46:24-04:00', 0.09694076522624667,\n", + " 0.0009657829000001159],\n", + " ['15', '15', '2024-04-24 14:57:22-04:00', 0.09703437332705928,\n", + " 0.0009657829000000858],\n", + " ['19', '19', '2024-04-25 10:08:20-04:00', 0.09671094868968587,\n", + " 0.0009657828999998541],\n", + " ['20', '20', '2024-04-25 10:13:15-04:00', 0.09680433487471309,\n", + " 0.0009657829000001819],\n", + " ['22', '22', '2024-04-25 10:18:22-04:00', 0.09675890077229216,\n", + " 0.0009657829000001794],\n", + " ['23', '23', '2024-04-25 10:27:02-04:00', 0.09685233326085849,\n", + " 0.0009657829000002116],\n", + " ['24', '24', '2024-04-25 10:44:47-04:00', 0.09694585596983278,\n", + " 0.0009657828999999949],\n", + " ['26', '26', '2024-04-25 15:18:50-04:00', 0.09690035544596631,\n", + " 0.0009657829000000003],\n", + " ['27', '27', '2024-04-29 09:33:56-04:00', 0.09699392452624066,\n", + " 0.0009657829000001706],\n", + " ['28', '28', '2024-04-29 14:41:17-04:00', 0.09708758395881407,\n", + " 0.0009657829000000442],\n", + " ['29', '29', '2024-04-29 15:19:04-04:00', 0.09718133383096987,\n", + " 0.0009657828999999915]], dtype=object),\n", + " 'hovertemplate': ('
Exit Trade Id: %{customdat' ... 'br>Return: %{customdata[4]:,%}'),\n", + " 'marker': {'color': '#37B13F',\n", + " 'line': {'color': 'rgb(38,123,44)', 'width': 1},\n", + " 'opacity': array([0.75, 0.75, 0.75, 0.75, 0.75, 0.75, 0.75, 0.75, 0.75, 0.75, 0.75, 0.75,\n", + " 0.75, 0.75, 0.75, 0.75, 0.75, 0.75, 0.75, 0.75, 0.75]),\n", + " 'size': array([7., 7., 7., 7., 7., 7., 7., 7., 7., 7., 7., 7., 7., 7., 7., 7., 7., 7.,\n", + " 7., 7., 7.]),\n", + " 'symbol': 'circle'},\n", + " 'mode': 'markers',\n", + " 'name': 'Closed - Profit',\n", + " 'type': 'scatter',\n", + " 'uid': 'db4362be-0e85-4815-b3f9-994e0527dfe0',\n", + " 'x': array([datetime.datetime(2024, 4, 22, 11, 4, 20, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 11, 17, 18, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 12, 57, 27, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 13, 27, 43, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 9, 32, 40, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 10, 10, 54, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 10, 26, 49, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 12, 20, 39, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 15, 5, 18, tzinfo=),\n", + " datetime.datetime(2024, 4, 24, 9, 38, 53, tzinfo=),\n", + " datetime.datetime(2024, 4, 24, 9, 46, 24, tzinfo=),\n", + " datetime.datetime(2024, 4, 24, 14, 57, 22, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 8, 20, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 13, 15, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 18, 22, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 27, 2, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 44, 47, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 15, 18, 50, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 9, 33, 56, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 14, 41, 17, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 19, 4, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x2',\n", + " 'y': array([0.00096578, 0.00096578, 0.00096578, 0.00096578, 0.00096578, 0.00096578,\n", + " 0.00096578, 0.00096578, 0.00096578, 0.00096578, 0.00096578, 0.00096578,\n", + " 0.00096578, 0.00096578, 0.00096578, 0.00096578, 0.00096578, 0.00096578,\n", + " 0.00096578, 0.00096578, 0.00096578]),\n", + " 'yaxis': 'y2'},\n", + " {'customdata': array([['4', '4', '2024-04-22 14:48:02-04:00', -0.14391220895295487,\n", + " -0.0014338163000000269],\n", + " ['6', '6', '2024-04-23 10:09:48-04:00', -0.14384466526236722,\n", + " -0.0014338162999999072],\n", + " ['9', '9', '2024-04-23 11:08:47-04:00', -0.1439159876034234,\n", + " -0.0014338162999998926],\n", + " ['11', '11', '2024-04-23 14:03:20-04:00', -0.14384844213940068,\n", + " -0.0014338163000001218],\n", + " ['16', '16', '2024-04-25 09:34:34-04:00', -0.14419784462951168,\n", + " -0.0014338163000000063],\n", + " ['17', '17', '2024-04-25 09:48:57-04:00', -0.14399112593148128,\n", + " -0.0014338163000000232],\n", + " ['18', '18', '2024-04-25 10:01:04-04:00', -0.1437847035805897,\n", + " -0.0014338162999999403],\n", + " ['21', '21', '2024-04-25 10:15:11-04:00', -0.1438559961909105,\n", + " -0.0014338162999999156],\n", + " ['25', '25', '2024-04-25 11:16:15-04:00', -0.14406630348914104,\n", + " -0.0014338163000000527]], dtype=object),\n", + " 'hovertemplate': ('
Exit Trade Id: %{customdat' ... 'br>Return: %{customdata[4]:,%}'),\n", + " 'marker': {'color': '#EA4335',\n", + " 'line': {'color': 'rgb(181,31,18)', 'width': 1},\n", + " 'opacity': array([0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9]),\n", + " 'size': array([10.39230877, 10.39230877, 10.39230877, 10.39230877, 10.39230877,\n", + " 10.39230877, 10.39230877, 10.39230877, 10.39230877]),\n", + " 'symbol': 'circle'},\n", + " 'mode': 'markers',\n", + " 'name': 'Closed - Loss',\n", + " 'type': 'scatter',\n", + " 'uid': 'd66f760c-d9a6-483e-8bc5-590324e4ba12',\n", + " 'x': array([datetime.datetime(2024, 4, 22, 14, 48, 2, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 10, 9, 48, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 11, 8, 47, tzinfo=),\n", + " datetime.datetime(2024, 4, 23, 14, 3, 20, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 9, 34, 34, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 9, 48, 57, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 1, 4, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 10, 15, 11, tzinfo=),\n", + " datetime.datetime(2024, 4, 25, 11, 16, 15, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x2',\n", + " 'y': array([-0.00143382, -0.00143382, -0.00143382, -0.00143382, -0.00143382,\n", + " -0.00143382, -0.00143382, -0.00143382, -0.00143382]),\n", + " 'yaxis': 'y2'},\n", + " {'legendgroup': '1',\n", + " 'line': {'color': '#7f7f7f'},\n", + " 'mode': 'lines',\n", + " 'name': 'Benchmark',\n", + " 'showlegend': True,\n", + " 'type': 'scatter',\n", + " 'uid': 'f94aaadc-3289-426e-897d-0a07f968757e',\n", + " 'x': array([datetime.datetime(2024, 4, 22, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 2, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 3, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 4, 29, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1. , 0.99905495, 0.99959498, ..., 1.01390576, 1.01417578,\n", + " 1.01404077]),\n", + " 'yaxis': 'y3'},\n", + " {'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': '4a75396b-0adc-4388-8577-c0ad577b984a',\n", + " 'x': array([datetime.datetime(2024, 4, 22, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 2, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 3, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 4, 29, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1, 1, 1, ..., 1, 1, 1]),\n", + " 'yaxis': 'y3'},\n", + " {'connectgaps': False,\n", + " 'fill': 'tonexty',\n", + " 'fillcolor': 'rgba(0, 128, 0, 0.25)',\n", + " 'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': '6b373a16-4020-4005-99fb-0a9521728f44',\n", + " 'x': array([datetime.datetime(2024, 4, 22, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 2, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 3, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 4, 29, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1. , 1. , 1. , ..., 1.00738395, 1.00738395,\n", + " 1.00738395]),\n", + " 'yaxis': 'y3'},\n", + " {'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': 'b9cd5a14-5c76-44c1-90ef-6ebb8c583c0e',\n", + " 'x': array([datetime.datetime(2024, 4, 22, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 2, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 3, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 4, 29, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1, 1, 1, ..., 1, 1, 1]),\n", + " 'yaxis': 'y3'},\n", + " {'connectgaps': False,\n", + " 'fill': 'tonexty',\n", + " 'fillcolor': 'rgba(255, 0, 0, 0.25)',\n", + " 'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': 'ad0d8087-0e05-4427-9c21-7a254949c9d9',\n", + " 'x': array([datetime.datetime(2024, 4, 22, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 2, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 3, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 4, 29, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1., 1., 1., ..., 1., 1., 1.]),\n", + " 'yaxis': 'y3'},\n", + " {'legendgroup': '2',\n", + " 'line': {'color': '#9467bd'},\n", + " 'mode': 'lines',\n", + " 'name': 'Value',\n", + " 'showlegend': True,\n", + " 'type': 'scatter',\n", + " 'uid': 'a4db881f-4589-4cdc-921d-f9c580fabe3a',\n", + " 'x': array([datetime.datetime(2024, 4, 22, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 2, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 3, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 4, 29, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1. , 1. , 1. , ..., 1.00738395, 1.00738395,\n", + " 1.00738395]),\n", + " 'yaxis': 'y3'},\n", + " {'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0.0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': 'b651633d-d937-4aa2-8129-1450a65fa253',\n", + " 'x': array([datetime.datetime(2024, 4, 22, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 2, tzinfo=),\n", + " datetime.datetime(2024, 4, 22, 9, 30, 3, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 4, 29, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 4, 29, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1, 1, 1, ..., 1, 1, 1]),\n", + " 'yaxis': 'y3'}],\n", + " 'layout': {'annotations': [{'font': {'size': 16},\n", + " 'showarrow': False,\n", + " 'text': 'Orders',\n", + " 'x': 0.5,\n", + " 'xanchor': 'center',\n", + " 'xref': 'paper',\n", + " 'y': 1.0,\n", + " 'yanchor': 'bottom',\n", + " 'yref': 'paper'},\n", + " {'font': {'size': 16},\n", + " 'showarrow': False,\n", + " 'text': 'Trade PnL',\n", + " 'x': 0.5,\n", + " 'xanchor': 'center',\n", + " 'xref': 'paper',\n", + " 'y': 0.6527777777777777,\n", + " 'yanchor': 'bottom',\n", + " 'yref': 'paper'},\n", + " {'font': {'size': 16},\n", + " 'showarrow': False,\n", + " 'text': 'Cumulative Returns',\n", + " 'x': 0.5,\n", + " 'xanchor': 'center',\n", + " 'xref': 'paper',\n", + " 'y': 0.3055555555555555,\n", + " 'yanchor': 'bottom',\n", + " 'yref': 'paper'}],\n", + " 'height': 960,\n", + " 'legend': {'orientation': 'h',\n", + " 'traceorder': 'normal',\n", + " 'x': 1,\n", + " 'xanchor': 'right',\n", + " 'y': 1.0416666666666667,\n", + " 'yanchor': 'bottom'},\n", + " 'margin': {'b': 30, 'l': 30, 'r': 30, 't': 30},\n", + " 'shapes': [{'line': {'color': 'gray', 'dash': 'dash'},\n", + " 'type': 'line',\n", + " 'x0': 0.0,\n", + " 'x1': 1.0,\n", + " 'xref': 'paper',\n", + " 'y0': 0,\n", + " 'y1': 0,\n", + " 'yref': 'y2'},\n", + " {'line': {'color': 'gray', 'dash': 'dash'},\n", + " 'type': 'line',\n", + " 'x0': 0.0,\n", + " 'x1': 1.0,\n", + " 'xref': 'paper',\n", + " 'y0': 1,\n", + " 'y1': 1,\n", + " 'yref': 'y3'}],\n", + " 'showlegend': True,\n", + " 'template': '...',\n", + " 'width': 1330,\n", + " 'xaxis': {'anchor': 'y', 'domain': [0.0, 1.0], 'matches': 'x3', 'showticklabels': False},\n", + " 'xaxis2': {'anchor': 'y2', 'domain': [0.0, 1.0], 'matches': 'x3', 'showticklabels': False},\n", + " 'xaxis3': {'anchor': 'y3', 'domain': [0.0, 1.0], 'title': {'text': 'Index'}},\n", + " 'yaxis': {'anchor': 'x', 'domain': [0.6944444444444444, 1.0], 'title': {'text': 'Price'}},\n", + " 'yaxis2': {'anchor': 'x2',\n", + " 'domain': [0.3472222222222222, 0.6527777777777777],\n", + " 'tickformat': '.2%',\n", + " 'title': {'text': 'Trade PnL'}},\n", + " 'yaxis3': {'anchor': 'x3', 'domain': [0.0, 0.3055555555555555], 'title': {'text': 'Cumulative returns'}}}\n", + "})" + ] + }, + "execution_count": 175, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pf[(0.0011,0.0013000000000000002)].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pandas.tseries.offsets import DateOffset\n", + "\n", + "temp_data = basic_data['2024-4-22']\n", + "temp_data\n", + "res1m = temp_data[[\"Open\", \"High\", \"Low\", \"Close\", \"Volume\"]]\n", + "\n", + "# Define a custom date offset that starts at 9:30 AM and spans 4 hours\n", + "custom_offset = DateOffset(hours=4, minutes=30)\n", + "\n", + "# res1m = res1m.get().resample(\"4H\").agg({ \n", + "# \"Open\": \"first\",\n", + "# \"High\": \"max\",\n", + "# \"Low\": \"min\",\n", + "# \"Close\": \"last\",\n", + "# \"Volume\": \"sum\"\n", + "# })\n", + "\n", + "res4h = res1m.resample(\"1h\", resample_kwargs=dict(origin=\"start\"))\n", + "\n", + "res4h.data\n", + "\n", + "res15m = res1m.resample(\"15T\", resample_kwargs=dict(origin=\"start\"))\n", + "\n", + "res15m.data[\"BAC\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@vbt.njit\n", + "def long_entry_place_func_nb(c, low, close, time_in_ns, rsi14, window_open, window_close):\n", + " market_open_minutes = 570 # 9 hours * 60 minutes + 30 minutes\n", + "\n", + " for out_i in range(len(c.out)):\n", + " i = c.from_i + out_i\n", + "\n", + " current_minutes = vbt.dt_nb.hour_nb(time_in_ns[i]) * 60 + vbt.dt_nb.minute_nb(time_in_ns[i])\n", + " #print(\"current_minutes\", current_minutes)\n", + " # Calculate elapsed minutes since market open at 9:30 AM\n", + " elapsed_from_open = current_minutes - market_open_minutes\n", + " elapsed_from_open = elapsed_from_open if elapsed_from_open >= 0 else 0\n", + " #print( \"elapsed_from_open\", elapsed_from_open)\n", + "\n", + " #elapsed_from_open = elapsed_minutes_from_open_nb(time_in_ns) \n", + " in_window = elapsed_from_open > window_open and elapsed_from_open < window_close\n", + " #print(\"in_window\", in_window)\n", + " # if in_window:\n", + " # print(\"in window\")\n", + "\n", + " if in_window and rsi14[i] > 60: # and low[i, c.col] <= hit_price: # and hour == 9: # (4)!\n", + " return out_i\n", + " return -1\n", + "\n", + "@vbt.njit\n", + "def long_exit_place_func_nb(c, high, close, time_index, tp, sl): # (5)!\n", + " entry_i = c.from_i - c.wait\n", + " entry_price = close[entry_i, c.col]\n", + " hit_price = entry_price * (1 + tp)\n", + " stop_price = entry_price * (1 - sl)\n", + " for out_i in range(len(c.out)):\n", + " i = c.from_i + out_i\n", + " last_bar_of_day = vbt.dt_nb.day_changed_nb(time_index[i], time_index[i + 1])\n", + "\n", + " #print(next_day)\n", + " if last_bar_of_day: #pokud je dalsi next day, tak zavirame posledni\n", + " print(\"ted\",out_i)\n", + " return out_i\n", + " if close[i, c.col] >= hit_price or close[i, c.col] <= stop_price :\n", + " return out_i\n", + " return -1\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.DataFrame(np.random.random(size=(5, 10)), columns=list('abcdefghij'))\n", + "\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df.sum()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/research/strat1/strat1_v1_MULTI.ipynb b/research/strat1/strat1_v1_MULTI.ipynb new file mode 100644 index 0000000..2ee8b94 --- /dev/null +++ b/research/strat1/strat1_v1_MULTI.ipynb @@ -0,0 +1,1639 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Activating profile profile1\n",
+       "
\n" + ], + "text/plain": [ + "Activating profile profile1\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
Profile profile1 loaded successfully.\n",
+       "
\n" + ], + "text/plain": [ + "Profile profile1 loaded successfully.\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
Current values:\n",
+       "{\n",
+       "    'AGG_EXCLUDED_TRADES': ['C', 'O', '4', 'B', '7', 'V', 'P', 'W', 'U', 'Z', 'F'],\n",
+       "    'BT_DELAYS': {\n",
+       "        'trigger_to_strat': 0.02,\n",
+       "        'strat_to_sub': 0.023,\n",
+       "        'sub_to_fill': 0.008,\n",
+       "        'fill_to_not': 0.023,\n",
+       "        'limit_order_offset': 0\n",
+       "    },\n",
+       "    'BT_FILL_CONDITION_BUY_LIMIT': <FillCondition.SLOW: 'slow'>,\n",
+       "    'BT_FILL_CONDITION_SELL_LIMIT': <FillCondition.SLOW: 'slow'>,\n",
+       "    'BT_FILL_CONS_TRADES_REQUIRED': 2,\n",
+       "    'BT_FILL_LOG_SURROUNDING_TRADES': 10,\n",
+       "    'BT_FILL_PRICE_MARKET_ORDER_PREMIUM': 0.005,\n",
+       "    'COUNT_API_REQUESTS': False,\n",
+       "    'GROUP_TRADES_WITH_TIMESTAMP_LESS_THAN': 0.003,\n",
+       "    'ILOG_SAVE_LEVEL_FROM': 1,\n",
+       "    'LIVE_DATA_FEED': 'sip',\n",
+       "    'NORMALIZED_TICK_BASE_PRICE': 30.0,\n",
+       "    'OFFLINE_MODE': False,\n",
+       "    'PROD_SERVER_HOSTNAMES': ['tradingeastcoast', 'David-MacBook-Pro.local'],\n",
+       "    'QUIET_MODE': True,\n",
+       "    'TEST_SERVER_HOSTNAMES': ['tradingtest']\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "Current values:\n", + "\u001b[1m{\u001b[0m\n", + " \u001b[32m'AGG_EXCLUDED_TRADES'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'C'\u001b[0m, \u001b[32m'O'\u001b[0m, \u001b[32m'4'\u001b[0m, \u001b[32m'B'\u001b[0m, \u001b[32m'7'\u001b[0m, \u001b[32m'V'\u001b[0m, \u001b[32m'P'\u001b[0m, \u001b[32m'W'\u001b[0m, \u001b[32m'U'\u001b[0m, \u001b[32m'Z'\u001b[0m, \u001b[32m'F'\u001b[0m\u001b[1m]\u001b[0m,\n", + " \u001b[32m'BT_DELAYS'\u001b[0m: \u001b[1m{\u001b[0m\n", + " \u001b[32m'trigger_to_strat'\u001b[0m: \u001b[1;36m0.02\u001b[0m,\n", + " \u001b[32m'strat_to_sub'\u001b[0m: \u001b[1;36m0.023\u001b[0m,\n", + " \u001b[32m'sub_to_fill'\u001b[0m: \u001b[1;36m0.008\u001b[0m,\n", + " \u001b[32m'fill_to_not'\u001b[0m: \u001b[1;36m0.023\u001b[0m,\n", + " \u001b[32m'limit_order_offset'\u001b[0m: \u001b[1;36m0\u001b[0m\n", + " \u001b[1m}\u001b[0m,\n", + " \u001b[32m'BT_FILL_CONDITION_BUY_LIMIT'\u001b[0m: \u001b[1m<\u001b[0m\u001b[1;95mFillCondition.SLOW:\u001b[0m\u001b[39m \u001b[0m\u001b[32m'slow'\u001b[0m\u001b[39m>,\u001b[0m\n", + "\u001b[39m \u001b[0m\u001b[32m'BT_FILL_CONDITION_SELL_LIMIT'\u001b[0m\u001b[39m: \u001b[0m,\n", + " \u001b[32m'BT_FILL_CONS_TRADES_REQUIRED'\u001b[0m: \u001b[1;36m2\u001b[0m,\n", + " \u001b[32m'BT_FILL_LOG_SURROUNDING_TRADES'\u001b[0m: \u001b[1;36m10\u001b[0m,\n", + " \u001b[32m'BT_FILL_PRICE_MARKET_ORDER_PREMIUM'\u001b[0m: \u001b[1;36m0.005\u001b[0m,\n", + " \u001b[32m'COUNT_API_REQUESTS'\u001b[0m: \u001b[3;91mFalse\u001b[0m,\n", + " \u001b[32m'GROUP_TRADES_WITH_TIMESTAMP_LESS_THAN'\u001b[0m: \u001b[1;36m0.003\u001b[0m,\n", + " \u001b[32m'ILOG_SAVE_LEVEL_FROM'\u001b[0m: \u001b[1;36m1\u001b[0m,\n", + " \u001b[32m'LIVE_DATA_FEED'\u001b[0m: \u001b[32m'sip'\u001b[0m,\n", + " \u001b[32m'NORMALIZED_TICK_BASE_PRICE'\u001b[0m: \u001b[1;36m30.0\u001b[0m,\n", + " \u001b[32m'OFFLINE_MODE'\u001b[0m: \u001b[3;91mFalse\u001b[0m,\n", + " \u001b[32m'PROD_SERVER_HOSTNAMES'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'tradingeastcoast'\u001b[0m, \u001b[32m'David-MacBook-Pro.local'\u001b[0m\u001b[1m]\u001b[0m,\n", + " \u001b[32m'QUIET_MODE'\u001b[0m: \u001b[3;92mTrue\u001b[0m,\n", + " \u001b[32m'TEST_SERVER_HOSTNAMES'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'tradingtest'\u001b[0m\u001b[1m]\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
config_handler.active_profile='profile1'\n",
+       "
\n" + ], + "text/plain": [ + "config_handler.\u001b[33mactive_profile\u001b[0m=\u001b[32m'profile1'\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
config handler initialized\n",
+       "
\n" + ], + "text/plain": [ + "config handler initialized\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Realtime Websocket connection will use FEED: sip and credential of ACCOUNT1\n" + ] + }, + { + "data": { + "text/html": [ + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from v2realbot.tools.loadbatch import load_batch\n", + "from v2realbot.utils.utils import zoneNY\n", + "import pandas as pd\n", + "import numpy as np\n", + "import vectorbtpro as vbt\n", + "from itables import init_notebook_mode, show\n", + "import datetime\n", + "from itertools import product\n", + "\n", + "init_notebook_mode(all_interactive=True)\n", + "\n", + "vbt.settings.set_theme(\"dark\")\n", + "vbt.settings['plotting']['layout']['width'] = 1280\n", + "vbt.settings.plotting.auto_rangebreaks = True\n", + "# Set the option to display with pagination\n", + "pd.set_option('display.notebook_repr_html', True)\n", + "pd.set_option('display.max_rows', 10) # Number of rows per page\n", + "\n", + "# Define the market open and close times\n", + "market_open = datetime.time(9, 30)\n", + "market_close = datetime.time(16, 0)\n", + "entry_window_opens = 1\n", + "entry_window_closes = 370\n", + "\n", + "forced_exit_start = 380\n", + "forced_exit_end = 390\n", + "\n", + "res, df = load_batch(batch_id=\"0fb5043a\", #0fb5043a bde6d0be\n", + " space_resolution_evenly=False,\n", + " indicators_columns=[\"Rsi14\"],\n", + " main_session_only=True,\n", + " verbose = False)\n", + "if res < 0:\n", + " print(\"Error\" + str(res) + str(df))\n", + "df = df[\"bars\"]\n", + "\n", + "#df\n", + "\n", + "basic_data = vbt.Data.from_data(vbt.symbol_dict({\"BAC\": df}), tz_convert=zoneNY)\n", + "#m1_data = basic_data[['Open', 'High', 'Low', 'Close', 'Volume']]\n", + "basic_data = basic_data.transform(lambda df: df.between_time('09:30', '16:00'))\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#parameters (primary y line, secondary y line, close)\n", + "def plot_2y_close(priminds, secinds, close):\n", + " fig = vbt.make_subplots(rows=1, cols=1, shared_xaxes=True, specs=[[{\"secondary_y\": True}]], vertical_spacing=0.02, subplot_titles=(\"MOM\", \"Price\" ))\n", + " close.vbt.plot(fig=fig, add_trace_kwargs=dict(secondary_y=False), trace_kwargs=dict(line=dict(color=\"blue\")))\n", + " for ind in priminds:\n", + " ind.plot(fig=fig, add_trace_kwargs=dict(secondary_y=False))\n", + " for ind in secinds:\n", + " ind.plot(fig=fig, add_trace_kwargs=dict(secondary_y=True))\n", + " return fig\n", + "\n", + "# close = basic_data.xloc[\"09:30\":\"10:00\"].close" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "432df5ba322140efacd83f8f97fbcf51", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " Total Return [%]\n", + " Max Drawdown [%]\n", + " Total Trades\n", + " Win Rate [%]\n", + " Expectancy\n", + " \n", + " \n", + " entry_window_closes\n", + " mom_timeperiod\n", + " mom_th\n", + " sl_stop\n", + " tp_stop\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)\n", + "
\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + " Total Return [%] \\\n", + "entry_window_closes mom_timeperiod mom_th sl_stop tp_stop \n", + "17 9 0.07 0.0043 0.0063 3.167786 \n", + "2 6 0.03 0.0048 0.0063 2.779712 \n", + " 10 0.03 0.0038 0.0063 2.643149 \n", + "8 3 0.07 0.0028 0.0033 2.239084 \n", + "11 3 0.07 0.0033 0.0053 2.202983 \n", + "... ... \n", + "32 11 0.01 0.0003 0.0068 -35.436208 \n", + "47 4 0.01 0.0008 0.0038 -38.02391 \n", + "35 11 0.01 0.0003 0.0033 -38.769788 \n", + " 9 0.01 0.0003 0.0008 -48.84716 \n", + "47 2 0.01 0.0003 0.0063 -53.943508 \n", + "\n", + " Max Drawdown [%] \\\n", + "entry_window_closes mom_timeperiod mom_th sl_stop tp_stop \n", + "17 9 0.07 0.0043 0.0063 2.202921 \n", + "2 6 0.03 0.0048 0.0063 2.321028 \n", + " 10 0.03 0.0038 0.0063 2.285255 \n", + "8 3 0.07 0.0028 0.0033 0.726632 \n", + "11 3 0.07 0.0033 0.0053 0.845649 \n", + "... ... \n", + "32 11 0.01 0.0003 0.0068 35.466976 \n", + "47 4 0.01 0.0008 0.0038 38.350362 \n", + "35 11 0.01 0.0003 0.0033 38.798915 \n", + " 9 0.01 0.0003 0.0008 48.871493 \n", + "47 2 0.01 0.0003 0.0063 53.971448 \n", + "\n", + " Total Trades \\\n", + "entry_window_closes mom_timeperiod mom_th sl_stop tp_stop \n", + "17 9 0.07 0.0043 0.0063 55 \n", + "2 6 0.03 0.0048 0.0063 44 \n", + " 10 0.03 0.0038 0.0063 45 \n", + "8 3 0.07 0.0028 0.0033 16 \n", + "11 3 0.07 0.0033 0.0053 18 \n", + "... ... \n", + "32 11 0.01 0.0003 0.0068 2239 \n", + "47 4 0.01 0.0008 0.0038 1805 \n", + "35 11 0.01 0.0003 0.0033 2406 \n", + " 9 0.01 0.0003 0.0008 2604 \n", + "47 2 0.01 0.0003 0.0063 3624 \n", + "\n", + " Win Rate [%] \\\n", + "entry_window_closes mom_timeperiod mom_th sl_stop tp_stop \n", + "17 9 0.07 0.0043 0.0063 43.636364 \n", + "2 6 0.03 0.0048 0.0063 45.454545 \n", + " 10 0.03 0.0038 0.0063 40.0 \n", + "8 3 0.07 0.0028 0.0033 75.0 \n", + "11 3 0.07 0.0033 0.0053 66.666667 \n", + "... ... \n", + "32 11 0.01 0.0003 0.0068 25.636445 \n", + "47 4 0.01 0.0008 0.0038 28.033241 \n", + "35 11 0.01 0.0003 0.0033 25.103907 \n", + " 9 0.01 0.0003 0.0008 25.076805 \n", + "47 2 0.01 0.0003 0.0063 23.289183 \n", + "\n", + " Expectancy \n", + "entry_window_closes mom_timeperiod mom_th sl_stop tp_stop \n", + "17 9 0.07 0.0043 0.0063 0.057596 \n", + "2 6 0.03 0.0048 0.0063 0.063175 \n", + " 10 0.03 0.0038 0.0063 0.058737 \n", + "8 3 0.07 0.0028 0.0033 0.139943 \n", + "11 3 0.07 0.0033 0.0053 0.122388 \n", + "... ... \n", + "32 11 0.01 0.0003 0.0068 -0.015827 \n", + "47 4 0.01 0.0008 0.0038 -0.021066 \n", + "35 11 0.01 0.0003 0.0033 -0.016114 \n", + " 9 0.01 0.0003 0.0008 -0.018759 \n", + "47 2 0.01 0.0003 0.0063 -0.014885 \n", + "\n", + "[1000 rows x 5 columns]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#PIPELINE - FOR - LOOP\n", + "\n", + "#indicator parameters\n", + "mom_timeperiod = list(range(2, 12))\n", + "\n", + "#uzavreni okna od 1 do 200\n", + "entry_window_closes = list(range(2, 50, 3))\n", + "#entry_window_closes = [3, 7, 15, 29, 45, 50, 70]\n", + "#threshold entries parameters\n", + "#long\n", + "mom_th = np.round(np.arange(0.01, 0.5 + 0.02, 0.02),4).tolist()#-0.02\n", + "# short mom_th = np.round(np.arange(-0.01, -0.3 - 0.02, -0.02),4).tolist()#-0.02\n", + "roc_th = np.round(np.arange(-0.2, -0.8 - 0.05, -0.05),4).tolist()#-0.2\n", + "#print(mom_th, roc_th)\n", + "\n", + "#portfolio simulation parameters\n", + "sl_stop =np.round(np.arange(0.03/100, 0.7/100, 0.05/100),4).tolist()\n", + "tp_stop = np.round(np.arange(0.03/100, 0.7/100, 0.05/100),4).tolist()\n", + "\n", + "combs = list(product(mom_timeperiod, mom_th, roc_th, sl_stop, tp_stop))\n", + "\n", + "@vbt.parameterized(merge_func = \"concat\", random_subset = 1000, show_progress=True) \n", + "def test_strat(entry_window_closes=60,\n", + " mom_timeperiod=2,\n", + " mom_th=-0.04,\n", + " #roc_th=-0.2,\n", + " sl_stop=0.19/100,\n", + " tp_stop=0.19/100):\n", + " # mom_timeperiod=2\n", + " # mom_th=-0.06\n", + " # roc_th=-0.2\n", + " # sl_stop=0.04/100\n", + " # tp_stop=0.04/100\n", + "\n", + " momshort = vbt.indicator(\"talib:MOM\").run(basic_data.close, timeperiod=mom_timeperiod, short_name = \"slope_short\")\n", + " rocp = vbt.indicator(\"talib:ROC\").run(basic_data.close, short_name = \"rocp\")\n", + " #rate of change + momentum\n", + "\n", + " #momshort.plot rocp.real_crossed_below(roc_th) & \n", + " short_signal = momshort.real_crossed_below(mom_th)\n", + " long_signal = momshort.real_crossed_above(mom_th)\n", + " # print(\"short signal\")\n", + " # print(short_signal.value_counts())\n", + "\n", + " #forced_exit = pd.Series(False, index=close.index)\n", + " forced_exit = basic_data.symbol_wrapper.fill(False)\n", + " #entry_window_open = pd.Series(False, index=close.index)\n", + " entry_window_open= basic_data.symbol_wrapper.fill(False)\n", + "\n", + " #print(entry_window_closes, \"entry window closes\")\n", + " # Calculate the time difference in minutes from market open for each timestamp\n", + " elapsed_min_from_open = (forced_exit.index.hour - market_open.hour) * 60 + (forced_exit.index.minute - market_open.minute)\n", + "\n", + " entry_window_open[(elapsed_min_from_open >= entry_window_opens) & (elapsed_min_from_open < entry_window_closes)] = True\n", + "\n", + " #print(entry_window_open.value_counts())\n", + "\n", + " forced_exit[(elapsed_min_from_open >= forced_exit_start) & (elapsed_min_from_open < forced_exit_end)] = True\n", + " short_entries = (short_signal & entry_window_open)\n", + " short_exits = forced_exit\n", + " entries = (long_signal & entry_window_open)\n", + " exits = forced_exit\n", + " #long_entries.info()\n", + " #number of trues and falses in long_entries\n", + " # print(short_exits.value_counts())\n", + " # print(short_entries.value_counts())\n", + "\n", + " #fig = plot_2y_close([],[momshort, rocp], close)\n", + " #short_signal.vbt.signals.plot_as_entries(close, fig=fig, add_trace_kwargs=dict(secondary_y=False))\n", + " #print(sl_stop)\n", + " #tsl_th=sl_stop, \n", + " #short_entries=short_entries, short_exits=short_exits,\n", + " pf = vbt.Portfolio.from_signals(close=basic_data.close, entries=entries, exits=exits, tsl_stop=sl_stop, tp_stop = tp_stop, fees=0.0167/100, freq=\"1s\", price=\"nextopen\") #sl_stop=sl_stop, tp_stop = sl_stop,\n", + " \n", + " return pf.stats([\n", + " 'total_return',\n", + " 'max_dd', \n", + " 'total_trades', \n", + " 'win_rate', \n", + " 'expectancy'\n", + " ])\n", + "\n", + "pf_results = test_strat(vbt.Param(entry_window_closes),\n", + " vbt.Param(mom_timeperiod),\n", + " vbt.Param(mom_th),\n", + " #vbt.Param(roc_th)\n", + " vbt.Param(sl_stop),\n", + " vbt.Param(tp_stop, condition=\"tp_stop > sl_stop\"))\n", + "pf_results = pf_results.unstack(level=-1)\n", + "pf_results.sort_values(by=[\"Total Return [%]\", \"Max Drawdown [%]\"], ascending=[False, True])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "PosixPath('8tiscomb_tsl.pickle')" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#pf_results.load(\"10tiscomb.pickle\")\n", + "#pf_results.info()\n", + "\n", + "vbt.save(pf_results, \"8tiscomb_tsl.pickle\")\n", + "\n", + "# pf_results = vbt.load(\"8tiscomb_tsl.pickle\")\n", + "# pf_results\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'PXDFAccessor' object has no attribute 'pairplot'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[13], line 12\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# parallel_coordinates method¶\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \n\u001b[1;32m 3\u001b[0m \u001b[38;5;66;03m# attach_px_methods..plot_func(\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 8\u001b[0m \n\u001b[1;32m 9\u001b[0m \u001b[38;5;66;03m# pf_results.vbt.px.parallel_coordinates() #ocdf\u001b[39;00m\n\u001b[1;32m 11\u001b[0m res \u001b[38;5;241m=\u001b[39m pf_results\u001b[38;5;241m.\u001b[39mreset_index()\n\u001b[0;32m---> 12\u001b[0m \u001b[43mres\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mvbt\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpx\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpairplot\u001b[49m()\n", + "\u001b[0;31mAttributeError\u001b[0m: 'PXDFAccessor' object has no attribute 'pairplot'" + ] + } + ], + "source": [ + "# parallel_coordinates method¶\n", + "\n", + "# attach_px_methods..plot_func(\n", + "# *args,\n", + "# layout=None,\n", + "# **kwargs\n", + "# )\n", + "\n", + "# pf_results.vbt.px.parallel_coordinates() #ocdf\n", + "\n", + "res = pf_results.reset_index()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "
entry_window_closesmom_timeperiodmom_thsl_stoptp_stopTotal Return [%]Max Drawdown [%]Total TradesWin Rate [%]Expectancy
\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)
\n", + "\n" + ], + "text/plain": [ + " entry_window_closes mom_timeperiod mom_th sl_stop tp_stop \\\n", + "0 3 2 -0.31 0.0003 0.0018 \n", + "1 3 2 -0.31 0.0003 0.0068 \n", + "2 3 2 -0.31 0.0013 0.0028 \n", + "3 3 2 -0.31 0.0013 0.0058 \n", + "4 3 2 -0.31 0.0018 0.0038 \n", + "... ... ... ... ... ... \n", + "7995 70 11 -0.01 0.0003 0.0018 \n", + "7996 70 11 -0.01 0.0003 0.0038 \n", + "7997 70 11 -0.01 0.0028 0.0038 \n", + "7998 70 11 -0.01 0.0033 0.0053 \n", + "7999 70 11 -0.01 0.0038 0.0053 \n", + "\n", + " Total Return [%] Max Drawdown [%] Total Trades Win Rate [%] Expectancy \n", + "0 0.0 NaN 0 NaN NaN \n", + "1 0.0 NaN 0 NaN NaN \n", + "2 0.0 NaN 0 NaN NaN \n", + "3 0.0 NaN 0 NaN NaN \n", + "4 0.0 NaN 0 NaN NaN \n", + "... ... ... ... ... ... \n", + "7995 -60.724025 60.747552 4025 23.701863 -0.015087 \n", + "7996 -59.557376 59.581603 4017 23.749066 -0.014826 \n", + "7997 -13.574229 16.599702 451 33.259424 -0.030098 \n", + "7998 -9.970892 14.327723 338 34.023669 -0.0295 \n", + "7999 -7.135743 12.027996 280 34.642857 -0.025485 \n", + "\n", + "[8000 rows x 10 columns]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pf_results" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/8p/dwqnp65s0s77jdbm4_6z4vp80000gn/T/ipykernel_3935/927237224.py:13: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\n", + "The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\n", + "\n", + "For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\n", + "\n", + "\n", + " pf_results['Max Drawdown [%]'].fillna(pf_results['Max Drawdown [%]'].median(), inplace=True)\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "from sklearn.decomposition import PCA\n", + "from sklearn.preprocessing import StandardScaler\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Assuming pf_results is your DataFrame\n", + "# Convert columns to numeric, assuming NaNs where conversion fails\n", + "metrics = ['Total Return [%]', 'Max Drawdown [%]', 'Total Trades']\n", + "for metric in metrics:\n", + " pf_results[metric] = pd.to_numeric(pf_results[metric], errors='coerce')\n", + "\n", + "# Handle missing values, for example filling with the median\n", + "pf_results['Max Drawdown [%]'].fillna(pf_results['Max Drawdown [%]'].median(), inplace=True)\n", + "\n", + "# Extract the metrics into a new DataFrame\n", + "data_for_pca = pf_results[metrics]\n", + "\n", + "# Standardize the data before applying PCA\n", + "scaler = StandardScaler()\n", + "data_scaled = scaler.fit_transform(data_for_pca)\n", + "\n", + "# Apply PCA\n", + "pca = PCA(n_components=2) # Adjust components as needed\n", + "principal_components = pca.fit_transform(data_scaled)\n", + "\n", + "# Create a DataFrame with the principal components\n", + "pca_results = pd.DataFrame(data=principal_components, columns=['PC1', 'PC2'])\n", + "\n", + "# Visualize the results\n", + "plt.figure(figsize=(8,6))\n", + "plt.scatter(pca_results['PC1'], pca_results['PC2'], alpha=0.5)\n", + "plt.xlabel('Principal Component 1')\n", + "plt.ylabel('Principal Component 2')\n", + "plt.title('PCA of Strategy Optimization Results')\n", + "plt.grid(True)\n", + "plt.savefig(\"ddd.png\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Check if there is any unnamed level and rename it\n", + "if None in df.index.names:\n", + " # Generate new names list replacing None with 'stat'\n", + " new_names = ['stat' if name is None else name for name in df.index.names]\n", + " df.index.set_names(new_names, inplace=True)\n", + "\n", + "rs= df\n", + "\n", + "rs.info()\n", + "\n", + "\n", + "# # Now, 'stat' is the name of the previously unnamed level\n", + "\n", + "# # Filter for 'Total Return' assuming it is a correct identifier in the 'stat' level\n", + "# total_return_series = df.xs('Total Return [%]', level='stat')\n", + "\n", + "# # Sort the Series to get the largest 'Total Return' values\n", + "# sorted_series = total_return_series.sort_values(ascending=False)\n", + "\n", + "# # Print the sorted filtered data\n", + "# sorted_series.head(20)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sorted_series.vbt.save()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#df.info()\n", + "total_return_series = df.xs('Total Return [%]')\n", + "sorted_series = total_return_series.sort_values(ascending=False)\n", + "\n", + "# Display the top N entries, e.g., top 5\n", + "sorted_series.head(5)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "comb_stats_df.nlargest(10, 'Total Return [%]')\n", + "#stats_df.info()\n", + "\n", + "\n", + "8\t-0.06\t-0.2\t0.0028\t0.0048\t4.156254\n", + "4 -0.02 -0.25 0.0028 0.0048 0.84433\n", + "3 -0.02 -0.25 0.0033 0.0023 Total Return [%] 0.846753\n", + "#2\t-0.04\t-0.2\t0.0019\t0.0019\n", + "# 2\t-0.04\t-0.2\t0.0019\t0.0019\t0.556919\t91\t60.43956\t0.00612\n", + "# 2\t-0.04\t-0.25\t0.0019\t0.0019\t0.556919\t91\t60.43956\t0.00612\n", + "# 2\t-0.04\t-0.3\t0.0019\t0.0019\t0.556919\t91\t60.43956\t0.00612\n", + "# 2\t-0.04\t-0.35\t0.0019\t0.0019\t0.556919\t91\t60.43956\t0.00612\n", + "# 2\t-0.04\t-0.4\t0.0019\t0.0019\t0.556919\t91\t60.43956\t0.00612\n", + "# 2\t-0.04\t-0.2\t0.0019\t0.0017\t0.451338\t93\t63.44086\t0.004853\n", + "# 2\t-0.04\t-0.25\t0.0019\t0.0017\t0.451338\t93\t63.44086\t0.004853\n", + "# 2\t-0.04\t-0.3\t0.0019\t0.0017\t0.451338\t93\t63.44086\t0.004853\n", + "# 2\t-0.04\t-0.35\t0.0019\t0.0017\t0.451338\t93\t63.44086\t0.004853\n", + "# 2\t-0.04\t-0.4\t0.0019\t0.0017\t0.451338\t93\t63.44086\t0.004853" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pf.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "basic_data.symbols" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + ">>> def apply_func(ts, entries, exits, fastw, sloww, minp=None):\n", + "... fast_ma = vbt.nb.rolling_mean_nb(ts, fastw, minp=minp)\n", + "... slow_ma = vbt.nb.rolling_mean_nb(ts, sloww, minp=minp)\n", + "... entries[:] = vbt.nb.crossed_above_nb(fast_ma, slow_ma) \n", + "... exits[:] = vbt.nb.crossed_above_nb(slow_ma, fast_ma)\n", + "... return (fast_ma, slow_ma) \n", + "\n", + ">>> CrossSig = vbt.IF(\n", + "... class_name=\"CrossSig\",\n", + "... input_names=['ts'],\n", + "... in_output_names=['entries', 'exits'],\n", + "... param_names=['fastw', 'sloww'],\n", + "... output_names=['fast_ma', 'slow_ma']\n", + "... ).with_apply_func(\n", + "... apply_func,\n", + "... in_output_settings=dict(\n", + "... entries=dict(dtype=np.bool_), #initialize output with bool\n", + "... exits=dict(dtype=np.bool_)\n", + "... )\n", + "... )\n", + ">>> cross_sig = CrossSig.run(ts2, 2, 4)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#PIPELINE - parameters in one go\n", + "\n", + "\n", + "#TOTO prepsat do FOR-LOOPu\n", + "\n", + "\n", + "#indicator parameters\n", + "mom_timeperiod = list(range(2, 6))\n", + "\n", + "#threshold entries parameters\n", + "mom_th = np.round(np.arange(-0.02, -0.1 - 0.02, -0.02),4).tolist()#-0.02\n", + "roc_th = np.round(np.arange(-0.2, -0.4 - 0.05, -0.05),4).tolist()#-0.2\n", + "#print(mom_th, roc_th)\n", + "#jejich product\n", + "# mom_th_prod, roc_th_prod = zip(*product(mom_th, roc_th))\n", + "\n", + "# #convert threshold to vbt param\n", + "# mom_th_index = vbt.Param(mom_th_prod, name='mom_th_th') \n", + "# roc_th_index = vbt.Param(roc_th_prod, name='roc_th_th')\n", + "\n", + "mom_th = vbt.Param(mom_th, name='mom_th')\n", + "roc_th = vbt.Param(roc_th, name='roc_th')\n", + "\n", + "#portfolio simulation parameters\n", + "sl_stop = np.arange(0.03/100, 0.2/100, 0.02/100).tolist()\n", + "# Using the round function\n", + "sl_stop = [round(val, 4) for val in sl_stop]\n", + "tp_stop = np.arange(0.03/100, 0.2/100, 0.02/100).tolist()\n", + "# Using the round function\n", + "tp_stop = [round(val, 4) for val in tp_stop]\n", + "sl_stop = vbt.Param(sl_stop) #np.nan mean s no stoploss\n", + "tp_stop = vbt.Param(tp_stop) #np.nan mean s no stoploss\n", + "\n", + "\n", + "#def test_mom(window=14, mom_th=0.2, roc_th=0.2, sl_stop=0.03/100, tp_stop=0.03/100):\n", + "#close = basic_data.xloc[\"09:30\":\"10:00\"].close\n", + "momshort = vbt.indicator(\"talib:MOM\").run(basic_data.get(\"Close\"), timeperiod=mom_timeperiod, short_name = \"slope_short\")\n", + "\n", + "#ht_trendline = vbt.indicator(\"talib:HT_TRENDLINE\").run(close, short_name = \"httrendline\")\n", + "rocp = vbt.indicator(\"talib:ROC\").run(basic_data.get(\"Close\"), short_name = \"rocp\")\n", + "#rate of change + momentum\n", + "\n", + "rocp_signal = rocp.real_crossed_below(mom_th)\n", + "mom_signal = momshort.real_crossed_below(roc_th)\n", + "\n", + "#mom_signal\n", + "print(rocp_signal.info())\n", + "print(mom_signal.info())\n", + "#print(rocp.real)\n", + "\n", + "\n", + "short_signal = (mom_signal.vbt & rocp_signal)\n", + "\n", + "# #short_signal = (rocp.real_crossed_below(roc_th_index) & momshort.real_crossed_below(mom_th_index))\n", + "# forced_exit = m1_data.symbol_wrapper.fill(False)\n", + "# entry_window_open= m1_data.symbol_wrapper.fill(False)\n", + "\n", + "\n", + "# # Calculate the time difference in minutes from market open for each timestamp\n", + "# elapsed_min_from_open = (forced_exit.index.hour - market_open.hour) * 60 + (forced_exit.index.minute - market_open.minute)\n", + "\n", + "# entry_window_open[(elapsed_min_from_open >= entry_window_opens) & (elapsed_min_from_open < entry_window_closes)] = True\n", + "# forced_exit[(elapsed_min_from_open >= forced_exit_start) & (elapsed_min_from_open < forced_exit_end)] = True\n", + "# short_entries = (short_signal & entry_window_open)\n", + "# short_exits = forced_exit\n", + "# #long_entries.info()\n", + "# #number of trues and falses in long_entries\n", + "# #short_exits.value_counts()\n", + "# #short_entries.value_counts()\n", + "\n", + "\n", + "# pf = vbt.Portfolio.from_signals(close=close, short_entries=short_entries, short_exits=short_exits, sl_stop=sl_stop, tp_stop = tp_stop, fees=0.0167/100, freq=\"1s\") #sl_stop=sl_stop, tp_stop = sl_stop,\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# filter dates" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#filter na dny\n", + "dates_of_interest = pd.to_datetime(['2024-04-22']).tz_localize('US/Eastern')\n", + "filtered_df = df.loc[df.index.normalize().isin(dates_of_interest)]\n", + "\n", + "df = filtered_df\n", + "df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# import plotly.io as pio\n", + "# pio.renderers.default = 'notebook'\n", + "\n", + "#naloadujeme do vbt symbol as column\n", + "basic_data = vbt.Data.from_data({\"BAC\": df}, tz_convert=zoneNY)\n", + "\n", + "vbt.settings.plotting.auto_rangebreaks = True\n", + "#basic_data.data[\"BAC\"].vbt.ohlcv.plot()\n", + "\n", + "#basic_data.data[\"BAC\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m1_data = basic_data[['Open', 'High', 'Low', 'Close', 'Volume']]\n", + "\n", + "m1_data.data[\"BAC\"]\n", + "#m5_data = m1_data.resample(\"5T\")\n", + "\n", + "#m5_data.data[\"BAC\"].head(10)\n", + "\n", + "# m15_data = m1_data.resample(\"15T\")\n", + "\n", + "# m15 = m15_data.data[\"BAC\"]\n", + "\n", + "# m15.vbt.ohlcv.plot()\n", + "\n", + "# m1_data.wrapper.index\n", + "\n", + "# m1_resampler = m1_data.wrapper.get_resampler(\"1T\")\n", + "# m1_resampler.index_difference(reverse=True)\n", + "\n", + "\n", + "# m5_resampler.prettify()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# MOM indicator" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "vbt.phelp(vbt.indicator(\"talib:ROCP\").run)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "vyuzití rychleho klesani na sekundove urovni behem open rush\n", + "- MOM + ROC during open rush\n", + "- short signal\n", + "- pipeline kombinace thresholdu pro vstup mom_th, roc_th + hodnota sl_stop a tp_stop (pripadne trailing) - nalezeni optimalni kombinace atributu" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# fig = plot_2y_close([ht_trendline],[momshort, rocp], close)\n", + "# short_signal.vbt.signals.plot_as_entries(close, fig=fig, add_trace_kwargs=dict(secondary_y=False)) \n", + "\n", + "#parameters (primary y line, secondary y line, close)\n", + "def plot_2y_close(priminds, secinds, close):\n", + " fig = vbt.make_subplots(rows=1, cols=1, shared_xaxes=True, specs=[[{\"secondary_y\": True}]], vertical_spacing=0.02, subplot_titles=(\"MOM\", \"Price\" ))\n", + " close.vbt.plot(fig=fig, add_trace_kwargs=dict(secondary_y=False), trace_kwargs=dict(line=dict(color=\"blue\")))\n", + " for ind in priminds:\n", + " ind.plot(fig=fig, add_trace_kwargs=dict(secondary_y=False))\n", + " for ind in secinds:\n", + " ind.plot(fig=fig, add_trace_kwargs=dict(secondary_y=True))\n", + " return fig\n", + "\n", + "close = m1_data.xloc[\"09:30\":\"10:00\"].close\n", + "momshort = vbt.indicator(\"talib:MOM\").run(close, timeperiod=3, short_name = \"slope_short\")\n", + "ht_trendline = vbt.indicator(\"talib:HT_TRENDLINE\").run(close, short_name = \"httrendline\")\n", + "rocp = vbt.indicator(\"talib:ROC\").run(close, short_name = \"rocp\")\n", + "#rate of change + momentum\n", + "short_signal = (rocp.real_crossed_below(-0.2) & momshort.real_crossed_below(-0.02))\n", + "#indlong = vbt.indicator(\"talib:MOM\").run(close, timeperiod=10, short_name = \"slope_long\")\n", + "fig = plot_2y_close([ht_trendline],[momshort, rocp], close)\n", + "short_signal.vbt.signals.plot_as_entries(close, fig=fig, add_trace_kwargs=dict(secondary_y=False)) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "close = m1_data.close\n", + "#vbt.phelp(vbt.OLS.run)\n", + "\n", + "#oer steepmnes of regression line\n", + "#talib.LINEARREG_SLOPE(close, timeperiod=timeperiod)\n", + "#a také ON BALANCE VOLUME - http://5.161.179.223:8000/static/js/vbt/api/indicators/custom/obv/index.html\n", + "\n", + "\n", + "\n", + "mom_ind = vbt.indicator(\"talib:MOM\") \n", + "#vbt.phelp(mom_ind.run)\n", + "\n", + "mom = mom_ind.run(close, timeperiod=10)\n", + "\n", + "plot_2y_close(mom, close)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# defining ENTRY WINDOW and forced EXIT window" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#m1_data.data[\"BAC\"].info()\n", + "import datetime\n", + "# Define the market open and close times\n", + "market_open = datetime.time(9, 30)\n", + "market_close = datetime.time(16, 0)\n", + "entry_window_opens = 2\n", + "entry_window_closes = 30\n", + "\n", + "forced_exit_start = 380\n", + "forced_exit_end = 390\n", + "\n", + "forced_exit = m1_data.symbol_wrapper.fill(False)\n", + "entry_window_open= m1_data.symbol_wrapper.fill(False)\n", + "\n", + "# Calculate the time difference in minutes from market open for each timestamp\n", + "elapsed_min_from_open = (forced_exit.index.hour - market_open.hour) * 60 + (forced_exit.index.minute - market_open.minute)\n", + "\n", + "entry_window_open[(elapsed_min_from_open >= entry_window_opens) & (elapsed_min_from_open < entry_window_closes)] = True\n", + "forced_exit[(elapsed_min_from_open >= forced_exit_start) & (elapsed_min_from_open < forced_exit_end)] = True\n", + "\n", + "#entry_window_open.info()\n", + "# forced_exit.tail(100)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "close = m1_data.close\n", + "\n", + "#rsi = vbt.RSI.run(close, window=14)\n", + "\n", + "short_entries = (short_signal & entry_window_open)\n", + "short_exits = forced_exit\n", + "#long_entries.info()\n", + "#number of trues and falses in long_entries\n", + "#short_exits.value_counts()\n", + "short_entries.value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def plot_rsi(close, entries, exits):\n", + " fig = vbt.make_subplots(rows=1, cols=1, shared_xaxes=True, specs=[[{\"secondary_y\": True}]], vertical_spacing=0.02, subplot_titles=(\"RSI\", \"Price\" ))\n", + " close.vbt.plot(fig=fig, add_trace_kwargs=dict(secondary_y=True))\n", + " #rsi.plot(fig=fig, add_trace_kwargs=dict(secondary_y=False))\n", + " entries.vbt.signals.plot_as_entries(close, fig=fig, add_trace_kwargs=dict(secondary_y=False)) \n", + " exits.vbt.signals.plot_as_exits(close, fig=fig, add_trace_kwargs=dict(secondary_y=False)) \n", + " return fig\n", + "\n", + "plot_rsi(close, short_entries, short_exits)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "vbt.phelp(vbt.Portfolio.from_signals)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sl_stop = np.arange(0.03/100, 0.2/100, 0.02/100).tolist()\n", + "# Using the round function\n", + "sl_stop = [round(val, 4) for val in sl_stop]\n", + "print(sl_stop)\n", + "sl_stop = vbt.Param(sl_stop) #np.nan mean s no stoploss\n", + "\n", + "pf = vbt.Portfolio.from_signals(close=close, short_entries=short_entries, short_exits=short_exits, sl_stop=0.03/100, tp_stop = 0.03/100, fees=0.0167/100, freq=\"1s\") #sl_stop=sl_stop, tp_stop = sl_stop,\n", + "\n", + "#pf.stats()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#list of orders\n", + "#pf.orders.records_readable\n", + "#pf.orders.plots()\n", + "#pf.stats()\n", + "pf.stats()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pf.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pf[(0.0015,0.0013)].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pf[0.03].plot_trade_signals()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# pristup k pf jako multi index" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#pf[0.03].plot()\n", + "#pf.order_records\n", + "pf[(0.03)].stats()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#zgrupovane statistiky\n", + "stats_df = pf.stats([\n", + " 'total_return',\n", + " 'total_trades',\n", + " 'win_rate',\n", + " 'expectancy'\n", + "], agg_func=None)\n", + "stats_df\n", + "\n", + "\n", + "stats_df.nlargest(10, 'Total Return [%]')\n", + "#stats_df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pf[(0.0011,0.0013000000000000002)].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pandas.tseries.offsets import DateOffset\n", + "\n", + "temp_data = basic_data['2024-4-22']\n", + "temp_data\n", + "res1m = temp_data[[\"Open\", \"High\", \"Low\", \"Close\", \"Volume\"]]\n", + "\n", + "# Define a custom date offset that starts at 9:30 AM and spans 4 hours\n", + "custom_offset = DateOffset(hours=4, minutes=30)\n", + "\n", + "# res1m = res1m.get().resample(\"4H\").agg({ \n", + "# \"Open\": \"first\",\n", + "# \"High\": \"max\",\n", + "# \"Low\": \"min\",\n", + "# \"Close\": \"last\",\n", + "# \"Volume\": \"sum\"\n", + "# })\n", + "\n", + "res4h = res1m.resample(\"1h\", resample_kwargs=dict(origin=\"start\"))\n", + "\n", + "res4h.data\n", + "\n", + "res15m = res1m.resample(\"15T\", resample_kwargs=dict(origin=\"start\"))\n", + "\n", + "res15m.data[\"BAC\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@vbt.njit\n", + "def long_entry_place_func_nb(c, low, close, time_in_ns, rsi14, window_open, window_close):\n", + " market_open_minutes = 570 # 9 hours * 60 minutes + 30 minutes\n", + "\n", + " for out_i in range(len(c.out)):\n", + " i = c.from_i + out_i\n", + "\n", + " current_minutes = vbt.dt_nb.hour_nb(time_in_ns[i]) * 60 + vbt.dt_nb.minute_nb(time_in_ns[i])\n", + " #print(\"current_minutes\", current_minutes)\n", + " # Calculate elapsed minutes since market open at 9:30 AM\n", + " elapsed_from_open = current_minutes - market_open_minutes\n", + " elapsed_from_open = elapsed_from_open if elapsed_from_open >= 0 else 0\n", + " #print( \"elapsed_from_open\", elapsed_from_open)\n", + "\n", + " #elapsed_from_open = elapsed_minutes_from_open_nb(time_in_ns) \n", + " in_window = elapsed_from_open > window_open and elapsed_from_open < window_close\n", + " #print(\"in_window\", in_window)\n", + " # if in_window:\n", + " # print(\"in window\")\n", + "\n", + " if in_window and rsi14[i] > 60: # and low[i, c.col] <= hit_price: # and hour == 9: # (4)!\n", + " return out_i\n", + " return -1\n", + "\n", + "@vbt.njit\n", + "def long_exit_place_func_nb(c, high, close, time_index, tp, sl): # (5)!\n", + " entry_i = c.from_i - c.wait\n", + " entry_price = close[entry_i, c.col]\n", + " hit_price = entry_price * (1 + tp)\n", + " stop_price = entry_price * (1 - sl)\n", + " for out_i in range(len(c.out)):\n", + " i = c.from_i + out_i\n", + " last_bar_of_day = vbt.dt_nb.day_changed_nb(time_index[i], time_index[i + 1])\n", + "\n", + " #print(next_day)\n", + " if last_bar_of_day: #pokud je dalsi next day, tak zavirame posledni\n", + " print(\"ted\",out_i)\n", + " return out_i\n", + " if close[i, c.col] >= hit_price or close[i, c.col] <= stop_price :\n", + " return out_i\n", + " return -1\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.DataFrame(np.random.random(size=(5, 10)), columns=list('abcdefghij'))\n", + "\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df.sum()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/research/strat1/strat1_v1_SINGLE.ipynb b/research/strat1/strat1_v1_SINGLE.ipynb new file mode 100644 index 0000000..d0e1c37 --- /dev/null +++ b/research/strat1/strat1_v1_SINGLE.ipynb @@ -0,0 +1,1526 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "celkovy optimalizacni backtest na vetsim oknu 1 - 300\n", + "a možná take to udělat jako parametr\n", + "zkusit CV\n", + "zobrazit nejak robustnost parametru" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Activating profile profile1\n",
+       "
\n" + ], + "text/plain": [ + "Activating profile profile1\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
Profile profile1 loaded successfully.\n",
+       "
\n" + ], + "text/plain": [ + "Profile profile1 loaded successfully.\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
Current values:\n",
+       "{\n",
+       "    'AGG_EXCLUDED_TRADES': ['C', 'O', '4', 'B', '7', 'V', 'P', 'W', 'U', 'Z', 'F'],\n",
+       "    'BT_DELAYS': {\n",
+       "        'trigger_to_strat': 0.02,\n",
+       "        'strat_to_sub': 0.023,\n",
+       "        'sub_to_fill': 0.008,\n",
+       "        'fill_to_not': 0.023,\n",
+       "        'limit_order_offset': 0\n",
+       "    },\n",
+       "    'BT_FILL_CONDITION_BUY_LIMIT': <FillCondition.SLOW: 'slow'>,\n",
+       "    'BT_FILL_CONDITION_SELL_LIMIT': <FillCondition.SLOW: 'slow'>,\n",
+       "    'BT_FILL_CONS_TRADES_REQUIRED': 2,\n",
+       "    'BT_FILL_LOG_SURROUNDING_TRADES': 10,\n",
+       "    'BT_FILL_PRICE_MARKET_ORDER_PREMIUM': 0.005,\n",
+       "    'COUNT_API_REQUESTS': False,\n",
+       "    'GROUP_TRADES_WITH_TIMESTAMP_LESS_THAN': 0.003,\n",
+       "    'ILOG_SAVE_LEVEL_FROM': 1,\n",
+       "    'LIVE_DATA_FEED': 'sip',\n",
+       "    'NORMALIZED_TICK_BASE_PRICE': 30.0,\n",
+       "    'OFFLINE_MODE': False,\n",
+       "    'PROD_SERVER_HOSTNAMES': ['tradingeastcoast', 'David-MacBook-Pro.local'],\n",
+       "    'QUIET_MODE': True,\n",
+       "    'TEST_SERVER_HOSTNAMES': ['tradingtest']\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "Current values:\n", + "\u001b[1m{\u001b[0m\n", + " \u001b[32m'AGG_EXCLUDED_TRADES'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'C'\u001b[0m, \u001b[32m'O'\u001b[0m, \u001b[32m'4'\u001b[0m, \u001b[32m'B'\u001b[0m, \u001b[32m'7'\u001b[0m, \u001b[32m'V'\u001b[0m, \u001b[32m'P'\u001b[0m, \u001b[32m'W'\u001b[0m, \u001b[32m'U'\u001b[0m, \u001b[32m'Z'\u001b[0m, \u001b[32m'F'\u001b[0m\u001b[1m]\u001b[0m,\n", + " \u001b[32m'BT_DELAYS'\u001b[0m: \u001b[1m{\u001b[0m\n", + " \u001b[32m'trigger_to_strat'\u001b[0m: \u001b[1;36m0.02\u001b[0m,\n", + " \u001b[32m'strat_to_sub'\u001b[0m: \u001b[1;36m0.023\u001b[0m,\n", + " \u001b[32m'sub_to_fill'\u001b[0m: \u001b[1;36m0.008\u001b[0m,\n", + " \u001b[32m'fill_to_not'\u001b[0m: \u001b[1;36m0.023\u001b[0m,\n", + " \u001b[32m'limit_order_offset'\u001b[0m: \u001b[1;36m0\u001b[0m\n", + " \u001b[1m}\u001b[0m,\n", + " \u001b[32m'BT_FILL_CONDITION_BUY_LIMIT'\u001b[0m: \u001b[1m<\u001b[0m\u001b[1;95mFillCondition.SLOW:\u001b[0m\u001b[39m \u001b[0m\u001b[32m'slow'\u001b[0m\u001b[39m>,\u001b[0m\n", + "\u001b[39m \u001b[0m\u001b[32m'BT_FILL_CONDITION_SELL_LIMIT'\u001b[0m\u001b[39m: \u001b[0m,\n", + " \u001b[32m'BT_FILL_CONS_TRADES_REQUIRED'\u001b[0m: \u001b[1;36m2\u001b[0m,\n", + " \u001b[32m'BT_FILL_LOG_SURROUNDING_TRADES'\u001b[0m: \u001b[1;36m10\u001b[0m,\n", + " \u001b[32m'BT_FILL_PRICE_MARKET_ORDER_PREMIUM'\u001b[0m: \u001b[1;36m0.005\u001b[0m,\n", + " \u001b[32m'COUNT_API_REQUESTS'\u001b[0m: \u001b[3;91mFalse\u001b[0m,\n", + " \u001b[32m'GROUP_TRADES_WITH_TIMESTAMP_LESS_THAN'\u001b[0m: \u001b[1;36m0.003\u001b[0m,\n", + " \u001b[32m'ILOG_SAVE_LEVEL_FROM'\u001b[0m: \u001b[1;36m1\u001b[0m,\n", + " \u001b[32m'LIVE_DATA_FEED'\u001b[0m: \u001b[32m'sip'\u001b[0m,\n", + " \u001b[32m'NORMALIZED_TICK_BASE_PRICE'\u001b[0m: \u001b[1;36m30.0\u001b[0m,\n", + " \u001b[32m'OFFLINE_MODE'\u001b[0m: \u001b[3;91mFalse\u001b[0m,\n", + " \u001b[32m'PROD_SERVER_HOSTNAMES'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'tradingeastcoast'\u001b[0m, \u001b[32m'David-MacBook-Pro.local'\u001b[0m\u001b[1m]\u001b[0m,\n", + " \u001b[32m'QUIET_MODE'\u001b[0m: \u001b[3;92mTrue\u001b[0m,\n", + " \u001b[32m'TEST_SERVER_HOSTNAMES'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'tradingtest'\u001b[0m\u001b[1m]\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
config_handler.active_profile='profile1'\n",
+       "
\n" + ], + "text/plain": [ + "config_handler.\u001b[33mactive_profile\u001b[0m=\u001b[32m'profile1'\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
config handler initialized\n",
+       "
\n" + ], + "text/plain": [ + "config handler initialized\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Realtime Websocket connection will use FEED: sip and credential of ACCOUNT1\n" + ] + }, + { + "data": { + "text/html": [ + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from v2realbot.tools.loadbatch import load_batch\n", + "from v2realbot.utils.utils import zoneNY\n", + "import pandas as pd\n", + "import numpy as np\n", + "import vectorbtpro as vbt\n", + "from itables import init_notebook_mode, show\n", + "import datetime\n", + "from itertools import product\n", + "\n", + "init_notebook_mode(all_interactive=True)\n", + "\n", + "vbt.settings.set_theme(\"dark\")\n", + "vbt.settings['plotting']['layout']['width'] = 1280\n", + "vbt.settings.plotting.auto_rangebreaks = True\n", + "# Set the option to display with pagination\n", + "pd.set_option('display.notebook_repr_html', True)\n", + "pd.set_option('display.max_rows', 10) # Number of rows per page\n", + "\n", + "# Define the market open and close times\n", + "market_open = datetime.time(9, 30)\n", + "market_close = datetime.time(16, 0)\n", + "entry_window_opens = 1\n", + "entry_window_closes = 370\n", + "\n", + "forced_exit_start = 380\n", + "forced_exit_end = 390\n", + "\n", + "res, df = load_batch(batch_id=\"f1ac6651\", #138170bc 0fb5043a bde6d0be f1ac6651\n", + " space_resolution_evenly=False,\n", + " indicators_columns=[\"Rsi14\"],\n", + " main_session_only=True,\n", + " verbose = False)\n", + "if res < 0:\n", + " print(\"Error\" + str(res) + str(df))\n", + "df = df[\"bars\"]\n", + "\n", + "df\n", + "\n", + "basic_data = vbt.Data.from_data(vbt.symbol_dict({\"BAC\": df}), tz_convert=zoneNY)\n", + "#m1_data = basic_data[['Open', 'High', 'Low', 'Close', 'Volume']]\n", + "basic_data = basic_data.transform(lambda df: df.between_time('09:30', '16:00'))\n", + "#basic_data.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "vbt.open_api_ref(vbt.base)\n", + "\n", + "vbt" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "
0
\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)
\n", + "\n" + ], + "text/plain": [ + "Start 2024-01-02 09:30:00-05:00\n", + "End 2024-02-28 15:59:59-05:00\n", + "Period 5 days 18:15:46\n", + "Start Value 100.0\n", + "Min Value 99.766637\n", + " ... \n", + "Expectancy -0.058341\n", + "Sharpe Ratio -3.597608\n", + "Calmar Ratio -2.69309\n", + "Omega Ratio 0.867176\n", + "Sortino Ratio -4.934545\n", + "Length: 29, dtype: object" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "##na toto udelat crosssvalidationu nebo alespon na testovacim ci jinem obdobi\n", + "#take udelat long leg - tato je shortovaci\n", + "\n", + "#8\t-0.06\t-0.2\t0.0028\t0.0048\t4.156254\n", + "\n", + "#short combination ok for train(4)/test(0.1) (window 1-90, fe 95-100)\n", + "#2,\t-0.02,\t-0.25,\t0.0018,\t0.0068\n", + "\n", + "#dalsi ok hodnota shortu for train/test 4/1\n", + "#70,\t8,\t-0.06,\t-0.2,\t0.0013,\t0.0053\t\n", + "\n", + "\n", + "#kombinace bez roc_th, train/test 7/-1.5\n", + "#70\t7\t-0.07\t0.0033\t0.0063\n", + "\n", + "#opet bez roc_th, train(5.77)/test 0.9 - spolus tsl_stop + tsl_th\n", + "#29\t7\t-0.09\t0.0033\t0.0068\n", + "\n", + "#bez roc_th a s trailing sl train/test 8.1/-0.8 \n", + "#70\t2\t-0.05\t0.0018\t0.0068\n", + "\n", + "\n", + "# TODO:\n", + "#- vyzkouset zda nejvyhodnejsi kombinace krom train/testu funguje i na nasledujicich dnech po trainu\n", + "# -zkusit najit v short datasetu neco vyhodneho co funguji i na testu\n", + "# - dodelat kombinace pro long signaly\n", + "# - zkusit walk forward\n", + "# - vytvorit vysledkove totoznou na v2realbot\n", + "# - podivat se jak detailne funguji tsl_stop a tsl_th\n", + "\n", + "#70,\t4,\t-0.07,\t0.0048,\t0.0068\t\n", + "\n", + "\n", + "entry_window_closes, mom_timeperiod, mom_th, sl_stop, tp_stop = 8,\t3,\t0.07,\t0.0028,\t0.0033\t\n", + "roc_th = 0\n", + "momshort = vbt.indicator(\"talib:MOM\").run(basic_data.close, timeperiod=mom_timeperiod, short_name = \"slope_short\")\n", + "rocp = vbt.indicator(\"talib:ROC\").run(basic_data.close, short_name = \"rocp\")\n", + "#rate of change + momentum\n", + "\n", + "#momshort.plot rocp.real_crossed_below(roc_th) & \n", + "short_signal = momshort.real_crossed_below(mom_th)\n", + "\n", + "long_signal = momshort.real_crossed_above(mom_th)\n", + "\n", + "# print(\"short signal\")\n", + "# print(short_signal.value_counts())\n", + "\n", + "#forced_exit = pd.Series(False, index=close.index)\n", + "forced_exit = basic_data.symbol_wrapper.fill(False)\n", + "#entry_window_open = pd.Series(False, index=close.index)\n", + "entry_window_open= basic_data.symbol_wrapper.fill(False)\n", + "\n", + "# Calculate the time difference in minutes from market open for each timestamp\n", + "elapsed_min_from_open = (forced_exit.index.hour - market_open.hour) * 60 + (forced_exit.index.minute - market_open.minute)\n", + "\n", + "entry_window_open[(elapsed_min_from_open >= entry_window_opens) & (elapsed_min_from_open < entry_window_closes)] = True\n", + "\n", + "#print(entry_window_open.value_counts())\n", + "\n", + "forced_exit[(elapsed_min_from_open >= forced_exit_start) & (elapsed_min_from_open < forced_exit_end)] = True\n", + "short_entries = (short_signal & entry_window_open)\n", + "short_exits = forced_exit\n", + "\n", + "entries = (long_signal & entry_window_open)\n", + "exits = forced_exit\n", + "#long_entries.info()\n", + "#number of trues and falses in long_entries\n", + "# print(short_exits.value_counts())\n", + "# print(short_entries.value_counts())\n", + "\n", + "#fig = plot_2y_close([],[momshort, rocp], close)\n", + "#short_signal.vbt.signals.plot_as_entries(close, fig=fig, add_trace_kwargs=dict(secondary_y=False))\n", + "#print(sl_stop)\n", + "#short_entries=short_entries, short_exits=short_exits,\n", + "pf = vbt.Portfolio.from_signals(close=basic_data, entries=entries, exits=exits, tsl_stop=sl_stop, tp_stop = tp_stop, fees=0.0167/100, freq=\"1s\") #sl_stop=sl_stop, tp_stop = sl_stop,\n", + "\n", + "pf.stats()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "848b9b38239f4f10b8be10f60265ab6f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "FigureWidget({\n", + " 'data': [{'close': array([33.44 , 33.445, 33.42 , ..., 34.325, 34.33 , 34.32 ]),\n", + " 'decreasing': {'fillcolor': '#ee534f', 'line': {'color': '#ee534f'}},\n", + " 'high': array([33.44 , 33.465, 33.45 , ..., 34.325, 34.33 , 34.33 ]),\n", + " 'increasing': {'fillcolor': '#26a69a', 'line': {'color': '#26a69a'}},\n", + " 'low': array([33.39, 33.44, 33.42, ..., 34.32, 34.32, 34.32]),\n", + " 'name': 'OHLC',\n", + " 'opacity': 0.5,\n", + " 'open': array([33.39 , 33.46 , 33.45 , ..., 34.32 , 34.325, 34.325]),\n", + " 'type': 'candlestick',\n", + " 'uid': '62d2f920-d109-44ec-9c98-0def8e4b29b0',\n", + " 'x': array([datetime.datetime(2024, 1, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 2, 28, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'yaxis': 'y'},\n", + " {'customdata': array([['0', '2024-01-03 09:31:27-05:00', '2024-01-03 09:31:27-05:00',\n", + " '2024-01-03 09:31:27-05:00', 2.978352778922679, 33.57,\n", + " 0.0166972115656705, 'Market', 'None'],\n", + " ['2', '2024-01-04 09:31:16-05:00', '2024-01-04 09:31:16-05:00',\n", + " '2024-01-04 09:31:16-05:00', 2.96735984866213, 33.62,\n", + " 0.016660360564713983, 'Market', 'None'],\n", + " ['4', '2024-01-10 09:32:44-05:00', '2024-01-10 09:32:44-05:00',\n", + " '2024-01-10 09:32:44-05:00', 3.0083218731755443, 33.36,\n", + " 0.016759722154091605, 'Market', 'None'],\n", + " ['6', '2024-01-12 09:31:01-05:00', '2024-01-12 09:31:01-05:00',\n", + " '2024-01-12 09:31:01-05:00', 3.1068615104873154, 32.31,\n", + " 0.01676391013243972, 'Market', 'None'],\n", + " ['8', '2024-01-12 09:32:02-05:00', '2024-01-12 09:32:02-05:00',\n", + " '2024-01-12 09:32:02-05:00', 3.100441294836864, 32.57,\n", + " 0.016863889286469202, 'Market', 'None'],\n", + " ['10', '2024-01-12 09:32:52-05:00', '2024-01-12 09:32:52-05:00',\n", + " '2024-01-12 09:32:52-05:00', 3.092952048475304, 32.8484,\n", + " 0.0169669538535544, 'Market', 'None'],\n", + " ['12', '2024-01-16 09:31:40-05:00', '2024-01-16 09:31:40-05:00',\n", + " '2024-01-16 09:31:40-05:00', 3.1376689038339736, 32.44,\n", + " 0.016998258533149624, 'Market', 'None'],\n", + " ['14', '2024-01-17 09:31:11-05:00', '2024-01-17 09:31:11-05:00',\n", + " '2024-01-17 09:31:11-05:00', 3.225768247933234, 31.4927,\n", + " 0.016965221334189096, 'Market', 'None'],\n", + " ['16', '2024-01-19 09:31:17-05:00', '2024-01-19 09:31:17-05:00',\n", + " '2024-01-19 09:31:17-05:00', 3.1852624849523656, 31.82,\n", + " 0.016926293729284225, 'Market', 'None'],\n", + " ['18', '2024-01-22 09:32:07-05:00', '2024-01-22 09:32:07-05:00',\n", + " '2024-01-22 09:32:07-05:00', 3.1147021490903066, 32.43,\n", + " 0.01686863504606606, 'Market', 'None'],\n", + " ['20', '2024-01-30 09:32:47-05:00', '2024-01-30 09:32:47-05:00',\n", + " '2024-01-30 09:32:47-05:00', 2.9763388468118293, 34.14,\n", + " 0.016969238774436235, 'Market', 'None'],\n", + " ['22', '2024-01-31 09:31:26-05:00', '2024-01-31 09:31:26-05:00',\n", + " '2024-01-31 09:31:26-05:00', 2.914727712984091, 34.735,\n", + " 0.016907592207459743, 'Market', 'None'],\n", + " ['24', '2024-02-05 09:32:00-05:00', '2024-02-05 09:32:00-05:00',\n", + " '2024-02-05 09:32:00-05:00', 3.071377439535155, 33.16,\n", + " 0.01700842827446536, 'Market', 'None'],\n", + " ['26', '2024-02-08 09:31:08-05:00', '2024-02-08 09:31:08-05:00',\n", + " '2024-02-08 09:31:08-05:00', 3.068071063787448, 33.13,\n", + " 0.016974747455336114, 'Market', 'None'],\n", + " ['28', '2024-02-15 09:31:17-05:00', '2024-02-15 09:31:17-05:00',\n", + " '2024-02-15 09:31:17-05:00', 3.0289452905084406, 33.4708,\n", + " 0.016930664078941504, 'Market', 'None'],\n", + " ['30', '2024-02-21 09:31:03-05:00', '2024-02-21 09:31:03-05:00',\n", + " '2024-02-21 09:31:03-05:00', 3.0364974627410586, 33.59,\n", + " 0.017033323612167806, 'Market', 'None'],\n", + " ['32', '2024-02-21 09:32:53-05:00', '2024-02-21 09:32:53-05:00',\n", + " '2024-02-21 09:32:53-05:00', 3.0264384972281606, 33.56,\n", + " 0.016961735086482577, 'Market', 'None'],\n", + " ['34', '2024-02-22 09:31:10-05:00', '2024-02-22 09:31:10-05:00',\n", + " '2024-02-22 09:31:10-05:00', 3.014546202965763, 33.59,\n", + " 0.01691018736192973, 'Market', 'None'],\n", + " ['36', '2024-02-26 09:32:23-05:00', '2024-02-26 09:32:23-05:00',\n", + " '2024-02-26 09:32:23-05:00', 2.97661511133949, 33.955,\n", + " 0.01687885133962652, 'Market', 'None'],\n", + " ['38', '2024-02-27 09:32:14-05:00', '2024-02-27 09:32:14-05:00',\n", + " '2024-02-27 09:32:14-05:00', 2.981567760303421, 33.86,\n", + " 0.01685963268876378, 'Market', 'None'],\n", + " ['40', '2024-02-28 09:32:46-05:00', '2024-02-28 09:32:46-05:00',\n", + " '2024-02-28 09:32:46-05:00', 2.942546727531348, 34.25,\n", + " 0.016830631644793925, 'Market', 'None']], dtype=object),\n", + " 'hovertemplate': ('
Order Id: %{customdata[0]}' ... 'br>Stop Type: %{customdata[8]}'),\n", + " 'marker': {'color': '#37B13F',\n", + " 'line': {'color': 'rgb(38,123,44)', 'width': 1},\n", + " 'size': 8,\n", + " 'symbol': 'triangle-up'},\n", + " 'mode': 'markers',\n", + " 'name': 'Buy',\n", + " 'type': 'scatter',\n", + " 'uid': '7d55d406-e8fc-4c82-b901-1efe2cc01e8a',\n", + " 'x': array([datetime.datetime(2024, 1, 3, 9, 31, 27, tzinfo=),\n", + " datetime.datetime(2024, 1, 4, 9, 31, 16, tzinfo=),\n", + " datetime.datetime(2024, 1, 10, 9, 32, 44, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 31, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 32, 2, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 32, 52, tzinfo=),\n", + " datetime.datetime(2024, 1, 16, 9, 31, 40, tzinfo=),\n", + " datetime.datetime(2024, 1, 17, 9, 31, 11, tzinfo=),\n", + " datetime.datetime(2024, 1, 19, 9, 31, 17, tzinfo=),\n", + " datetime.datetime(2024, 1, 22, 9, 32, 7, tzinfo=),\n", + " datetime.datetime(2024, 1, 30, 9, 32, 47, tzinfo=),\n", + " datetime.datetime(2024, 1, 31, 9, 31, 26, tzinfo=),\n", + " datetime.datetime(2024, 2, 5, 9, 32, tzinfo=),\n", + " datetime.datetime(2024, 2, 8, 9, 31, 8, tzinfo=),\n", + " datetime.datetime(2024, 2, 15, 9, 31, 17, tzinfo=),\n", + " datetime.datetime(2024, 2, 21, 9, 31, 3, tzinfo=),\n", + " datetime.datetime(2024, 2, 21, 9, 32, 53, tzinfo=),\n", + " datetime.datetime(2024, 2, 22, 9, 31, 10, tzinfo=),\n", + " datetime.datetime(2024, 2, 26, 9, 32, 23, tzinfo=),\n", + " datetime.datetime(2024, 2, 27, 9, 32, 14, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 9, 32, 46, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'y': array([33.57 , 33.62 , 33.36 , 32.31 , 32.57 , 32.8484, 32.44 , 31.4927,\n", + " 31.82 , 32.43 , 34.14 , 34.735 , 33.16 , 33.13 , 33.4708, 33.59 ,\n", + " 33.56 , 33.59 , 33.955 , 33.86 , 34.25 ]),\n", + " 'yaxis': 'y'},\n", + " {'customdata': array([['1', '2024-01-03 09:31:27-05:00', '2024-01-03 09:33:15-05:00',\n", + " '2024-01-03 09:33:15-05:00', 2.978352778922679, 33.5071,\n", + " 0.016665926054572896, 'Market', 'TSL'],\n", + " ['3', '2024-01-04 09:31:16-05:00', '2024-01-04 09:33:03-05:00',\n", + " '2024-01-04 09:33:03-05:00', 2.96735984866213, 33.83180599999999,\n", + " 0.01676532083626513, 'Market', 'TP'],\n", + " ['5', '2024-01-10 09:32:44-05:00', '2024-01-10 09:38:22-05:00',\n", + " '2024-01-10 09:38:22-05:00', 3.0083218731755443, 33.379483,\n", + " 0.016769510213639937, 'Market', 'TSL'],\n", + " ['7', '2024-01-12 09:31:01-05:00', '2024-01-12 09:31:54-05:00',\n", + " '2024-01-12 09:31:54-05:00', 3.1068615104873154, 32.513553,\n", + " 0.016869522766276526, 'Market', 'TP'],\n", + " ['9', '2024-01-12 09:32:02-05:00', '2024-01-12 09:32:35-05:00',\n", + " '2024-01-12 09:32:35-05:00', 3.100441294836864, 32.78,\n", + " 0.01697262176267365, 'Market', 'TP'],\n", + " ['11', '2024-01-12 09:32:52-05:00', '2024-01-12 09:34:39-05:00',\n", + " '2024-01-12 09:34:39-05:00', 3.092952048475304, 32.92,\n", + " 0.017003936899779772, 'Market', 'TSL'],\n", + " ['13', '2024-01-16 09:31:40-05:00', '2024-01-16 09:33:22-05:00',\n", + " '2024-01-16 09:33:22-05:00', 3.1376689038339736, 32.3877665,\n", + " 0.016970888664551508, 'Market', 'TSL'],\n", + " ['15', '2024-01-17 09:31:11-05:00', '2024-01-17 09:33:03-05:00',\n", + " '2024-01-17 09:33:03-05:00', 3.225768247933234, 31.4309345,\n", + " 0.01693194805566586, 'Market', 'TSL'],\n", + " ['17', '2024-01-19 09:31:17-05:00', '2024-01-19 09:33:56-05:00',\n", + " '2024-01-19 09:33:56-05:00', 3.1852624849523656, 31.7222,\n", + " 0.016874270111226043, 'Market', 'TSL'],\n", + " ['19', '2024-01-22 09:32:07-05:00', '2024-01-22 09:34:31-05:00',\n", + " '2024-01-22 09:34:31-05:00', 3.1147021490903066, 32.634309,\n", + " 0.01697490744685498, 'Market', 'TP'],\n", + " ['21', '2024-01-30 09:32:47-05:00', '2024-01-30 09:33:40-05:00',\n", + " '2024-01-30 09:33:40-05:00', 2.9763388468118293, 34.027338,\n", + " 0.016913240286480388, 'Market', 'TSL'],\n", + " ['23', '2024-01-31 09:31:26-05:00', '2024-01-31 09:38:35-05:00',\n", + " '2024-01-31 09:38:35-05:00', 2.914727712984091, 34.953830499999995,\n", + " 0.01701411003836086, 'Market', 'TP'],\n", + " ['25', '2024-02-05 09:32:00-05:00', '2024-02-05 09:39:03-05:00',\n", + " '2024-02-05 09:39:03-05:00', 3.071377439535155, 33.105390500000006,\n", + " 0.016980417967953142, 'Market', 'TSL'],\n", + " ['27', '2024-02-08 09:31:08-05:00', '2024-02-08 09:34:25-05:00',\n", + " '2024-02-08 09:34:25-05:00', 3.068071063787448, 33.055,\n", + " 0.016936319865253513, 'Market', 'TSL'],\n", + " ['29', '2024-02-15 09:31:17-05:00', '2024-02-15 09:33:50-05:00',\n", + " '2024-02-15 09:33:50-05:00', 3.0289452905084406, 33.685,\n", + " 0.01703901369249973, 'Market', 'TP'],\n", + " ['31', '2024-02-21 09:31:03-05:00', '2024-02-21 09:32:43-05:00',\n", + " '2024-02-21 09:32:43-05:00', 3.0364974627410586, 33.46,\n", + " 0.016967401252253742, 'Market', 'TSL'],\n", + " ['33', '2024-02-21 09:32:53-05:00', '2024-02-21 09:33:18-05:00',\n", + " '2024-02-21 09:33:18-05:00', 3.0264384972281606, 33.469186,\n", + " 0.016915836307875395, 'Market', 'TSL'],\n", + " ['35', '2024-02-22 09:31:10-05:00', '2024-02-22 09:32:42-05:00',\n", + " '2024-02-22 09:32:42-05:00', 3.014546202965763, 33.538955,\n", + " 0.016884489817597163, 'Market', 'TSL'],\n", + " ['37', '2024-02-26 09:32:23-05:00', '2024-02-26 09:39:15-05:00',\n", + " '2024-02-26 09:39:15-05:00', 2.97661511133949, 33.927668,\n", + " 0.01686526474663864, 'Market', 'TSL'],\n", + " ['39', '2024-02-27 09:32:14-05:00', '2024-02-27 09:34:52-05:00',\n", + " '2024-02-27 09:34:52-05:00', 2.981567760303421, 33.813047499999996,\n", + " 0.016836254014702564, 'Market', 'TSL'],\n", + " ['41', '2024-02-28 09:32:46-05:00', '2024-02-28 09:44:36-05:00',\n", + " '2024-02-28 09:44:36-05:00', 2.942546727531348, 34.465775,\n", + " 0.01693666462415965, 'Market', 'TP']], dtype=object),\n", + " 'hovertemplate': ('
Order Id: %{customdata[0]}' ... 'br>Stop Type: %{customdata[8]}'),\n", + " 'marker': {'color': '#EA4335',\n", + " 'line': {'color': 'rgb(181,31,18)', 'width': 1},\n", + " 'size': 8,\n", + " 'symbol': 'triangle-down'},\n", + " 'mode': 'markers',\n", + " 'name': 'Sell',\n", + " 'type': 'scatter',\n", + " 'uid': '5f8e0347-ebd1-49e0-8fdf-adbf25f7f974',\n", + " 'x': array([datetime.datetime(2024, 1, 3, 9, 33, 15, tzinfo=),\n", + " datetime.datetime(2024, 1, 4, 9, 33, 3, tzinfo=),\n", + " datetime.datetime(2024, 1, 10, 9, 38, 22, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 31, 54, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 32, 35, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 34, 39, tzinfo=),\n", + " datetime.datetime(2024, 1, 16, 9, 33, 22, tzinfo=),\n", + " datetime.datetime(2024, 1, 17, 9, 33, 3, tzinfo=),\n", + " datetime.datetime(2024, 1, 19, 9, 33, 56, tzinfo=),\n", + " datetime.datetime(2024, 1, 22, 9, 34, 31, tzinfo=),\n", + " datetime.datetime(2024, 1, 30, 9, 33, 40, tzinfo=),\n", + " datetime.datetime(2024, 1, 31, 9, 38, 35, tzinfo=),\n", + " datetime.datetime(2024, 2, 5, 9, 39, 3, tzinfo=),\n", + " datetime.datetime(2024, 2, 8, 9, 34, 25, tzinfo=),\n", + " datetime.datetime(2024, 2, 15, 9, 33, 50, tzinfo=),\n", + " datetime.datetime(2024, 2, 21, 9, 32, 43, tzinfo=),\n", + " datetime.datetime(2024, 2, 21, 9, 33, 18, tzinfo=),\n", + " datetime.datetime(2024, 2, 22, 9, 32, 42, tzinfo=),\n", + " datetime.datetime(2024, 2, 26, 9, 39, 15, tzinfo=),\n", + " datetime.datetime(2024, 2, 27, 9, 34, 52, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 9, 44, 36, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'y': array([33.5071 , 33.831806 , 33.379483 , 32.513553 , 32.78 , 32.92 ,\n", + " 32.3877665, 31.4309345, 31.7222 , 32.634309 , 34.027338 , 34.9538305,\n", + " 33.1053905, 33.055 , 33.685 , 33.46 , 33.469186 , 33.538955 ,\n", + " 33.927668 , 33.8130475, 34.465775 ]),\n", + " 'yaxis': 'y'},\n", + " {'customdata': array([['1', '1', '2024-01-04 09:33:03-05:00', 0.5950789387047365,\n", + " 0.0059649478999997795],\n", + " ['2', '2', '2024-01-10 09:38:22-05:00', 0.025081902687342218,\n", + " 0.000249925249969912],\n", + " ['3', '3', '2024-01-12 09:31:54-05:00', 0.5987775481455146,\n", + " 0.0059649479000000874],\n", + " ['4', '4', '2024-01-12 09:32:35-05:00', 0.6172561608666053,\n", + " 0.00611257445501997],\n", + " ['5', '5', '2024-01-12 09:34:39-05:00', 0.18748447591751835,\n", + " 0.0018453464156550673],\n", + " ['9', '9', '2024-01-22 09:34:31-05:00', 0.6025181388855818,\n", + " 0.0059649479000001004],\n", + " ['11', '11', '2024-01-31 09:38:35-05:00', 0.6039096205503393,\n", + " 0.0059649478999998905],\n", + " ['14', '14', '2024-02-15 09:33:50-05:00', 0.6148304034554822,\n", + " 0.006064539282001115],\n", + " ['20', '20', '2024-02-28 09:44:36-05:00', 0.6011607238641207,\n", + " 0.00596494790000001]], dtype=object),\n", + " 'hovertemplate': ('
Exit Trade Id: %{customdat' ... 'br>Return: %{customdata[4]:,%}'),\n", + " 'marker': {'color': '#37B13F',\n", + " 'line': {'color': 'rgb(38,123,44)', 'width': 1},\n", + " 'opacity': array([0.89622287, 0.75 , 0.89622287, 0.9 , 0.79081997, 0.89622287,\n", + " 0.89622287, 0.89877099, 0.89622287]),\n", + " 'size': array([13.82373397, 7. , 13.82373397, 14. , 8.90493201,\n", + " 13.82373397, 13.82373397, 13.94264603, 13.82373397]),\n", + " 'symbol': 'circle'},\n", + " 'mode': 'markers',\n", + " 'name': 'Closed - Profit',\n", + " 'type': 'scatter',\n", + " 'uid': '20d3a161-d4fc-47e6-bf90-8819c520dfb6',\n", + " 'x': array([datetime.datetime(2024, 1, 4, 9, 33, 3, tzinfo=),\n", + " datetime.datetime(2024, 1, 10, 9, 38, 22, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 31, 54, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 32, 35, tzinfo=),\n", + " datetime.datetime(2024, 1, 12, 9, 34, 39, tzinfo=),\n", + " datetime.datetime(2024, 1, 22, 9, 34, 31, tzinfo=),\n", + " datetime.datetime(2024, 1, 31, 9, 38, 35, tzinfo=),\n", + " datetime.datetime(2024, 2, 15, 9, 33, 50, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 9, 44, 36, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x2',\n", + " 'y': array([0.00596495, 0.00024993, 0.00596495, 0.00611257, 0.00184535, 0.00596495,\n", + " 0.00596495, 0.00606454, 0.00596495]),\n", + " 'yaxis': 'y2'},\n", + " {'customdata': array([['0', '0', '2024-01-03 09:33:15-05:00', -0.22070152741447807,\n", + " -0.002207383845695563],\n", + " ['6', '6', '2024-01-16 09:33:22-05:00', -0.1978605758861028,\n", + " -0.0019438883170622393],\n", + " ['7', '7', '2024-01-17 09:33:03-05:00', -0.2331383581075762,\n", + " -0.0022949365078733363],\n", + " ['8', '8', '2024-01-19 09:33:56-05:00', -0.34531923486884847,\n", + " -0.0034070253739785636],\n", + " ['10', '10', '2024-01-30 09:33:40-05:00', -0.3692027662204353,\n", + " -0.0036334489000000446],\n", + " ['12', '12', '2024-02-05 09:39:03-05:00', -0.20171523252669066,\n", + " -0.001980573589067957],\n", + " ['13', '13', '2024-02-08 09:34:25-05:00', -0.26401639710465635,\n", + " -0.00259743118019938],\n", + " ['15', '15', '2024-02-21 09:32:43-05:00', -0.42874539502076375,\n", + " -0.004203553140815744],\n", + " ['16', '16', '2024-02-21 09:33:18-05:00', -0.30872055708164403,\n", + " -0.0030395671651371197],\n", + " ['17', '17', '2024-02-22 09:32:42-05:00', -0.18767218810991249,\n", + " -0.0018533949236380408],\n", + " ['18', '18', '2024-02-26 09:39:15-05:00', -0.11510096030940233,\n", + " -0.0011388132986600787],\n", + " ['19', '19', '2024-02-27 09:34:52-05:00', -0.17368794696912138,\n", + " -0.0017204341090520333]], dtype=object),\n", + " 'hovertemplate': ('
Exit Trade Id: %{customdat' ... 'br>Return: %{customdata[4]:,%}'),\n", + " 'marker': {'color': '#EA4335',\n", + " 'line': {'color': 'rgb(181,31,18)', 'width': 1},\n", + " 'opacity': array([0.80008295, 0.79334124, 0.80232305, 0.83077663, 0.83656983, 0.79427985,\n", + " 0.81006259, 0.85115635, 0.82137495, 0.7910259 , 0.77274283, 0.787624 ]),\n", + " 'size': array([ 9.33720451, 9.02259099, 9.44174234, 10.76957585, 11.03992542,\n", + " 9.06639319, 9.80292082, 11.72062958, 10.33083095, 8.91454193,\n", + " 8.06133185, 8.75578679]),\n", + " 'symbol': 'circle'},\n", + " 'mode': 'markers',\n", + " 'name': 'Closed - Loss',\n", + " 'type': 'scatter',\n", + " 'uid': '38ec9cd1-8a39-4443-b9de-94b6ce3de315',\n", + " 'x': array([datetime.datetime(2024, 1, 3, 9, 33, 15, tzinfo=),\n", + " datetime.datetime(2024, 1, 16, 9, 33, 22, tzinfo=),\n", + " datetime.datetime(2024, 1, 17, 9, 33, 3, tzinfo=),\n", + " datetime.datetime(2024, 1, 19, 9, 33, 56, tzinfo=),\n", + " datetime.datetime(2024, 1, 30, 9, 33, 40, tzinfo=),\n", + " datetime.datetime(2024, 2, 5, 9, 39, 3, tzinfo=),\n", + " datetime.datetime(2024, 2, 8, 9, 34, 25, tzinfo=),\n", + " datetime.datetime(2024, 2, 21, 9, 32, 43, tzinfo=),\n", + " datetime.datetime(2024, 2, 21, 9, 33, 18, tzinfo=),\n", + " datetime.datetime(2024, 2, 22, 9, 32, 42, tzinfo=),\n", + " datetime.datetime(2024, 2, 26, 9, 39, 15, tzinfo=),\n", + " datetime.datetime(2024, 2, 27, 9, 34, 52, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x2',\n", + " 'y': array([-0.00220738, -0.00194389, -0.00229494, -0.00340703, -0.00363345,\n", + " -0.00198057, -0.00259743, -0.00420355, -0.00303957, -0.00185339,\n", + " -0.00113881, -0.00172043]),\n", + " 'yaxis': 'y2'},\n", + " {'legendgroup': '0',\n", + " 'line': {'color': '#7f7f7f'},\n", + " 'mode': 'lines',\n", + " 'name': 'Benchmark',\n", + " 'showlegend': True,\n", + " 'type': 'scatter',\n", + " 'uid': 'b3f84fa4-cb7f-41f1-b96c-9c24f5aa46da',\n", + " 'x': array([datetime.datetime(2024, 1, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 2, 28, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1. , 1.00014952, 0.99940191, ..., 1.02646531, 1.02661483,\n", + " 1.02631579]),\n", + " 'yaxis': 'y3'},\n", + " {'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': 'bb8dec5c-74b0-482b-a783-9272535513e5',\n", + " 'x': array([datetime.datetime(2024, 1, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 2, 28, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1, 1, 1, ..., 1, 1, 1]),\n", + " 'yaxis': 'y3'},\n", + " {'connectgaps': False,\n", + " 'fill': 'tonexty',\n", + " 'fillcolor': 'rgba(0, 128, 0, 0.25)',\n", + " 'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': '4bc24efb-89ee-450f-a511-aa169477de90',\n", + " 'x': array([datetime.datetime(2024, 1, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 2, 28, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1. , 1. , 1. , ..., 1.01400217, 1.01400217,\n", + " 1.01400217]),\n", + " 'yaxis': 'y3'},\n", + " {'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': '1c409fe2-0526-4777-adf2-b287135a36b9',\n", + " 'x': array([datetime.datetime(2024, 1, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 2, 28, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1, 1, 1, ..., 1, 1, 1]),\n", + " 'yaxis': 'y3'},\n", + " {'connectgaps': False,\n", + " 'fill': 'tonexty',\n", + " 'fillcolor': 'rgba(255, 0, 0, 0.25)',\n", + " 'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': '19e679ec-6091-4d93-930e-7269833d92a3',\n", + " 'x': array([datetime.datetime(2024, 1, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 2, 28, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1., 1., 1., ..., 1., 1., 1.]),\n", + " 'yaxis': 'y3'},\n", + " {'legendgroup': '1',\n", + " 'line': {'color': '#9467bd'},\n", + " 'mode': 'lines',\n", + " 'name': 'Value',\n", + " 'showlegend': True,\n", + " 'type': 'scatter',\n", + " 'uid': 'f8a1d4e0-d6f3-46ce-9d3e-df09f8d7a206',\n", + " 'x': array([datetime.datetime(2024, 1, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 2, 28, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1. , 1. , 1. , ..., 1.01400217, 1.01400217,\n", + " 1.01400217]),\n", + " 'yaxis': 'y3'},\n", + " {'hoverinfo': 'skip',\n", + " 'line': {'color': 'rgba(0, 0, 0, 0)', 'width': 0},\n", + " 'mode': 'lines',\n", + " 'opacity': 0.0,\n", + " 'showlegend': False,\n", + " 'type': 'scatter',\n", + " 'uid': 'fcc468a9-d6f9-416b-abbe-d59fcd5e9118',\n", + " 'x': array([datetime.datetime(2024, 1, 2, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 1, 2, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 2, 28, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 2, 28, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x3',\n", + " 'y': array([1, 1, 1, ..., 1, 1, 1]),\n", + " 'yaxis': 'y3'}],\n", + " 'layout': {'annotations': [{'font': {'size': 16},\n", + " 'showarrow': False,\n", + " 'text': 'Orders',\n", + " 'x': 0.5,\n", + " 'xanchor': 'center',\n", + " 'xref': 'paper',\n", + " 'y': 1.0,\n", + " 'yanchor': 'bottom',\n", + " 'yref': 'paper'},\n", + " {'font': {'size': 16},\n", + " 'showarrow': False,\n", + " 'text': 'Trade PnL',\n", + " 'x': 0.5,\n", + " 'xanchor': 'center',\n", + " 'xref': 'paper',\n", + " 'y': 0.6527777777777777,\n", + " 'yanchor': 'bottom',\n", + " 'yref': 'paper'},\n", + " {'font': {'size': 16},\n", + " 'showarrow': False,\n", + " 'text': 'Cumulative Returns',\n", + " 'x': 0.5,\n", + " 'xanchor': 'center',\n", + " 'xref': 'paper',\n", + " 'y': 0.3055555555555555,\n", + " 'yanchor': 'bottom',\n", + " 'yref': 'paper'}],\n", + " 'height': 960,\n", + " 'legend': {'orientation': 'h',\n", + " 'traceorder': 'normal',\n", + " 'x': 1,\n", + " 'xanchor': 'right',\n", + " 'y': 1.0416666666666667,\n", + " 'yanchor': 'bottom'},\n", + " 'margin': {'b': 30, 'l': 30, 'r': 30, 't': 30},\n", + " 'shapes': [{'line': {'color': 'gray', 'dash': 'dash'},\n", + " 'type': 'line',\n", + " 'x0': 0.0,\n", + " 'x1': 1.0,\n", + " 'xref': 'paper',\n", + " 'y0': 0,\n", + " 'y1': 0,\n", + " 'yref': 'y2'},\n", + " {'line': {'color': 'gray', 'dash': 'dash'},\n", + " 'type': 'line',\n", + " 'x0': 0.0,\n", + " 'x1': 1.0,\n", + " 'xref': 'paper',\n", + " 'y0': 1,\n", + " 'y1': 1,\n", + " 'yref': 'y3'}],\n", + " 'showlegend': True,\n", + " 'template': '...',\n", + " 'width': 1330,\n", + " 'xaxis': {'anchor': 'y',\n", + " 'domain': [0.0, 1.0],\n", + " 'matches': 'x3',\n", + " 'rangeslider': {'visible': False},\n", + " 'showticklabels': False},\n", + " 'xaxis2': {'anchor': 'y2', 'domain': [0.0, 1.0], 'matches': 'x3', 'showticklabels': False},\n", + " 'xaxis3': {'anchor': 'y3', 'domain': [0.0, 1.0], 'title': {'text': 'Index'}},\n", + " 'yaxis': {'anchor': 'x', 'domain': [0.6944444444444444, 1.0], 'title': {'text': 'Price'}},\n", + " 'yaxis2': {'anchor': 'x2',\n", + " 'domain': [0.3472222222222222, 0.6527777777777777],\n", + " 'tickformat': '.2%',\n", + " 'title': {'text': 'Trade PnL'}},\n", + " 'yaxis3': {'anchor': 'x3', 'domain': [0.0, 0.3055555555555555], 'title': {'text': 'Cumulative returns'}}}\n", + "})" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pf.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "
Drawdown IdColumnStart IndexValley IndexEnd IndexStart ValueValley ValueEnd ValueStatus
\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)
\n", + "\n" + ], + "text/plain": [ + " Drawdown Id Column Start Index \\\n", + "0 0 (0.0018, 0.0068) 2024-01-03 09:31:04-05:00 \n", + "1 1 (0.0018, 0.0068) 2024-01-03 09:31:07-05:00 \n", + "2 2 (0.0018, 0.0068) 2024-01-03 09:31:11-05:00 \n", + "3 3 (0.0018, 0.0068) 2024-01-03 09:31:18-05:00 \n", + "4 4 (0.0018, 0.0068) 2024-01-03 09:48:07-05:00 \n", + ".. ... ... ... \n", + "34 34 (0.0018, 0.0068) 2024-01-12 12:23:26-05:00 \n", + "35 35 (0.0018, 0.0068) 2024-01-12 12:23:31-05:00 \n", + "36 36 (0.0018, 0.0068) 2024-01-12 12:32:23-05:00 \n", + "37 37 (0.0018, 0.0068) 2024-01-12 12:32:27-05:00 \n", + "38 38 (0.0018, 0.0068) 2024-01-12 12:32:36-05:00 \n", + "\n", + " Valley Index End Index Start Value \\\n", + "0 2024-01-03 09:31:05-05:00 2024-01-03 09:31:06-05:00 100.000000 \n", + "1 2024-01-03 09:31:10-05:00 2024-01-03 09:31:11-05:00 100.057784 \n", + "2 2024-01-03 09:31:13-05:00 2024-01-03 09:31:16-05:00 100.102472 \n", + "3 2024-01-03 09:32:39-05:00 2024-01-03 09:48:05-05:00 100.162057 \n", + "4 2024-01-03 09:48:08-05:00 2024-01-03 09:48:11-05:00 100.186396 \n", + ".. ... ... ... \n", + "34 2024-01-12 12:23:28-05:00 2024-01-12 12:23:29-05:00 100.981534 \n", + "35 2024-01-12 12:26:27-05:00 2024-01-12 12:32:23-05:00 101.089545 \n", + "36 2024-01-12 12:32:24-05:00 2024-01-12 12:32:25-05:00 101.089545 \n", + "37 2024-01-12 12:32:28-05:00 2024-01-12 12:32:36-05:00 101.104975 \n", + "38 2024-02-21 09:35:15-05:00 2024-02-28 15:59:59-05:00 101.104975 \n", + "\n", + " Valley Value End Value Status \n", + "0 99.983303 100.057784 Recovered \n", + "1 100.042888 100.102472 Recovered \n", + "2 100.057784 100.102472 Recovered \n", + "3 99.650958 100.171522 Recovered \n", + "4 100.171522 100.201269 Recovered \n", + ".. ... ... ... \n", + "34 100.968881 101.043254 Recovered \n", + "35 100.858092 101.089545 Recovered \n", + "36 101.074115 101.089545 Recovered \n", + "37 101.089545 101.104975 Recovered \n", + "38 99.788058 99.788058 Active \n", + "\n", + "[39 rows x 9 columns]" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pf.get_drawdowns().records_readable" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "
Order IdColumnSignal IndexCreation IndexFill IndexSizePriceFeesSideTypeStop Type
\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)
\n", + "\n" + ], + "text/plain": [ + " Order Id Column Signal Index Creation Index \\\n", + "0 0 0 2024-01-03 09:31:06-05:00 2024-01-03 09:31:06-05:00 \n", + "1 1 0 2024-01-03 09:31:06-05:00 2024-01-03 09:48:40-05:00 \n", + "2 2 0 2024-01-04 09:33:14-05:00 2024-01-04 09:33:14-05:00 \n", + "3 3 0 2024-01-04 09:33:14-05:00 2024-01-04 09:43:31-05:00 \n", + "4 4 0 2024-01-05 09:31:23-05:00 2024-01-05 09:31:23-05:00 \n", + ".. ... ... ... ... \n", + "51 51 0 2024-02-21 09:34:52-05:00 2024-02-21 09:45:00-05:00 \n", + "52 52 0 2024-02-22 09:31:22-05:00 2024-02-22 09:31:22-05:00 \n", + "53 53 0 2024-02-22 09:31:22-05:00 2024-02-22 09:38:13-05:00 \n", + "54 54 0 2024-02-23 09:31:25-05:00 2024-02-23 09:31:25-05:00 \n", + "55 55 0 2024-02-23 09:31:25-05:00 2024-02-23 09:35:02-05:00 \n", + "\n", + " Fill Index Size Price Fees Side Type \\\n", + "0 2024-01-03 09:31:06-05:00 2.981461 33.535000 0.016697 Sell Market \n", + "1 2024-01-03 09:48:40-05:00 2.981461 33.357264 0.016609 Buy Market \n", + "2 2024-01-04 09:33:14-05:00 2.976739 33.755000 0.016780 Sell Market \n", + "3 2024-01-04 09:43:31-05:00 2.976739 33.821568 0.016813 Buy Market \n", + "4 2024-01-05 09:31:23-05:00 2.972516 33.725000 0.016741 Sell Market \n", + ".. ... ... ... ... ... ... \n", + "51 2024-02-21 09:45:00-05:00 3.023216 33.334240 0.016830 Buy Market \n", + "52 2024-02-22 09:31:22-05:00 3.001125 33.580000 0.016830 Sell Market \n", + "53 2024-02-22 09:38:13-05:00 3.001125 33.620000 0.016850 Buy Market \n", + "54 2024-02-23 09:31:25-05:00 2.990315 33.650000 0.016804 Sell Market \n", + "55 2024-02-23 09:35:02-05:00 2.990315 33.654100 0.016806 Buy Market \n", + "\n", + " Stop Type \n", + "0 None \n", + "1 TP \n", + "2 None \n", + "3 TSL \n", + "4 None \n", + ".. ... \n", + "51 TSL \n", + "52 None \n", + "53 TSL \n", + "54 None \n", + "55 TSL \n", + "\n", + "[56 rows x 11 columns]" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pf.orders.records_readable" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/research/test1sbars.ipynb b/research/test1sbars.ipynb new file mode 100644 index 0000000..d4f3dc3 --- /dev/null +++ b/research/test1sbars.ipynb @@ -0,0 +1,421 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from v2realbot.tools.loadbatch import load_batch\n", + "from v2realbot.utils.utils import zoneNY\n", + "import pandas as pd\n", + "import numpy as np\n", + "import vectorbtpro as vbt\n", + "from itables import init_notebook_mode, show\n", + "\n", + "init_notebook_mode(all_interactive=True)\n", + "\n", + "vbt.settings.set_theme(\"dark\")\n", + "vbt.settings['plotting']['layout']['width'] = 1280\n", + "vbt.settings.plotting.auto_rangebreaks = True\n", + "# Set the option to display with pagination\n", + "pd.set_option('display.notebook_repr_html', True)\n", + "pd.set_option('display.max_rows', 10) # Number of rows per page\n", + "\n", + "res, df = load_batch(batch_id=\"0fb5043a\", #46 days 1.3 - 6.5.\n", + " space_resolution_evenly=False,\n", + " indicators_columns=[\"Rsi14\"],\n", + " main_session_only=True,\n", + " verbose = False)\n", + "if res < 0:\n", + " print(\"Error\" + str(res) + str(df))\n", + "df = df[\"bars\"]\n", + "\n", + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# filter dates" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#filter na dny\n", + "# dates_of_interest = pd.to_datetime(['2024-04-22', '2024-04-23']).tz_localize('US/Eastern')\n", + "# filtered_df = df.loc[df.index.normalize().isin(dates_of_interest)]\n", + "\n", + "# df = filtered_df\n", + "# df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import plotly.io as pio\n", + "pio.renderers.default = 'notebook'\n", + "\n", + "#naloadujeme do vbt symbol as column\n", + "basic_data = vbt.Data.from_data({\"BAC\": df}, tz_convert=zoneNY)\n", + "start_date = pd.Timestamp('2024-03-12 09:30', tz=zoneNY)\n", + "end_date = pd.Timestamp('2024-03-13 16:00', tz=zoneNY)\n", + "\n", + "#basic_data = basic_data.transform(lambda df: df[df.index.date == start_date.date()])\n", + "#basic_data = basic_data.transform(lambda df: df[(df.index >= start_date) & (df.index <= end_date)])\n", + "#basic_data.data[\"BAC\"].info()\n", + "\n", + "# fig = basic_data.plot(plot_volume=False)\n", + "# pivot_info = basic_data.run(\"pivotinfo\", up_th=0.003, down_th=0.002)\n", + "# #pivot_info.plot()\n", + "# pivot_info.plot(fig=fig, conf_value_trace_kwargs=dict(visible=True))\n", + "# fig.show()\n", + "\n", + "\n", + "# rsi14 = basic_data.data[\"BAC\"][\"Rsi14\"].rename(\"Rsi14\")\n", + "\n", + "# rsi14.vbt.plot().show()\n", + "#basic_data.xloc[\"09:30\":\"10:00\"].data[\"BAC\"].vbt.ohlcv.plot().show()\n", + "\n", + "vbt.settings.plotting.auto_rangebreaks = True\n", + "#basic_data.data[\"BAC\"].vbt.ohlcv.plot()\n", + "\n", + "#basic_data.data[\"BAC\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m1_data = basic_data[['Open', 'High', 'Low', 'Close', 'Volume']]\n", + "\n", + "m1_data.data[\"BAC\"]\n", + "#m5_data = m1_data.resample(\"5T\")\n", + "\n", + "#m5_data.data[\"BAC\"].head(10)\n", + "\n", + "# m15_data = m1_data.resample(\"15T\")\n", + "\n", + "# m15 = m15_data.data[\"BAC\"]\n", + "\n", + "# m15.vbt.ohlcv.plot()\n", + "\n", + "# m1_data.wrapper.index\n", + "\n", + "# m1_resampler = m1_data.wrapper.get_resampler(\"1T\")\n", + "# m1_resampler.index_difference(reverse=True)\n", + "\n", + "\n", + "# m5_resampler.prettify()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# defining ENTRY WINDOW and forced EXIT window" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#m1_data.data[\"BAC\"].info()\n", + "import datetime\n", + "# Define the market open and close times\n", + "market_open = datetime.time(9, 30)\n", + "market_close = datetime.time(16, 0)\n", + "entry_window_opens = 1\n", + "entry_window_closes = 350\n", + "\n", + "forced_exit_start = 380\n", + "forced_exit_end = 390\n", + "\n", + "forced_exit = m1_data.symbol_wrapper.fill(False)\n", + "entry_window_open= m1_data.symbol_wrapper.fill(False)\n", + "\n", + "# Calculate the time difference in minutes from market open for each timestamp\n", + "elapsed_min_from_open = (forced_exit.index.hour - market_open.hour) * 60 + (forced_exit.index.minute - market_open.minute)\n", + "\n", + "entry_window_open[(elapsed_min_from_open >= entry_window_opens) & (elapsed_min_from_open < entry_window_closes)] = True\n", + "forced_exit[(elapsed_min_from_open >= forced_exit_start) & (elapsed_min_from_open < forced_exit_end)] = True\n", + "\n", + "#entry_window_open.info()\n", + "# forced_exit.tail(100)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "close = m1_data.close\n", + "\n", + "rsi = vbt.RSI.run(close, window=14)\n", + "\n", + "long_entries = (rsi.rsi.vbt.crossed_below(20) & entry_window_open)\n", + "long_exits = (rsi.rsi.vbt.crossed_above(70) | forced_exit)\n", + "#long_entries.info()\n", + "#number of trues and falses in long_entries\n", + "long_entries.value_counts()\n", + "#long_exits.value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def plot_rsi(rsi, close, entries, exits):\n", + " fig = vbt.make_subplots(rows=1, cols=1, shared_xaxes=True, specs=[[{\"secondary_y\": True}]], vertical_spacing=0.02, subplot_titles=(\"RSI\", \"Price\" ))\n", + " close.vbt.plot(fig=fig, add_trace_kwargs=dict(secondary_y=True))\n", + " rsi.plot(fig=fig, add_trace_kwargs=dict(secondary_y=False))\n", + " entries.vbt.signals.plot_as_entries(rsi.rsi, fig=fig, add_trace_kwargs=dict(secondary_y=False)) \n", + " exits.vbt.signals.plot_as_exits(rsi.rsi, fig=fig, add_trace_kwargs=dict(secondary_y=False)) \n", + " return fig\n", + "\n", + "plot_rsi(rsi, close, long_entries, long_exits)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "vbt.phelp(vbt.Portfolio.from_signals)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sl_stop = np.arange(0.03/100, 0.2/100, 0.02/100).tolist()\n", + "# Using the round function\n", + "sl_stop = [round(val, 4) for val in sl_stop]\n", + "print(sl_stop)\n", + "sl_stop = vbt.Param(sl_stop) #np.nan mean s no stoploss\n", + "\n", + "pf = vbt.Portfolio.from_signals(close=close, entries=long_entries, sl_stop=sl_stop, tp_stop = sl_stop, exits=long_exits,fees=0.0167/100, freq=\"1s\") #sl_stop=sl_stop, tp_stop = sl_stop, \n", + "\n", + "#pf.stats()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pf.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pf[(0.0015,0.0013)].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pf[0.03].plot_trade_signals()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# pristup k pf jako multi index" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#pf[0.03].plot()\n", + "#pf.order_records\n", + "pf[(0.03)].stats()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#zgrupovane statistiky\n", + "stats_df = pf.stats([\n", + " 'total_return',\n", + " 'total_trades',\n", + " 'win_rate',\n", + " 'expectancy'\n", + "], agg_func=None)\n", + "stats_df\n", + "\n", + "\n", + "stats_df.nlargest(50, 'Total Return [%]')\n", + "#stats_df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pf[(0.0011,0.0013)].plot()\n", + "\n", + "#pf[(0.0011,0.0013000000000000002)].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pandas.tseries.offsets import DateOffset\n", + "\n", + "temp_data = basic_data['2024-4-22']\n", + "temp_data\n", + "res1m = temp_data[[\"Open\", \"High\", \"Low\", \"Close\", \"Volume\"]]\n", + "\n", + "# Define a custom date offset that starts at 9:30 AM and spans 4 hours\n", + "custom_offset = DateOffset(hours=4, minutes=30)\n", + "\n", + "# res1m = res1m.get().resample(\"4H\").agg({ \n", + "# \"Open\": \"first\",\n", + "# \"High\": \"max\",\n", + "# \"Low\": \"min\",\n", + "# \"Close\": \"last\",\n", + "# \"Volume\": \"sum\"\n", + "# })\n", + "\n", + "res4h = res1m.resample(\"1h\", resample_kwargs=dict(origin=\"start\"))\n", + "\n", + "res4h.data\n", + "\n", + "res15m = res1m.resample(\"15T\", resample_kwargs=dict(origin=\"start\"))\n", + "\n", + "res15m.data[\"BAC\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@vbt.njit\n", + "def long_entry_place_func_nb(c, low, close, time_in_ns, rsi14, window_open, window_close):\n", + " market_open_minutes = 570 # 9 hours * 60 minutes + 30 minutes\n", + "\n", + " for out_i in range(len(c.out)):\n", + " i = c.from_i + out_i\n", + "\n", + " current_minutes = vbt.dt_nb.hour_nb(time_in_ns[i]) * 60 + vbt.dt_nb.minute_nb(time_in_ns[i])\n", + " #print(\"current_minutes\", current_minutes)\n", + " # Calculate elapsed minutes since market open at 9:30 AM\n", + " elapsed_from_open = current_minutes - market_open_minutes\n", + " elapsed_from_open = elapsed_from_open if elapsed_from_open >= 0 else 0\n", + " #print( \"elapsed_from_open\", elapsed_from_open)\n", + "\n", + " #elapsed_from_open = elapsed_minutes_from_open_nb(time_in_ns) \n", + " in_window = elapsed_from_open > window_open and elapsed_from_open < window_close\n", + " #print(\"in_window\", in_window)\n", + " # if in_window:\n", + " # print(\"in window\")\n", + "\n", + " if in_window and rsi14[i] > 60: # and low[i, c.col] <= hit_price: # and hour == 9: # (4)!\n", + " return out_i\n", + " return -1\n", + "\n", + "@vbt.njit\n", + "def long_exit_place_func_nb(c, high, close, time_index, tp, sl): # (5)!\n", + " entry_i = c.from_i - c.wait\n", + " entry_price = close[entry_i, c.col]\n", + " hit_price = entry_price * (1 + tp)\n", + " stop_price = entry_price * (1 - sl)\n", + " for out_i in range(len(c.out)):\n", + " i = c.from_i + out_i\n", + " last_bar_of_day = vbt.dt_nb.day_changed_nb(time_index[i], time_index[i + 1])\n", + "\n", + " #print(next_day)\n", + " if last_bar_of_day: #pokud je dalsi next day, tak zavirame posledni\n", + " print(\"ted\",out_i)\n", + " return out_i\n", + " if close[i, c.col] >= hit_price or close[i, c.col] <= stop_price :\n", + " return out_i\n", + " return -1\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.DataFrame(np.random.random(size=(5, 10)), columns=list('abcdefghij'))\n", + "\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df.sum()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/research/test1sbars_roc.ipynb b/research/test1sbars_roc.ipynb new file mode 100644 index 0000000..2ee8b94 --- /dev/null +++ b/research/test1sbars_roc.ipynb @@ -0,0 +1,1639 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Activating profile profile1\n",
+       "
\n" + ], + "text/plain": [ + "Activating profile profile1\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
Profile profile1 loaded successfully.\n",
+       "
\n" + ], + "text/plain": [ + "Profile profile1 loaded successfully.\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
Current values:\n",
+       "{\n",
+       "    'AGG_EXCLUDED_TRADES': ['C', 'O', '4', 'B', '7', 'V', 'P', 'W', 'U', 'Z', 'F'],\n",
+       "    'BT_DELAYS': {\n",
+       "        'trigger_to_strat': 0.02,\n",
+       "        'strat_to_sub': 0.023,\n",
+       "        'sub_to_fill': 0.008,\n",
+       "        'fill_to_not': 0.023,\n",
+       "        'limit_order_offset': 0\n",
+       "    },\n",
+       "    'BT_FILL_CONDITION_BUY_LIMIT': <FillCondition.SLOW: 'slow'>,\n",
+       "    'BT_FILL_CONDITION_SELL_LIMIT': <FillCondition.SLOW: 'slow'>,\n",
+       "    'BT_FILL_CONS_TRADES_REQUIRED': 2,\n",
+       "    'BT_FILL_LOG_SURROUNDING_TRADES': 10,\n",
+       "    'BT_FILL_PRICE_MARKET_ORDER_PREMIUM': 0.005,\n",
+       "    'COUNT_API_REQUESTS': False,\n",
+       "    'GROUP_TRADES_WITH_TIMESTAMP_LESS_THAN': 0.003,\n",
+       "    'ILOG_SAVE_LEVEL_FROM': 1,\n",
+       "    'LIVE_DATA_FEED': 'sip',\n",
+       "    'NORMALIZED_TICK_BASE_PRICE': 30.0,\n",
+       "    'OFFLINE_MODE': False,\n",
+       "    'PROD_SERVER_HOSTNAMES': ['tradingeastcoast', 'David-MacBook-Pro.local'],\n",
+       "    'QUIET_MODE': True,\n",
+       "    'TEST_SERVER_HOSTNAMES': ['tradingtest']\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "Current values:\n", + "\u001b[1m{\u001b[0m\n", + " \u001b[32m'AGG_EXCLUDED_TRADES'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'C'\u001b[0m, \u001b[32m'O'\u001b[0m, \u001b[32m'4'\u001b[0m, \u001b[32m'B'\u001b[0m, \u001b[32m'7'\u001b[0m, \u001b[32m'V'\u001b[0m, \u001b[32m'P'\u001b[0m, \u001b[32m'W'\u001b[0m, \u001b[32m'U'\u001b[0m, \u001b[32m'Z'\u001b[0m, \u001b[32m'F'\u001b[0m\u001b[1m]\u001b[0m,\n", + " \u001b[32m'BT_DELAYS'\u001b[0m: \u001b[1m{\u001b[0m\n", + " \u001b[32m'trigger_to_strat'\u001b[0m: \u001b[1;36m0.02\u001b[0m,\n", + " \u001b[32m'strat_to_sub'\u001b[0m: \u001b[1;36m0.023\u001b[0m,\n", + " \u001b[32m'sub_to_fill'\u001b[0m: \u001b[1;36m0.008\u001b[0m,\n", + " \u001b[32m'fill_to_not'\u001b[0m: \u001b[1;36m0.023\u001b[0m,\n", + " \u001b[32m'limit_order_offset'\u001b[0m: \u001b[1;36m0\u001b[0m\n", + " \u001b[1m}\u001b[0m,\n", + " \u001b[32m'BT_FILL_CONDITION_BUY_LIMIT'\u001b[0m: \u001b[1m<\u001b[0m\u001b[1;95mFillCondition.SLOW:\u001b[0m\u001b[39m \u001b[0m\u001b[32m'slow'\u001b[0m\u001b[39m>,\u001b[0m\n", + "\u001b[39m \u001b[0m\u001b[32m'BT_FILL_CONDITION_SELL_LIMIT'\u001b[0m\u001b[39m: \u001b[0m,\n", + " \u001b[32m'BT_FILL_CONS_TRADES_REQUIRED'\u001b[0m: \u001b[1;36m2\u001b[0m,\n", + " \u001b[32m'BT_FILL_LOG_SURROUNDING_TRADES'\u001b[0m: \u001b[1;36m10\u001b[0m,\n", + " \u001b[32m'BT_FILL_PRICE_MARKET_ORDER_PREMIUM'\u001b[0m: \u001b[1;36m0.005\u001b[0m,\n", + " \u001b[32m'COUNT_API_REQUESTS'\u001b[0m: \u001b[3;91mFalse\u001b[0m,\n", + " \u001b[32m'GROUP_TRADES_WITH_TIMESTAMP_LESS_THAN'\u001b[0m: \u001b[1;36m0.003\u001b[0m,\n", + " \u001b[32m'ILOG_SAVE_LEVEL_FROM'\u001b[0m: \u001b[1;36m1\u001b[0m,\n", + " \u001b[32m'LIVE_DATA_FEED'\u001b[0m: \u001b[32m'sip'\u001b[0m,\n", + " \u001b[32m'NORMALIZED_TICK_BASE_PRICE'\u001b[0m: \u001b[1;36m30.0\u001b[0m,\n", + " \u001b[32m'OFFLINE_MODE'\u001b[0m: \u001b[3;91mFalse\u001b[0m,\n", + " \u001b[32m'PROD_SERVER_HOSTNAMES'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'tradingeastcoast'\u001b[0m, \u001b[32m'David-MacBook-Pro.local'\u001b[0m\u001b[1m]\u001b[0m,\n", + " \u001b[32m'QUIET_MODE'\u001b[0m: \u001b[3;92mTrue\u001b[0m,\n", + " \u001b[32m'TEST_SERVER_HOSTNAMES'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'tradingtest'\u001b[0m\u001b[1m]\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
config_handler.active_profile='profile1'\n",
+       "
\n" + ], + "text/plain": [ + "config_handler.\u001b[33mactive_profile\u001b[0m=\u001b[32m'profile1'\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
config handler initialized\n",
+       "
\n" + ], + "text/plain": [ + "config handler initialized\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Realtime Websocket connection will use FEED: sip and credential of ACCOUNT1\n" + ] + }, + { + "data": { + "text/html": [ + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from v2realbot.tools.loadbatch import load_batch\n", + "from v2realbot.utils.utils import zoneNY\n", + "import pandas as pd\n", + "import numpy as np\n", + "import vectorbtpro as vbt\n", + "from itables import init_notebook_mode, show\n", + "import datetime\n", + "from itertools import product\n", + "\n", + "init_notebook_mode(all_interactive=True)\n", + "\n", + "vbt.settings.set_theme(\"dark\")\n", + "vbt.settings['plotting']['layout']['width'] = 1280\n", + "vbt.settings.plotting.auto_rangebreaks = True\n", + "# Set the option to display with pagination\n", + "pd.set_option('display.notebook_repr_html', True)\n", + "pd.set_option('display.max_rows', 10) # Number of rows per page\n", + "\n", + "# Define the market open and close times\n", + "market_open = datetime.time(9, 30)\n", + "market_close = datetime.time(16, 0)\n", + "entry_window_opens = 1\n", + "entry_window_closes = 370\n", + "\n", + "forced_exit_start = 380\n", + "forced_exit_end = 390\n", + "\n", + "res, df = load_batch(batch_id=\"0fb5043a\", #0fb5043a bde6d0be\n", + " space_resolution_evenly=False,\n", + " indicators_columns=[\"Rsi14\"],\n", + " main_session_only=True,\n", + " verbose = False)\n", + "if res < 0:\n", + " print(\"Error\" + str(res) + str(df))\n", + "df = df[\"bars\"]\n", + "\n", + "#df\n", + "\n", + "basic_data = vbt.Data.from_data(vbt.symbol_dict({\"BAC\": df}), tz_convert=zoneNY)\n", + "#m1_data = basic_data[['Open', 'High', 'Low', 'Close', 'Volume']]\n", + "basic_data = basic_data.transform(lambda df: df.between_time('09:30', '16:00'))\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#parameters (primary y line, secondary y line, close)\n", + "def plot_2y_close(priminds, secinds, close):\n", + " fig = vbt.make_subplots(rows=1, cols=1, shared_xaxes=True, specs=[[{\"secondary_y\": True}]], vertical_spacing=0.02, subplot_titles=(\"MOM\", \"Price\" ))\n", + " close.vbt.plot(fig=fig, add_trace_kwargs=dict(secondary_y=False), trace_kwargs=dict(line=dict(color=\"blue\")))\n", + " for ind in priminds:\n", + " ind.plot(fig=fig, add_trace_kwargs=dict(secondary_y=False))\n", + " for ind in secinds:\n", + " ind.plot(fig=fig, add_trace_kwargs=dict(secondary_y=True))\n", + " return fig\n", + "\n", + "# close = basic_data.xloc[\"09:30\":\"10:00\"].close" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "432df5ba322140efacd83f8f97fbcf51", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " Total Return [%]\n", + " Max Drawdown [%]\n", + " Total Trades\n", + " Win Rate [%]\n", + " Expectancy\n", + " \n", + " \n", + " entry_window_closes\n", + " mom_timeperiod\n", + " mom_th\n", + " sl_stop\n", + " tp_stop\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)\n", + "
\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + " Total Return [%] \\\n", + "entry_window_closes mom_timeperiod mom_th sl_stop tp_stop \n", + "17 9 0.07 0.0043 0.0063 3.167786 \n", + "2 6 0.03 0.0048 0.0063 2.779712 \n", + " 10 0.03 0.0038 0.0063 2.643149 \n", + "8 3 0.07 0.0028 0.0033 2.239084 \n", + "11 3 0.07 0.0033 0.0053 2.202983 \n", + "... ... \n", + "32 11 0.01 0.0003 0.0068 -35.436208 \n", + "47 4 0.01 0.0008 0.0038 -38.02391 \n", + "35 11 0.01 0.0003 0.0033 -38.769788 \n", + " 9 0.01 0.0003 0.0008 -48.84716 \n", + "47 2 0.01 0.0003 0.0063 -53.943508 \n", + "\n", + " Max Drawdown [%] \\\n", + "entry_window_closes mom_timeperiod mom_th sl_stop tp_stop \n", + "17 9 0.07 0.0043 0.0063 2.202921 \n", + "2 6 0.03 0.0048 0.0063 2.321028 \n", + " 10 0.03 0.0038 0.0063 2.285255 \n", + "8 3 0.07 0.0028 0.0033 0.726632 \n", + "11 3 0.07 0.0033 0.0053 0.845649 \n", + "... ... \n", + "32 11 0.01 0.0003 0.0068 35.466976 \n", + "47 4 0.01 0.0008 0.0038 38.350362 \n", + "35 11 0.01 0.0003 0.0033 38.798915 \n", + " 9 0.01 0.0003 0.0008 48.871493 \n", + "47 2 0.01 0.0003 0.0063 53.971448 \n", + "\n", + " Total Trades \\\n", + "entry_window_closes mom_timeperiod mom_th sl_stop tp_stop \n", + "17 9 0.07 0.0043 0.0063 55 \n", + "2 6 0.03 0.0048 0.0063 44 \n", + " 10 0.03 0.0038 0.0063 45 \n", + "8 3 0.07 0.0028 0.0033 16 \n", + "11 3 0.07 0.0033 0.0053 18 \n", + "... ... \n", + "32 11 0.01 0.0003 0.0068 2239 \n", + "47 4 0.01 0.0008 0.0038 1805 \n", + "35 11 0.01 0.0003 0.0033 2406 \n", + " 9 0.01 0.0003 0.0008 2604 \n", + "47 2 0.01 0.0003 0.0063 3624 \n", + "\n", + " Win Rate [%] \\\n", + "entry_window_closes mom_timeperiod mom_th sl_stop tp_stop \n", + "17 9 0.07 0.0043 0.0063 43.636364 \n", + "2 6 0.03 0.0048 0.0063 45.454545 \n", + " 10 0.03 0.0038 0.0063 40.0 \n", + "8 3 0.07 0.0028 0.0033 75.0 \n", + "11 3 0.07 0.0033 0.0053 66.666667 \n", + "... ... \n", + "32 11 0.01 0.0003 0.0068 25.636445 \n", + "47 4 0.01 0.0008 0.0038 28.033241 \n", + "35 11 0.01 0.0003 0.0033 25.103907 \n", + " 9 0.01 0.0003 0.0008 25.076805 \n", + "47 2 0.01 0.0003 0.0063 23.289183 \n", + "\n", + " Expectancy \n", + "entry_window_closes mom_timeperiod mom_th sl_stop tp_stop \n", + "17 9 0.07 0.0043 0.0063 0.057596 \n", + "2 6 0.03 0.0048 0.0063 0.063175 \n", + " 10 0.03 0.0038 0.0063 0.058737 \n", + "8 3 0.07 0.0028 0.0033 0.139943 \n", + "11 3 0.07 0.0033 0.0053 0.122388 \n", + "... ... \n", + "32 11 0.01 0.0003 0.0068 -0.015827 \n", + "47 4 0.01 0.0008 0.0038 -0.021066 \n", + "35 11 0.01 0.0003 0.0033 -0.016114 \n", + " 9 0.01 0.0003 0.0008 -0.018759 \n", + "47 2 0.01 0.0003 0.0063 -0.014885 \n", + "\n", + "[1000 rows x 5 columns]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#PIPELINE - FOR - LOOP\n", + "\n", + "#indicator parameters\n", + "mom_timeperiod = list(range(2, 12))\n", + "\n", + "#uzavreni okna od 1 do 200\n", + "entry_window_closes = list(range(2, 50, 3))\n", + "#entry_window_closes = [3, 7, 15, 29, 45, 50, 70]\n", + "#threshold entries parameters\n", + "#long\n", + "mom_th = np.round(np.arange(0.01, 0.5 + 0.02, 0.02),4).tolist()#-0.02\n", + "# short mom_th = np.round(np.arange(-0.01, -0.3 - 0.02, -0.02),4).tolist()#-0.02\n", + "roc_th = np.round(np.arange(-0.2, -0.8 - 0.05, -0.05),4).tolist()#-0.2\n", + "#print(mom_th, roc_th)\n", + "\n", + "#portfolio simulation parameters\n", + "sl_stop =np.round(np.arange(0.03/100, 0.7/100, 0.05/100),4).tolist()\n", + "tp_stop = np.round(np.arange(0.03/100, 0.7/100, 0.05/100),4).tolist()\n", + "\n", + "combs = list(product(mom_timeperiod, mom_th, roc_th, sl_stop, tp_stop))\n", + "\n", + "@vbt.parameterized(merge_func = \"concat\", random_subset = 1000, show_progress=True) \n", + "def test_strat(entry_window_closes=60,\n", + " mom_timeperiod=2,\n", + " mom_th=-0.04,\n", + " #roc_th=-0.2,\n", + " sl_stop=0.19/100,\n", + " tp_stop=0.19/100):\n", + " # mom_timeperiod=2\n", + " # mom_th=-0.06\n", + " # roc_th=-0.2\n", + " # sl_stop=0.04/100\n", + " # tp_stop=0.04/100\n", + "\n", + " momshort = vbt.indicator(\"talib:MOM\").run(basic_data.close, timeperiod=mom_timeperiod, short_name = \"slope_short\")\n", + " rocp = vbt.indicator(\"talib:ROC\").run(basic_data.close, short_name = \"rocp\")\n", + " #rate of change + momentum\n", + "\n", + " #momshort.plot rocp.real_crossed_below(roc_th) & \n", + " short_signal = momshort.real_crossed_below(mom_th)\n", + " long_signal = momshort.real_crossed_above(mom_th)\n", + " # print(\"short signal\")\n", + " # print(short_signal.value_counts())\n", + "\n", + " #forced_exit = pd.Series(False, index=close.index)\n", + " forced_exit = basic_data.symbol_wrapper.fill(False)\n", + " #entry_window_open = pd.Series(False, index=close.index)\n", + " entry_window_open= basic_data.symbol_wrapper.fill(False)\n", + "\n", + " #print(entry_window_closes, \"entry window closes\")\n", + " # Calculate the time difference in minutes from market open for each timestamp\n", + " elapsed_min_from_open = (forced_exit.index.hour - market_open.hour) * 60 + (forced_exit.index.minute - market_open.minute)\n", + "\n", + " entry_window_open[(elapsed_min_from_open >= entry_window_opens) & (elapsed_min_from_open < entry_window_closes)] = True\n", + "\n", + " #print(entry_window_open.value_counts())\n", + "\n", + " forced_exit[(elapsed_min_from_open >= forced_exit_start) & (elapsed_min_from_open < forced_exit_end)] = True\n", + " short_entries = (short_signal & entry_window_open)\n", + " short_exits = forced_exit\n", + " entries = (long_signal & entry_window_open)\n", + " exits = forced_exit\n", + " #long_entries.info()\n", + " #number of trues and falses in long_entries\n", + " # print(short_exits.value_counts())\n", + " # print(short_entries.value_counts())\n", + "\n", + " #fig = plot_2y_close([],[momshort, rocp], close)\n", + " #short_signal.vbt.signals.plot_as_entries(close, fig=fig, add_trace_kwargs=dict(secondary_y=False))\n", + " #print(sl_stop)\n", + " #tsl_th=sl_stop, \n", + " #short_entries=short_entries, short_exits=short_exits,\n", + " pf = vbt.Portfolio.from_signals(close=basic_data.close, entries=entries, exits=exits, tsl_stop=sl_stop, tp_stop = tp_stop, fees=0.0167/100, freq=\"1s\", price=\"nextopen\") #sl_stop=sl_stop, tp_stop = sl_stop,\n", + " \n", + " return pf.stats([\n", + " 'total_return',\n", + " 'max_dd', \n", + " 'total_trades', \n", + " 'win_rate', \n", + " 'expectancy'\n", + " ])\n", + "\n", + "pf_results = test_strat(vbt.Param(entry_window_closes),\n", + " vbt.Param(mom_timeperiod),\n", + " vbt.Param(mom_th),\n", + " #vbt.Param(roc_th)\n", + " vbt.Param(sl_stop),\n", + " vbt.Param(tp_stop, condition=\"tp_stop > sl_stop\"))\n", + "pf_results = pf_results.unstack(level=-1)\n", + "pf_results.sort_values(by=[\"Total Return [%]\", \"Max Drawdown [%]\"], ascending=[False, True])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "PosixPath('8tiscomb_tsl.pickle')" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#pf_results.load(\"10tiscomb.pickle\")\n", + "#pf_results.info()\n", + "\n", + "vbt.save(pf_results, \"8tiscomb_tsl.pickle\")\n", + "\n", + "# pf_results = vbt.load(\"8tiscomb_tsl.pickle\")\n", + "# pf_results\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'PXDFAccessor' object has no attribute 'pairplot'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[13], line 12\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# parallel_coordinates method¶\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \n\u001b[1;32m 3\u001b[0m \u001b[38;5;66;03m# attach_px_methods..plot_func(\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 8\u001b[0m \n\u001b[1;32m 9\u001b[0m \u001b[38;5;66;03m# pf_results.vbt.px.parallel_coordinates() #ocdf\u001b[39;00m\n\u001b[1;32m 11\u001b[0m res \u001b[38;5;241m=\u001b[39m pf_results\u001b[38;5;241m.\u001b[39mreset_index()\n\u001b[0;32m---> 12\u001b[0m \u001b[43mres\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mvbt\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpx\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpairplot\u001b[49m()\n", + "\u001b[0;31mAttributeError\u001b[0m: 'PXDFAccessor' object has no attribute 'pairplot'" + ] + } + ], + "source": [ + "# parallel_coordinates method¶\n", + "\n", + "# attach_px_methods..plot_func(\n", + "# *args,\n", + "# layout=None,\n", + "# **kwargs\n", + "# )\n", + "\n", + "# pf_results.vbt.px.parallel_coordinates() #ocdf\n", + "\n", + "res = pf_results.reset_index()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "
entry_window_closesmom_timeperiodmom_thsl_stoptp_stopTotal Return [%]Max Drawdown [%]Total TradesWin Rate [%]Expectancy
\n", + "\n", + "
\n", + "Loading ITables v2.0.1 from the init_notebook_mode cell...\n", + "(need help?)
\n", + "\n" + ], + "text/plain": [ + " entry_window_closes mom_timeperiod mom_th sl_stop tp_stop \\\n", + "0 3 2 -0.31 0.0003 0.0018 \n", + "1 3 2 -0.31 0.0003 0.0068 \n", + "2 3 2 -0.31 0.0013 0.0028 \n", + "3 3 2 -0.31 0.0013 0.0058 \n", + "4 3 2 -0.31 0.0018 0.0038 \n", + "... ... ... ... ... ... \n", + "7995 70 11 -0.01 0.0003 0.0018 \n", + "7996 70 11 -0.01 0.0003 0.0038 \n", + "7997 70 11 -0.01 0.0028 0.0038 \n", + "7998 70 11 -0.01 0.0033 0.0053 \n", + "7999 70 11 -0.01 0.0038 0.0053 \n", + "\n", + " Total Return [%] Max Drawdown [%] Total Trades Win Rate [%] Expectancy \n", + "0 0.0 NaN 0 NaN NaN \n", + "1 0.0 NaN 0 NaN NaN \n", + "2 0.0 NaN 0 NaN NaN \n", + "3 0.0 NaN 0 NaN NaN \n", + "4 0.0 NaN 0 NaN NaN \n", + "... ... ... ... ... ... \n", + "7995 -60.724025 60.747552 4025 23.701863 -0.015087 \n", + "7996 -59.557376 59.581603 4017 23.749066 -0.014826 \n", + "7997 -13.574229 16.599702 451 33.259424 -0.030098 \n", + "7998 -9.970892 14.327723 338 34.023669 -0.0295 \n", + "7999 -7.135743 12.027996 280 34.642857 -0.025485 \n", + "\n", + "[8000 rows x 10 columns]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pf_results" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/8p/dwqnp65s0s77jdbm4_6z4vp80000gn/T/ipykernel_3935/927237224.py:13: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\n", + "The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\n", + "\n", + "For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\n", + "\n", + "\n", + " pf_results['Max Drawdown [%]'].fillna(pf_results['Max Drawdown [%]'].median(), inplace=True)\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "from sklearn.decomposition import PCA\n", + "from sklearn.preprocessing import StandardScaler\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Assuming pf_results is your DataFrame\n", + "# Convert columns to numeric, assuming NaNs where conversion fails\n", + "metrics = ['Total Return [%]', 'Max Drawdown [%]', 'Total Trades']\n", + "for metric in metrics:\n", + " pf_results[metric] = pd.to_numeric(pf_results[metric], errors='coerce')\n", + "\n", + "# Handle missing values, for example filling with the median\n", + "pf_results['Max Drawdown [%]'].fillna(pf_results['Max Drawdown [%]'].median(), inplace=True)\n", + "\n", + "# Extract the metrics into a new DataFrame\n", + "data_for_pca = pf_results[metrics]\n", + "\n", + "# Standardize the data before applying PCA\n", + "scaler = StandardScaler()\n", + "data_scaled = scaler.fit_transform(data_for_pca)\n", + "\n", + "# Apply PCA\n", + "pca = PCA(n_components=2) # Adjust components as needed\n", + "principal_components = pca.fit_transform(data_scaled)\n", + "\n", + "# Create a DataFrame with the principal components\n", + "pca_results = pd.DataFrame(data=principal_components, columns=['PC1', 'PC2'])\n", + "\n", + "# Visualize the results\n", + "plt.figure(figsize=(8,6))\n", + "plt.scatter(pca_results['PC1'], pca_results['PC2'], alpha=0.5)\n", + "plt.xlabel('Principal Component 1')\n", + "plt.ylabel('Principal Component 2')\n", + "plt.title('PCA of Strategy Optimization Results')\n", + "plt.grid(True)\n", + "plt.savefig(\"ddd.png\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Check if there is any unnamed level and rename it\n", + "if None in df.index.names:\n", + " # Generate new names list replacing None with 'stat'\n", + " new_names = ['stat' if name is None else name for name in df.index.names]\n", + " df.index.set_names(new_names, inplace=True)\n", + "\n", + "rs= df\n", + "\n", + "rs.info()\n", + "\n", + "\n", + "# # Now, 'stat' is the name of the previously unnamed level\n", + "\n", + "# # Filter for 'Total Return' assuming it is a correct identifier in the 'stat' level\n", + "# total_return_series = df.xs('Total Return [%]', level='stat')\n", + "\n", + "# # Sort the Series to get the largest 'Total Return' values\n", + "# sorted_series = total_return_series.sort_values(ascending=False)\n", + "\n", + "# # Print the sorted filtered data\n", + "# sorted_series.head(20)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sorted_series.vbt.save()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#df.info()\n", + "total_return_series = df.xs('Total Return [%]')\n", + "sorted_series = total_return_series.sort_values(ascending=False)\n", + "\n", + "# Display the top N entries, e.g., top 5\n", + "sorted_series.head(5)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "comb_stats_df.nlargest(10, 'Total Return [%]')\n", + "#stats_df.info()\n", + "\n", + "\n", + "8\t-0.06\t-0.2\t0.0028\t0.0048\t4.156254\n", + "4 -0.02 -0.25 0.0028 0.0048 0.84433\n", + "3 -0.02 -0.25 0.0033 0.0023 Total Return [%] 0.846753\n", + "#2\t-0.04\t-0.2\t0.0019\t0.0019\n", + "# 2\t-0.04\t-0.2\t0.0019\t0.0019\t0.556919\t91\t60.43956\t0.00612\n", + "# 2\t-0.04\t-0.25\t0.0019\t0.0019\t0.556919\t91\t60.43956\t0.00612\n", + "# 2\t-0.04\t-0.3\t0.0019\t0.0019\t0.556919\t91\t60.43956\t0.00612\n", + "# 2\t-0.04\t-0.35\t0.0019\t0.0019\t0.556919\t91\t60.43956\t0.00612\n", + "# 2\t-0.04\t-0.4\t0.0019\t0.0019\t0.556919\t91\t60.43956\t0.00612\n", + "# 2\t-0.04\t-0.2\t0.0019\t0.0017\t0.451338\t93\t63.44086\t0.004853\n", + "# 2\t-0.04\t-0.25\t0.0019\t0.0017\t0.451338\t93\t63.44086\t0.004853\n", + "# 2\t-0.04\t-0.3\t0.0019\t0.0017\t0.451338\t93\t63.44086\t0.004853\n", + "# 2\t-0.04\t-0.35\t0.0019\t0.0017\t0.451338\t93\t63.44086\t0.004853\n", + "# 2\t-0.04\t-0.4\t0.0019\t0.0017\t0.451338\t93\t63.44086\t0.004853" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pf.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "basic_data.symbols" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + ">>> def apply_func(ts, entries, exits, fastw, sloww, minp=None):\n", + "... fast_ma = vbt.nb.rolling_mean_nb(ts, fastw, minp=minp)\n", + "... slow_ma = vbt.nb.rolling_mean_nb(ts, sloww, minp=minp)\n", + "... entries[:] = vbt.nb.crossed_above_nb(fast_ma, slow_ma) \n", + "... exits[:] = vbt.nb.crossed_above_nb(slow_ma, fast_ma)\n", + "... return (fast_ma, slow_ma) \n", + "\n", + ">>> CrossSig = vbt.IF(\n", + "... class_name=\"CrossSig\",\n", + "... input_names=['ts'],\n", + "... in_output_names=['entries', 'exits'],\n", + "... param_names=['fastw', 'sloww'],\n", + "... output_names=['fast_ma', 'slow_ma']\n", + "... ).with_apply_func(\n", + "... apply_func,\n", + "... in_output_settings=dict(\n", + "... entries=dict(dtype=np.bool_), #initialize output with bool\n", + "... exits=dict(dtype=np.bool_)\n", + "... )\n", + "... )\n", + ">>> cross_sig = CrossSig.run(ts2, 2, 4)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#PIPELINE - parameters in one go\n", + "\n", + "\n", + "#TOTO prepsat do FOR-LOOPu\n", + "\n", + "\n", + "#indicator parameters\n", + "mom_timeperiod = list(range(2, 6))\n", + "\n", + "#threshold entries parameters\n", + "mom_th = np.round(np.arange(-0.02, -0.1 - 0.02, -0.02),4).tolist()#-0.02\n", + "roc_th = np.round(np.arange(-0.2, -0.4 - 0.05, -0.05),4).tolist()#-0.2\n", + "#print(mom_th, roc_th)\n", + "#jejich product\n", + "# mom_th_prod, roc_th_prod = zip(*product(mom_th, roc_th))\n", + "\n", + "# #convert threshold to vbt param\n", + "# mom_th_index = vbt.Param(mom_th_prod, name='mom_th_th') \n", + "# roc_th_index = vbt.Param(roc_th_prod, name='roc_th_th')\n", + "\n", + "mom_th = vbt.Param(mom_th, name='mom_th')\n", + "roc_th = vbt.Param(roc_th, name='roc_th')\n", + "\n", + "#portfolio simulation parameters\n", + "sl_stop = np.arange(0.03/100, 0.2/100, 0.02/100).tolist()\n", + "# Using the round function\n", + "sl_stop = [round(val, 4) for val in sl_stop]\n", + "tp_stop = np.arange(0.03/100, 0.2/100, 0.02/100).tolist()\n", + "# Using the round function\n", + "tp_stop = [round(val, 4) for val in tp_stop]\n", + "sl_stop = vbt.Param(sl_stop) #np.nan mean s no stoploss\n", + "tp_stop = vbt.Param(tp_stop) #np.nan mean s no stoploss\n", + "\n", + "\n", + "#def test_mom(window=14, mom_th=0.2, roc_th=0.2, sl_stop=0.03/100, tp_stop=0.03/100):\n", + "#close = basic_data.xloc[\"09:30\":\"10:00\"].close\n", + "momshort = vbt.indicator(\"talib:MOM\").run(basic_data.get(\"Close\"), timeperiod=mom_timeperiod, short_name = \"slope_short\")\n", + "\n", + "#ht_trendline = vbt.indicator(\"talib:HT_TRENDLINE\").run(close, short_name = \"httrendline\")\n", + "rocp = vbt.indicator(\"talib:ROC\").run(basic_data.get(\"Close\"), short_name = \"rocp\")\n", + "#rate of change + momentum\n", + "\n", + "rocp_signal = rocp.real_crossed_below(mom_th)\n", + "mom_signal = momshort.real_crossed_below(roc_th)\n", + "\n", + "#mom_signal\n", + "print(rocp_signal.info())\n", + "print(mom_signal.info())\n", + "#print(rocp.real)\n", + "\n", + "\n", + "short_signal = (mom_signal.vbt & rocp_signal)\n", + "\n", + "# #short_signal = (rocp.real_crossed_below(roc_th_index) & momshort.real_crossed_below(mom_th_index))\n", + "# forced_exit = m1_data.symbol_wrapper.fill(False)\n", + "# entry_window_open= m1_data.symbol_wrapper.fill(False)\n", + "\n", + "\n", + "# # Calculate the time difference in minutes from market open for each timestamp\n", + "# elapsed_min_from_open = (forced_exit.index.hour - market_open.hour) * 60 + (forced_exit.index.minute - market_open.minute)\n", + "\n", + "# entry_window_open[(elapsed_min_from_open >= entry_window_opens) & (elapsed_min_from_open < entry_window_closes)] = True\n", + "# forced_exit[(elapsed_min_from_open >= forced_exit_start) & (elapsed_min_from_open < forced_exit_end)] = True\n", + "# short_entries = (short_signal & entry_window_open)\n", + "# short_exits = forced_exit\n", + "# #long_entries.info()\n", + "# #number of trues and falses in long_entries\n", + "# #short_exits.value_counts()\n", + "# #short_entries.value_counts()\n", + "\n", + "\n", + "# pf = vbt.Portfolio.from_signals(close=close, short_entries=short_entries, short_exits=short_exits, sl_stop=sl_stop, tp_stop = tp_stop, fees=0.0167/100, freq=\"1s\") #sl_stop=sl_stop, tp_stop = sl_stop,\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# filter dates" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#filter na dny\n", + "dates_of_interest = pd.to_datetime(['2024-04-22']).tz_localize('US/Eastern')\n", + "filtered_df = df.loc[df.index.normalize().isin(dates_of_interest)]\n", + "\n", + "df = filtered_df\n", + "df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# import plotly.io as pio\n", + "# pio.renderers.default = 'notebook'\n", + "\n", + "#naloadujeme do vbt symbol as column\n", + "basic_data = vbt.Data.from_data({\"BAC\": df}, tz_convert=zoneNY)\n", + "\n", + "vbt.settings.plotting.auto_rangebreaks = True\n", + "#basic_data.data[\"BAC\"].vbt.ohlcv.plot()\n", + "\n", + "#basic_data.data[\"BAC\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m1_data = basic_data[['Open', 'High', 'Low', 'Close', 'Volume']]\n", + "\n", + "m1_data.data[\"BAC\"]\n", + "#m5_data = m1_data.resample(\"5T\")\n", + "\n", + "#m5_data.data[\"BAC\"].head(10)\n", + "\n", + "# m15_data = m1_data.resample(\"15T\")\n", + "\n", + "# m15 = m15_data.data[\"BAC\"]\n", + "\n", + "# m15.vbt.ohlcv.plot()\n", + "\n", + "# m1_data.wrapper.index\n", + "\n", + "# m1_resampler = m1_data.wrapper.get_resampler(\"1T\")\n", + "# m1_resampler.index_difference(reverse=True)\n", + "\n", + "\n", + "# m5_resampler.prettify()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# MOM indicator" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "vbt.phelp(vbt.indicator(\"talib:ROCP\").run)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "vyuzití rychleho klesani na sekundove urovni behem open rush\n", + "- MOM + ROC during open rush\n", + "- short signal\n", + "- pipeline kombinace thresholdu pro vstup mom_th, roc_th + hodnota sl_stop a tp_stop (pripadne trailing) - nalezeni optimalni kombinace atributu" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# fig = plot_2y_close([ht_trendline],[momshort, rocp], close)\n", + "# short_signal.vbt.signals.plot_as_entries(close, fig=fig, add_trace_kwargs=dict(secondary_y=False)) \n", + "\n", + "#parameters (primary y line, secondary y line, close)\n", + "def plot_2y_close(priminds, secinds, close):\n", + " fig = vbt.make_subplots(rows=1, cols=1, shared_xaxes=True, specs=[[{\"secondary_y\": True}]], vertical_spacing=0.02, subplot_titles=(\"MOM\", \"Price\" ))\n", + " close.vbt.plot(fig=fig, add_trace_kwargs=dict(secondary_y=False), trace_kwargs=dict(line=dict(color=\"blue\")))\n", + " for ind in priminds:\n", + " ind.plot(fig=fig, add_trace_kwargs=dict(secondary_y=False))\n", + " for ind in secinds:\n", + " ind.plot(fig=fig, add_trace_kwargs=dict(secondary_y=True))\n", + " return fig\n", + "\n", + "close = m1_data.xloc[\"09:30\":\"10:00\"].close\n", + "momshort = vbt.indicator(\"talib:MOM\").run(close, timeperiod=3, short_name = \"slope_short\")\n", + "ht_trendline = vbt.indicator(\"talib:HT_TRENDLINE\").run(close, short_name = \"httrendline\")\n", + "rocp = vbt.indicator(\"talib:ROC\").run(close, short_name = \"rocp\")\n", + "#rate of change + momentum\n", + "short_signal = (rocp.real_crossed_below(-0.2) & momshort.real_crossed_below(-0.02))\n", + "#indlong = vbt.indicator(\"talib:MOM\").run(close, timeperiod=10, short_name = \"slope_long\")\n", + "fig = plot_2y_close([ht_trendline],[momshort, rocp], close)\n", + "short_signal.vbt.signals.plot_as_entries(close, fig=fig, add_trace_kwargs=dict(secondary_y=False)) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "close = m1_data.close\n", + "#vbt.phelp(vbt.OLS.run)\n", + "\n", + "#oer steepmnes of regression line\n", + "#talib.LINEARREG_SLOPE(close, timeperiod=timeperiod)\n", + "#a také ON BALANCE VOLUME - http://5.161.179.223:8000/static/js/vbt/api/indicators/custom/obv/index.html\n", + "\n", + "\n", + "\n", + "mom_ind = vbt.indicator(\"talib:MOM\") \n", + "#vbt.phelp(mom_ind.run)\n", + "\n", + "mom = mom_ind.run(close, timeperiod=10)\n", + "\n", + "plot_2y_close(mom, close)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# defining ENTRY WINDOW and forced EXIT window" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#m1_data.data[\"BAC\"].info()\n", + "import datetime\n", + "# Define the market open and close times\n", + "market_open = datetime.time(9, 30)\n", + "market_close = datetime.time(16, 0)\n", + "entry_window_opens = 2\n", + "entry_window_closes = 30\n", + "\n", + "forced_exit_start = 380\n", + "forced_exit_end = 390\n", + "\n", + "forced_exit = m1_data.symbol_wrapper.fill(False)\n", + "entry_window_open= m1_data.symbol_wrapper.fill(False)\n", + "\n", + "# Calculate the time difference in minutes from market open for each timestamp\n", + "elapsed_min_from_open = (forced_exit.index.hour - market_open.hour) * 60 + (forced_exit.index.minute - market_open.minute)\n", + "\n", + "entry_window_open[(elapsed_min_from_open >= entry_window_opens) & (elapsed_min_from_open < entry_window_closes)] = True\n", + "forced_exit[(elapsed_min_from_open >= forced_exit_start) & (elapsed_min_from_open < forced_exit_end)] = True\n", + "\n", + "#entry_window_open.info()\n", + "# forced_exit.tail(100)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "close = m1_data.close\n", + "\n", + "#rsi = vbt.RSI.run(close, window=14)\n", + "\n", + "short_entries = (short_signal & entry_window_open)\n", + "short_exits = forced_exit\n", + "#long_entries.info()\n", + "#number of trues and falses in long_entries\n", + "#short_exits.value_counts()\n", + "short_entries.value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def plot_rsi(close, entries, exits):\n", + " fig = vbt.make_subplots(rows=1, cols=1, shared_xaxes=True, specs=[[{\"secondary_y\": True}]], vertical_spacing=0.02, subplot_titles=(\"RSI\", \"Price\" ))\n", + " close.vbt.plot(fig=fig, add_trace_kwargs=dict(secondary_y=True))\n", + " #rsi.plot(fig=fig, add_trace_kwargs=dict(secondary_y=False))\n", + " entries.vbt.signals.plot_as_entries(close, fig=fig, add_trace_kwargs=dict(secondary_y=False)) \n", + " exits.vbt.signals.plot_as_exits(close, fig=fig, add_trace_kwargs=dict(secondary_y=False)) \n", + " return fig\n", + "\n", + "plot_rsi(close, short_entries, short_exits)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "vbt.phelp(vbt.Portfolio.from_signals)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sl_stop = np.arange(0.03/100, 0.2/100, 0.02/100).tolist()\n", + "# Using the round function\n", + "sl_stop = [round(val, 4) for val in sl_stop]\n", + "print(sl_stop)\n", + "sl_stop = vbt.Param(sl_stop) #np.nan mean s no stoploss\n", + "\n", + "pf = vbt.Portfolio.from_signals(close=close, short_entries=short_entries, short_exits=short_exits, sl_stop=0.03/100, tp_stop = 0.03/100, fees=0.0167/100, freq=\"1s\") #sl_stop=sl_stop, tp_stop = sl_stop,\n", + "\n", + "#pf.stats()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#list of orders\n", + "#pf.orders.records_readable\n", + "#pf.orders.plots()\n", + "#pf.stats()\n", + "pf.stats()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pf.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pf[(0.0015,0.0013)].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pf[0.03].plot_trade_signals()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# pristup k pf jako multi index" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#pf[0.03].plot()\n", + "#pf.order_records\n", + "pf[(0.03)].stats()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#zgrupovane statistiky\n", + "stats_df = pf.stats([\n", + " 'total_return',\n", + " 'total_trades',\n", + " 'win_rate',\n", + " 'expectancy'\n", + "], agg_func=None)\n", + "stats_df\n", + "\n", + "\n", + "stats_df.nlargest(10, 'Total Return [%]')\n", + "#stats_df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pf[(0.0011,0.0013000000000000002)].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pandas.tseries.offsets import DateOffset\n", + "\n", + "temp_data = basic_data['2024-4-22']\n", + "temp_data\n", + "res1m = temp_data[[\"Open\", \"High\", \"Low\", \"Close\", \"Volume\"]]\n", + "\n", + "# Define a custom date offset that starts at 9:30 AM and spans 4 hours\n", + "custom_offset = DateOffset(hours=4, minutes=30)\n", + "\n", + "# res1m = res1m.get().resample(\"4H\").agg({ \n", + "# \"Open\": \"first\",\n", + "# \"High\": \"max\",\n", + "# \"Low\": \"min\",\n", + "# \"Close\": \"last\",\n", + "# \"Volume\": \"sum\"\n", + "# })\n", + "\n", + "res4h = res1m.resample(\"1h\", resample_kwargs=dict(origin=\"start\"))\n", + "\n", + "res4h.data\n", + "\n", + "res15m = res1m.resample(\"15T\", resample_kwargs=dict(origin=\"start\"))\n", + "\n", + "res15m.data[\"BAC\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@vbt.njit\n", + "def long_entry_place_func_nb(c, low, close, time_in_ns, rsi14, window_open, window_close):\n", + " market_open_minutes = 570 # 9 hours * 60 minutes + 30 minutes\n", + "\n", + " for out_i in range(len(c.out)):\n", + " i = c.from_i + out_i\n", + "\n", + " current_minutes = vbt.dt_nb.hour_nb(time_in_ns[i]) * 60 + vbt.dt_nb.minute_nb(time_in_ns[i])\n", + " #print(\"current_minutes\", current_minutes)\n", + " # Calculate elapsed minutes since market open at 9:30 AM\n", + " elapsed_from_open = current_minutes - market_open_minutes\n", + " elapsed_from_open = elapsed_from_open if elapsed_from_open >= 0 else 0\n", + " #print( \"elapsed_from_open\", elapsed_from_open)\n", + "\n", + " #elapsed_from_open = elapsed_minutes_from_open_nb(time_in_ns) \n", + " in_window = elapsed_from_open > window_open and elapsed_from_open < window_close\n", + " #print(\"in_window\", in_window)\n", + " # if in_window:\n", + " # print(\"in window\")\n", + "\n", + " if in_window and rsi14[i] > 60: # and low[i, c.col] <= hit_price: # and hour == 9: # (4)!\n", + " return out_i\n", + " return -1\n", + "\n", + "@vbt.njit\n", + "def long_exit_place_func_nb(c, high, close, time_index, tp, sl): # (5)!\n", + " entry_i = c.from_i - c.wait\n", + " entry_price = close[entry_i, c.col]\n", + " hit_price = entry_price * (1 + tp)\n", + " stop_price = entry_price * (1 - sl)\n", + " for out_i in range(len(c.out)):\n", + " i = c.from_i + out_i\n", + " last_bar_of_day = vbt.dt_nb.day_changed_nb(time_index[i], time_index[i + 1])\n", + "\n", + " #print(next_day)\n", + " if last_bar_of_day: #pokud je dalsi next day, tak zavirame posledni\n", + " print(\"ted\",out_i)\n", + " return out_i\n", + " if close[i, c.col] >= hit_price or close[i, c.col] <= stop_price :\n", + " return out_i\n", + " return -1\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.DataFrame(np.random.random(size=(5, 10)), columns=list('abcdefghij'))\n", + "\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df.sum()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/research/vectorized_loader.ipynb b/research/vectorized_loader.ipynb deleted file mode 100644 index 4ced0eb..0000000 --- a/research/vectorized_loader.ipynb +++ /dev/null @@ -1,620 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import pyarrow\n", - "import numpy as np\n", - "from numba import jit\n", - "import v2realbot.utils.config_handler as cfh" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Další info k pokračování je zde https://blog.quantinsti.com/tick-tick-ohlc-data-pandas-tutorial/" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "DatetimeIndex: 190261 entries, 2024-04-22 13:30:00.267711+00:00 to 2024-04-22 19:59:59.987614+00:00\n", - "Data columns (total 6 columns):\n", - " # Column Non-Null Count Dtype \n", - "--- ------ -------------- ----- \n", - " 0 exchange 190261 non-null object \n", - " 1 price 190261 non-null float64\n", - " 2 size 190261 non-null float64\n", - " 3 id 190261 non-null int64 \n", - " 4 conditions 190261 non-null object \n", - " 5 tape 190261 non-null object \n", - "dtypes: float64(2), int64(1), object(3)\n", - "memory usage: 10.2+ MB\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
exchangepricesizeidconditionstape
timestamp
2024-04-22 13:30:00.267711+00:00K36.8905.052983525037630[ , F, I]A
2024-04-22 13:30:00.300501+00:00D37.0051.071675241117014[ , I]A
2024-04-22 13:30:00.305439+00:00D37.0051.071675241117496[ , I]A
2024-04-22 13:30:00.314520+00:00D37.0051.071675241118034[ , I]A
2024-04-22 13:30:00.335201+00:00D37.0051.071675241121369[ , I]A
.....................
2024-04-22 19:59:59.902614+00:00V37.7501100.056480705310575[ ]A
2024-04-22 19:59:59.977134+00:00N37.745300.052983559963478[ ]A
2024-04-22 19:59:59.977137+00:00N37.7407300.052983559963696[ ]A
2024-04-22 19:59:59.978626+00:00V37.75016.056480706886228[ , I]A
2024-04-22 19:59:59.987614+00:00N37.74530.052983559963958[ , I]A
\n", - "

190261 rows × 6 columns

\n", - "
" - ], - "text/plain": [ - " exchange price size id \\\n", - "timestamp \n", - "2024-04-22 13:30:00.267711+00:00 K 36.890 5.0 52983525037630 \n", - "2024-04-22 13:30:00.300501+00:00 D 37.005 1.0 71675241117014 \n", - "2024-04-22 13:30:00.305439+00:00 D 37.005 1.0 71675241117496 \n", - "2024-04-22 13:30:00.314520+00:00 D 37.005 1.0 71675241118034 \n", - "2024-04-22 13:30:00.335201+00:00 D 37.005 1.0 71675241121369 \n", - "... ... ... ... ... \n", - "2024-04-22 19:59:59.902614+00:00 V 37.750 1100.0 56480705310575 \n", - "2024-04-22 19:59:59.977134+00:00 N 37.745 300.0 52983559963478 \n", - "2024-04-22 19:59:59.977137+00:00 N 37.740 7300.0 52983559963696 \n", - "2024-04-22 19:59:59.978626+00:00 V 37.750 16.0 56480706886228 \n", - "2024-04-22 19:59:59.987614+00:00 N 37.745 30.0 52983559963958 \n", - "\n", - " conditions tape \n", - "timestamp \n", - "2024-04-22 13:30:00.267711+00:00 [ , F, I] A \n", - "2024-04-22 13:30:00.300501+00:00 [ , I] A \n", - "2024-04-22 13:30:00.305439+00:00 [ , I] A \n", - "2024-04-22 13:30:00.314520+00:00 [ , I] A \n", - "2024-04-22 13:30:00.335201+00:00 [ , I] A \n", - "... ... ... \n", - "2024-04-22 19:59:59.902614+00:00 [ ] A \n", - "2024-04-22 19:59:59.977134+00:00 [ ] A \n", - "2024-04-22 19:59:59.977137+00:00 [ ] A \n", - "2024-04-22 19:59:59.978626+00:00 [ , I] A \n", - "2024-04-22 19:59:59.987614+00:00 [ , I] A \n", - "\n", - "[190261 rows x 6 columns]" - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "tdf=pd.read_parquet('trades_bac.parquet',engine='pyarrow')\n", - "#print(df)\n", - "df = tdf.loc['BAC']\n", - "df.info()\n", - "df" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [], - "source": [ - "@jit(nopython=True)\n", - "def ohlcv_bars(ticks, start_time, end_time, resolution):\n", - " \"\"\"\n", - " Generate OHLCV bars from tick data, skipping intervals without trading activity.\n", - " \n", - " Parameters:\n", - " - ticks: numpy array with columns [timestamp, price, size]\n", - " - start_time: the start timestamp for bars (Unix timestamp)\n", - " - end_time: the end timestamp for bars (Unix timestamp)\n", - " - resolution: time resolution in seconds\n", - " \n", - " Returns:\n", - " - OHLCV bars as a numpy array\n", - " \"\"\"\n", - " num_bars = (end_time - start_time) // resolution + 1\n", - " bar_list = []\n", - "\n", - " for i in range(num_bars):\n", - " bar_start_time = start_time + i * resolution\n", - " bar_end_time = bar_start_time + resolution\n", - " bar_ticks = ticks[(ticks[:, 0] >= bar_start_time) & (ticks[:, 0] < bar_end_time)]\n", - " \n", - " if bar_ticks.shape[0] == 0:\n", - " continue # Skip this bar as there are no ticks\n", - "\n", - " # Calculate OHLCV values\n", - " open_price = bar_ticks[0, 1] # open\n", - " high_price = np.max(bar_ticks[:, 1]) # high\n", - " low_price = np.min(bar_ticks[:, 1]) # low\n", - " close_price = bar_ticks[-1, 1] # close\n", - " volume = np.sum(bar_ticks[:, 2]) # volume\n", - " bar_time = bar_start_time # timestamp for the bar\n", - "\n", - " bar_list.append([open_price, high_price, low_price, close_price, volume, bar_time])\n", - "\n", - " # Convert list to numpy array\n", - " if bar_list:\n", - " ohlcv = np.array(bar_list)\n", - " else:\n", - " ohlcv = np.empty((0, 6)) # return an empty array if no bars were created\n", - "\n", - " return ohlcv\n" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "DatetimeIndex: 190261 entries, 2024-04-22 13:30:00.267711+00:00 to 2024-04-22 19:59:59.987614+00:00\n", - "Data columns (total 6 columns):\n", - " # Column Non-Null Count Dtype \n", - "--- ------ -------------- ----- \n", - " 0 exchange 190261 non-null object \n", - " 1 price 190261 non-null float64\n", - " 2 size 190261 non-null float64\n", - " 3 id 190261 non-null int64 \n", - " 4 conditions 190261 non-null object \n", - " 5 tape 190261 non-null object \n", - "dtypes: float64(2), int64(1), object(3)\n", - "memory usage: 10.2+ MB\n" - ] - } - ], - "source": [ - "df.info()" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "['C', 'O', '4', 'B', '7', 'V', 'P', 'W', 'U', 'Z', 'F']\n", - "\n", - "DatetimeIndex: 143751 entries, 2024-04-22 13:30:00.300501+00:00 to 2024-04-22 19:59:59.987614+00:00\n", - "Data columns (total 6 columns):\n", - " # Column Non-Null Count Dtype \n", - "--- ------ -------------- ----- \n", - " 0 exchange 143751 non-null object \n", - " 1 price 143751 non-null float64\n", - " 2 size 143751 non-null float64\n", - " 3 id 143751 non-null int64 \n", - " 4 conditions 143751 non-null object \n", - " 5 tape 143751 non-null object \n", - "dtypes: float64(2), int64(1), object(3)\n", - "memory usage: 7.7+ MB\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
exchangepricesizeidconditionstape
timestamp
2024-04-22 13:30:00.300501+00:00D37.0051.071675241117014[ , I]A
2024-04-22 13:30:00.305439+00:00D37.0051.071675241117496[ , I]A
2024-04-22 13:30:00.314520+00:00D37.0051.071675241118034[ , I]A
2024-04-22 13:30:00.335201+00:00D37.0051.071675241121369[ , I]A
2024-04-22 13:30:00.346219+00:00D37.0051.071675241122389[ , I]A
.....................
2024-04-22 19:59:59.902614+00:00V37.7501100.056480705310575[ ]A
2024-04-22 19:59:59.977134+00:00N37.745300.052983559963478[ ]A
2024-04-22 19:59:59.977137+00:00N37.7407300.052983559963696[ ]A
2024-04-22 19:59:59.978626+00:00V37.75016.056480706886228[ , I]A
2024-04-22 19:59:59.987614+00:00N37.74530.052983559963958[ , I]A
\n", - "

143751 rows × 6 columns

\n", - "
" - ], - "text/plain": [ - " exchange price size id \\\n", - "timestamp \n", - "2024-04-22 13:30:00.300501+00:00 D 37.005 1.0 71675241117014 \n", - "2024-04-22 13:30:00.305439+00:00 D 37.005 1.0 71675241117496 \n", - "2024-04-22 13:30:00.314520+00:00 D 37.005 1.0 71675241118034 \n", - "2024-04-22 13:30:00.335201+00:00 D 37.005 1.0 71675241121369 \n", - "2024-04-22 13:30:00.346219+00:00 D 37.005 1.0 71675241122389 \n", - "... ... ... ... ... \n", - "2024-04-22 19:59:59.902614+00:00 V 37.750 1100.0 56480705310575 \n", - "2024-04-22 19:59:59.977134+00:00 N 37.745 300.0 52983559963478 \n", - "2024-04-22 19:59:59.977137+00:00 N 37.740 7300.0 52983559963696 \n", - "2024-04-22 19:59:59.978626+00:00 V 37.750 16.0 56480706886228 \n", - "2024-04-22 19:59:59.987614+00:00 N 37.745 30.0 52983559963958 \n", - "\n", - " conditions tape \n", - "timestamp \n", - "2024-04-22 13:30:00.300501+00:00 [ , I] A \n", - "2024-04-22 13:30:00.305439+00:00 [ , I] A \n", - "2024-04-22 13:30:00.314520+00:00 [ , I] A \n", - "2024-04-22 13:30:00.335201+00:00 [ , I] A \n", - "2024-04-22 13:30:00.346219+00:00 [ , I] A \n", - "... ... ... \n", - "2024-04-22 19:59:59.902614+00:00 [ ] A \n", - "2024-04-22 19:59:59.977134+00:00 [ ] A \n", - "2024-04-22 19:59:59.977137+00:00 [ ] A \n", - "2024-04-22 19:59:59.978626+00:00 [ , I] A \n", - "2024-04-22 19:59:59.987614+00:00 [ , I] A \n", - "\n", - "[143751 rows x 6 columns]" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "excludes = cfh.config_handler.get_val('AGG_EXCLUDED_TRADES')\n", - "print(excludes)\n", - "#excludes = [\"F\", \"I\"]\n", - "# FILTER EXCLUDED TRADES\n", - "# Filter rows to exclude those where 'conditions' contains 'F' or 'I'\n", - "# This simplifies the logic by directly using ~ (bitwise not operator) with np.isin\n", - "df = df[~df['conditions'].apply(lambda x: np.isin(x, excludes).any())]" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/8p/dwqnp65s0s77jdbm4_6z4vp80000gn/T/ipykernel_52602/3341929382.py:2: DeprecationWarning: parsing timezone aware datetimes is deprecated; this will raise an error in the future\n", - " structured_array = np.array(list(zip(df.index, df['price'], df['size'])),\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[('2024-04-22T13:30:00.300501000', 37.005, 1.0e+00)\n", - " ('2024-04-22T13:30:00.305439000', 37.005, 1.0e+00)\n", - " ('2024-04-22T13:30:00.314520000', 37.005, 1.0e+00) ...\n", - " ('2024-04-22T19:59:59.977137000', 37.74 , 7.3e+03)\n", - " ('2024-04-22T19:59:59.978626000', 37.75 , 1.6e+01)\n", - " ('2024-04-22T19:59:59.987614000', 37.745, 3.0e+01)]\n" - ] - }, - { - "data": { - "text/plain": [ - "array([('2024-04-22T13:30:00.300501000', 37.005, 1.0e+00),\n", - " ('2024-04-22T13:30:00.305439000', 37.005, 1.0e+00),\n", - " ('2024-04-22T13:30:00.314520000', 37.005, 1.0e+00), ...,\n", - " ('2024-04-22T19:59:59.977137000', 37.74 , 7.3e+03),\n", - " ('2024-04-22T19:59:59.978626000', 37.75 , 1.6e+01),\n", - " ('2024-04-22T19:59:59.987614000', 37.745, 3.0e+01)],\n", - " dtype=[('timestamp', 'Activating profile profile1\n", + "\n" + ], + "text/plain": [ + "Activating profile profile1\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from numba import jit\n", + "from alpaca.data.historical import StockHistoricalDataClient\n", + "from v2realbot.config import ACCOUNT1_PAPER_API_KEY, ACCOUNT1_PAPER_SECRET_KEY, DATA_DIR\n", + "from alpaca.data.requests import StockTradesRequest\n", + "from v2realbot.enums.enums import BarType\n", + "import time\n", + "\n", + "from datetime import datetime\n", + "from v2realbot.utils.utils import parse_alpaca_timestamp, ltp, zoneNY, send_to_telegram, fetch_calendar_data\n", + "import pyarrow\n", + "from v2realbot.loader.aggregator_vectorized import fetch_daily_stock_trades, fetch_trades_parallel, generate_time_bars_nb, aggregate_trades\n", + "import vectorbtpro as vbt\n", + "\n", + "vbt.settings.set_theme(\"dark\")\n", + "vbt.settings['plotting']['layout']['width'] = 1280\n", + "vbt.settings.plotting.auto_rangebreaks = True\n", + "# Set the option to display with pagination\n", + "pd.set_option('display.notebook_repr_html', True)\n", + "pd.set_option('display.max_rows', 10) # Number of rows per page" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Calendar data fetch successful 2024-05-15 2024-05-16\n",
+       "
\n" + ], + "text/plain": [ + "Calendar data fetch successful \u001b[1;36m2024\u001b[0m-\u001b[1;36m05\u001b[0m-\u001b[1;36m15\u001b[0m \u001b[1;36m2024\u001b[0m-\u001b[1;36m05\u001b[0m-\u001b[1;36m16\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Contains 2 market days\n", + "Searching cache: SPY-1715779800-1715803200.cache.gz\n", + "Searching cache: SPY-1715866200-1715889600.cache.gz\n", + "FOUND in CACHE SPY-1715866200-1715889600.cache.gz\n", + "FOUND in CACHE SPY-1715779800-1715803200.cache.gz\n", + "excluding conditions ['C', 'O', '4', 'B', '7', 'V', 'P', 'W', 'U', 'Z', 'F']\n", + "minsize 50\n", + "excluding conditions ['C', 'O', '4', 'B', '7', 'V', 'P', 'W', 'U', 'Z', 'F']\n", + "minsize 50\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
openhighlowclosevolumetrades
time
2024-05-15 09:30:00-04:00525.8300525.96525.830525.890163507.0145.0
2024-05-15 09:30:01-04:00525.8900525.91525.790525.81014254.093.0
2024-05-15 09:30:02-04:00525.8200525.92525.800525.8602937.022.0
2024-05-15 09:30:03-04:00525.8800525.89525.850525.8605520.034.0
2024-05-15 09:30:04-04:00525.8450525.87525.720525.74073191.0289.0
.....................
2024-05-16 15:59:55-04:00528.6300528.65528.605528.64037439.0139.0
2024-05-16 15:59:56-04:00528.6400528.73528.640528.69621836.072.0
2024-05-16 15:59:57-04:00528.7000528.74528.680528.69511066.060.0
2024-05-16 15:59:58-04:00528.7100528.83528.710528.83028015.065.0
2024-05-16 15:59:59-04:00528.8298528.83528.560528.66025043.084.0
\n", + "

38150 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " open high low close volume \\\n", + "time \n", + "2024-05-15 09:30:00-04:00 525.8300 525.96 525.830 525.890 163507.0 \n", + "2024-05-15 09:30:01-04:00 525.8900 525.91 525.790 525.810 14254.0 \n", + "2024-05-15 09:30:02-04:00 525.8200 525.92 525.800 525.860 2937.0 \n", + "2024-05-15 09:30:03-04:00 525.8800 525.89 525.850 525.860 5520.0 \n", + "2024-05-15 09:30:04-04:00 525.8450 525.87 525.720 525.740 73191.0 \n", + "... ... ... ... ... ... \n", + "2024-05-16 15:59:55-04:00 528.6300 528.65 528.605 528.640 37439.0 \n", + "2024-05-16 15:59:56-04:00 528.6400 528.73 528.640 528.696 21836.0 \n", + "2024-05-16 15:59:57-04:00 528.7000 528.74 528.680 528.695 11066.0 \n", + "2024-05-16 15:59:58-04:00 528.7100 528.83 528.710 528.830 28015.0 \n", + "2024-05-16 15:59:59-04:00 528.8298 528.83 528.560 528.660 25043.0 \n", + "\n", + " trades \n", + "time \n", + "2024-05-15 09:30:00-04:00 145.0 \n", + "2024-05-15 09:30:01-04:00 93.0 \n", + "2024-05-15 09:30:02-04:00 22.0 \n", + "2024-05-15 09:30:03-04:00 34.0 \n", + "2024-05-15 09:30:04-04:00 289.0 \n", + "... ... \n", + "2024-05-16 15:59:55-04:00 139.0 \n", + "2024-05-16 15:59:56-04:00 72.0 \n", + "2024-05-16 15:59:57-04:00 60.0 \n", + "2024-05-16 15:59:58-04:00 65.0 \n", + "2024-05-16 15:59:59-04:00 84.0 \n", + "\n", + "[38150 rows x 6 columns]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "symbol = \"SPY\"\n", + "#datetime in zoneNY \n", + "day_start = datetime(2024, 5, 15, 9, 30, 0)\n", + "day_stop = datetime(2024, 5, 16, 16, 00, 0)\n", + "day_start = zoneNY.localize(day_start)\n", + "day_stop = zoneNY.localize(day_stop)\n", + "#neslo by zrychlit, kdyz se zobrazuje pomalu Searching cache - nejaky bottle neck?\n", + "df = fetch_trades_parallel(symbol, day_start, day_stop, minsize=50) #exclude_conditions=['C','O','4','B','7','V','P','W','U','Z','F'])\n", + "ohlcv_df = aggregate_trades(symbol=symbol, trades_df=df, resolution=1, type=BarType.TIME)\n", + "#df.info()\n", + "ohlcv_df\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
exchangepricesizeidconditionstape
symboltimestamp
BAC2024-03-01 09:30:01.069206528-05:00N34.52045691552983525028686[ , Q]A
2024-03-01 09:30:01.071717376-05:00P34.5205052983525359944[ , I]A
2024-03-01 09:30:01.071723776-05:00P34.5205052983525359945[ , I]A
2024-03-01 09:30:01.072288768-05:00P34.51010052983525359946[ ]A
2024-03-01 09:30:01.072291840-05:00P34.51030052983525359947[ ]A
.....................
2024-03-01 15:49:58.064368128-05:00T34.39510062880154539876[ ]A
2024-03-01 15:49:58.077368064-05:00T34.39510062880154540085[ ]A
2024-03-01 15:49:58.088362240-05:00T34.39510062880154540101[ ]A
2024-03-01 15:49:58.590776576-05:00D34.39012071709618548788[ ]A
2024-03-01 15:49:58.591035136-05:00D34.39512079372108382794[ ]A
\n", + "

56737 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " exchange price size \\\n", + "symbol timestamp \n", + "BAC 2024-03-01 09:30:01.069206528-05:00 N 34.520 456915 \n", + " 2024-03-01 09:30:01.071717376-05:00 P 34.520 50 \n", + " 2024-03-01 09:30:01.071723776-05:00 P 34.520 50 \n", + " 2024-03-01 09:30:01.072288768-05:00 P 34.510 100 \n", + " 2024-03-01 09:30:01.072291840-05:00 P 34.510 300 \n", + "... ... ... ... \n", + " 2024-03-01 15:49:58.064368128-05:00 T 34.395 100 \n", + " 2024-03-01 15:49:58.077368064-05:00 T 34.395 100 \n", + " 2024-03-01 15:49:58.088362240-05:00 T 34.395 100 \n", + " 2024-03-01 15:49:58.590776576-05:00 D 34.390 120 \n", + " 2024-03-01 15:49:58.591035136-05:00 D 34.395 120 \n", + "\n", + " id conditions tape \n", + "symbol timestamp \n", + "BAC 2024-03-01 09:30:01.069206528-05:00 52983525028686 [ , Q] A \n", + " 2024-03-01 09:30:01.071717376-05:00 52983525359944 [ , I] A \n", + " 2024-03-01 09:30:01.071723776-05:00 52983525359945 [ , I] A \n", + " 2024-03-01 09:30:01.072288768-05:00 52983525359946 [ ] A \n", + " 2024-03-01 09:30:01.072291840-05:00 52983525359947 [ ] A \n", + "... ... ... ... \n", + " 2024-03-01 15:49:58.064368128-05:00 62880154539876 [ ] A \n", + " 2024-03-01 15:49:58.077368064-05:00 62880154540085 [ ] A \n", + " 2024-03-01 15:49:58.088362240-05:00 62880154540101 [ ] A \n", + " 2024-03-01 15:49:58.590776576-05:00 71709618548788 [ ] A \n", + " 2024-03-01 15:49:58.591035136-05:00 79372108382794 [ ] A \n", + "\n", + "[56737 rows x 6 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "cb7dbad46d5849b787886d1f7d630c15", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "FigureWidget({\n", + " 'data': [{'close': array([525.89 , 525.81 , 525.86 , ..., 528.695, 528.83 , 528.66 ]),\n", + " 'decreasing': {'fillcolor': '#ee534f', 'line': {'color': '#ee534f'}},\n", + " 'high': array([525.96, 525.91, 525.92, ..., 528.74, 528.83, 528.83]),\n", + " 'increasing': {'fillcolor': '#26a69a', 'line': {'color': '#26a69a'}},\n", + " 'low': array([525.83, 525.79, 525.8 , ..., 528.68, 528.71, 528.56]),\n", + " 'name': 'OHLC',\n", + " 'opacity': 0.75,\n", + " 'open': array([525.83 , 525.89 , 525.82 , ..., 528.7 , 528.71 , 528.8298]),\n", + " 'type': 'candlestick',\n", + " 'uid': 'ace5a21b-2317-4646-b45b-de0447bc533c',\n", + " 'x': array([datetime.datetime(2024, 5, 15, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 15, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 5, 15, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 5, 16, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 5, 16, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 5, 16, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x',\n", + " 'yaxis': 'y'},\n", + " {'marker': {'color': array(['#26a69a', '#ee534f', '#26a69a', ..., '#ee534f', '#26a69a', '#ee534f'],\n", + " dtype=object),\n", + " 'line': {'width': 0}},\n", + " 'name': 'Volume',\n", + " 'opacity': 0.5,\n", + " 'type': 'bar',\n", + " 'uid': '5015d1bc-4c51-4185-aad0-8829974921aa',\n", + " 'x': array([datetime.datetime(2024, 5, 15, 9, 30, tzinfo=),\n", + " datetime.datetime(2024, 5, 15, 9, 30, 1, tzinfo=),\n", + " datetime.datetime(2024, 5, 15, 9, 30, 2, tzinfo=),\n", + " ...,\n", + " datetime.datetime(2024, 5, 16, 15, 59, 57, tzinfo=),\n", + " datetime.datetime(2024, 5, 16, 15, 59, 58, tzinfo=),\n", + " datetime.datetime(2024, 5, 16, 15, 59, 59, tzinfo=)],\n", + " dtype=object),\n", + " 'xaxis': 'x2',\n", + " 'y': array([163507., 14254., 2937., ..., 11066., 28015., 25043.]),\n", + " 'yaxis': 'y2'}],\n", + " 'layout': {'height': 350,\n", + " 'legend': {'orientation': 'h',\n", + " 'traceorder': 'normal',\n", + " 'x': 1,\n", + " 'xanchor': 'right',\n", + " 'y': 1.02,\n", + " 'yanchor': 'bottom'},\n", + " 'margin': {'b': 30, 'l': 30, 'r': 30, 't': 30},\n", + " 'showlegend': True,\n", + " 'template': '...',\n", + " 'width': 1280,\n", + " 'xaxis': {'anchor': 'y',\n", + " 'domain': [0.0, 1.0],\n", + " 'matches': 'x2',\n", + " 'rangeslider': {'visible': False},\n", + " 'showgrid': True,\n", + " 'showticklabels': False},\n", + " 'xaxis2': {'anchor': 'y2', 'domain': [0.0, 1.0], 'showgrid': True},\n", + " 'yaxis': {'anchor': 'x', 'domain': [0.3, 1.0], 'showgrid': True},\n", + " 'yaxis2': {'anchor': 'x2', 'domain': [0.0, 0.3], 'showgrid': True}}\n", + "})" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "basic_data = vbt.Data.from_data(vbt.symbol_dict({symbol: ohlcv_df}), tz_convert=zoneNY)\n", + "vbt.settings['plotting']['auto_rangebreaks'] = True\n", + "basic_data.ohlcv.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import pickle\n", + "from v2realbot.config import ACCOUNT1_PAPER_API_KEY, ACCOUNT1_PAPER_SECRET_KEY, DATA_DIR\n", + "import gzip\n", + "\n", + "file_path = f\"{DATA_DIR}/tradecache/BAC-1709044200-1709067600.cache.gz\"\n", + "\n", + "with gzip.open(file_path, 'rb') as fp:\n", + " tradesResponse = pickle.load(fp)\n", + "\n", + "tradesResponse" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
exchangepricesizeidconditionstape
symboltimestamp
BAC2024-02-27 09:30:00.002164736-05:00P33.68063852983525158993[ , F, T]A
2024-02-27 09:30:00.128029184-05:00P33.690752983525159224[ , I]A
2024-02-27 09:30:00.128032256-05:00P33.690752983525159225[ , Q]A
2024-02-27 09:30:00.261718272-05:00K33.700352983525302111[ , F, I]A
2024-02-27 09:30:00.349298176-05:00D33.695171675256256563[ , I]A
.....................
2024-02-27 15:59:59.996081408-05:00T34.270162880189999698[ , I]A
2024-02-27 15:59:59.996084480-05:00T34.27010062880189999699[ ]A
2024-02-27 15:59:59.997648384-05:00N34.27040052983576998465[ ]A
2024-02-27 15:59:59.998087168-05:00T34.270162880189999929[ , I]A
2024-02-27 15:59:59.998089984-05:00T34.27010062880189999930[ ]A
\n", + "

169811 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " exchange price size \\\n", + "symbol timestamp \n", + "BAC 2024-02-27 09:30:00.002164736-05:00 P 33.680 638 \n", + " 2024-02-27 09:30:00.128029184-05:00 P 33.690 7 \n", + " 2024-02-27 09:30:00.128032256-05:00 P 33.690 7 \n", + " 2024-02-27 09:30:00.261718272-05:00 K 33.700 3 \n", + " 2024-02-27 09:30:00.349298176-05:00 D 33.695 1 \n", + "... ... ... ... \n", + " 2024-02-27 15:59:59.996081408-05:00 T 34.270 1 \n", + " 2024-02-27 15:59:59.996084480-05:00 T 34.270 100 \n", + " 2024-02-27 15:59:59.997648384-05:00 N 34.270 400 \n", + " 2024-02-27 15:59:59.998087168-05:00 T 34.270 1 \n", + " 2024-02-27 15:59:59.998089984-05:00 T 34.270 100 \n", + "\n", + " id conditions tape \n", + "symbol timestamp \n", + "BAC 2024-02-27 09:30:00.002164736-05:00 52983525158993 [ , F, T] A \n", + " 2024-02-27 09:30:00.128029184-05:00 52983525159224 [ , I] A \n", + " 2024-02-27 09:30:00.128032256-05:00 52983525159225 [ , Q] A \n", + " 2024-02-27 09:30:00.261718272-05:00 52983525302111 [ , F, I] A \n", + " 2024-02-27 09:30:00.349298176-05:00 71675256256563 [ , I] A \n", + "... ... ... ... \n", + " 2024-02-27 15:59:59.996081408-05:00 62880189999698 [ , I] A \n", + " 2024-02-27 15:59:59.996084480-05:00 62880189999699 [ ] A \n", + " 2024-02-27 15:59:59.997648384-05:00 52983576998465 [ ] A \n", + " 2024-02-27 15:59:59.998087168-05:00 62880189999929 [ , I] A \n", + " 2024-02-27 15:59:59.998089984-05:00 62880189999930 [ ] A \n", + "\n", + "[169811 rows x 6 columns]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def convert_dict_to_multiindex_df(tradesResponse):\n", + " # Create a DataFrame for each key and add the key as part of the MultiIndex\n", + " dfs = []\n", + " for key, values in tradesResponse.items():\n", + " df = pd.DataFrame(values)\n", + " # Rename columns\n", + " # Select and order columns explicitly\n", + " #print(df)\n", + " df = df[['t', 'x', 'p', 's', 'i', 'c','z']]\n", + " df.rename(columns={'t': 'timestamp', 'c': 'conditions', 'p': 'price', 's': 'size', 'x': 'exchange', 'z':'tape', 'i':'id'}, inplace=True)\n", + " df['symbol'] = key # Add ticker as a column\n", + " df['timestamp'] = pd.to_datetime(df['timestamp']) # Convert 't' from string to datetime before setting it as an index\n", + " df.set_index(['symbol', 'timestamp'], inplace=True) # Set the multi-level index using both 'ticker' and 't'\n", + " df = df.tz_convert(zoneNY, level='timestamp')\n", + " dfs.append(df)\n", + "\n", + " # Concatenate all DataFrames into a single DataFrame with MultiIndex\n", + " final_df = pd.concat(dfs)\n", + "\n", + " return final_df\n", + "\n", + "# Convert and print the DataFrame\n", + "df = convert_dict_to_multiindex_df(tradesResponse)\n", + "df\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "MultiIndex: 169811 entries, (0, 'BAC') to (169810, 'BAC')\n", + "Data columns (total 7 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 c 169811 non-null object \n", + " 1 i 169811 non-null int64 \n", + " 2 p 169811 non-null float64 \n", + " 3 s 169811 non-null int64 \n", + " 4 t 169811 non-null datetime64[ns, UTC]\n", + " 5 x 169811 non-null object \n", + " 6 z 169811 non-null object \n", + "dtypes: datetime64[ns, UTC](1), float64(1), int64(2), object(3)\n", + "memory usage: 9.9+ MB\n" + ] + } + ], + "source": [ + "df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "DatetimeIndex: 46344 entries, 2024-03-01 09:30:00-05:00 to 2024-03-04 15:59:59-05:00\n", + "Data columns (total 6 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 open 46344 non-null float64\n", + " 1 high 46344 non-null float64\n", + " 2 low 46344 non-null float64\n", + " 3 close 46344 non-null float64\n", + " 4 volume 46344 non-null float64\n", + " 5 trades 46344 non-null float64\n", + "dtypes: float64(6)\n", + "memory usage: 2.5 MB\n" + ] + } + ], + "source": [ + "ohlcv_df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "DatetimeIndex: 46344 entries, 2024-03-01 09:30:00-05:00 to 2024-03-04 15:59:59-05:00\n", + "Data columns (total 6 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 open 46344 non-null float64\n", + " 1 high 46344 non-null float64\n", + " 2 low 46344 non-null float64\n", + " 3 close 46344 non-null float64\n", + " 4 volume 46344 non-null float64\n", + " 5 trades 46344 non-null float64\n", + "dtypes: float64(6)\n", + "memory usage: 2.5 MB\n" + ] + } + ], + "source": [ + "ohlcv_df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "ohlcv_df = aggregate_trades(symbol=symbol, trades_df=df, resolution=1000, type=\"dollar\")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['2024-03-01 09', '2024-03-01 10', '2024-03-01 11', '2024-03-01 12',\n", + " '2024-03-01 13', '2024-03-01 14', '2024-03-01 15', '2024-03-04 09',\n", + " '2024-03-04 10', '2024-03-04 11', '2024-03-04 12', '2024-03-04 13',\n", + " '2024-03-04 14', '2024-03-04 15'],\n", + " dtype='object', name='time')" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ohlcv_df.index.strftime('%Y-%m-%d %H').unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
openhighlowclosevolumetrades
time
2024-03-01 09:34:00.145446062-05:0034.55534.55534.55534.55528.9393721.0
2024-03-01 09:34:00.145447016-05:0034.55534.55534.55534.55528.9393721.0
2024-03-01 09:34:00.145447016-05:0034.55534.55534.55534.55528.9393721.0
2024-03-01 09:34:00.145447016-05:0034.55534.55534.55534.55528.9393721.0
2024-03-01 09:34:00.145447016-05:0034.55534.55534.55534.55528.9393721.0
.....................
2024-03-01 09:34:05.011623859-05:0034.56034.56034.56034.56028.9351851.0
2024-03-01 09:34:05.011623859-05:0034.56034.56034.56034.56028.9351851.0
2024-03-01 09:34:05.011623859-05:0034.56034.56034.56034.56028.9351851.0
2024-03-01 09:34:05.011623859-05:0034.56034.56034.56034.56028.9351851.0
2024-03-01 09:34:05.011623859-05:0034.56034.56034.56034.56028.9351852.0
\n", + "

100 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " open high low close \\\n", + "time \n", + "2024-03-01 09:34:00.145446062-05:00 34.555 34.555 34.555 34.555 \n", + "2024-03-01 09:34:00.145447016-05:00 34.555 34.555 34.555 34.555 \n", + "2024-03-01 09:34:00.145447016-05:00 34.555 34.555 34.555 34.555 \n", + "2024-03-01 09:34:00.145447016-05:00 34.555 34.555 34.555 34.555 \n", + "2024-03-01 09:34:00.145447016-05:00 34.555 34.555 34.555 34.555 \n", + "... ... ... ... ... \n", + "2024-03-01 09:34:05.011623859-05:00 34.560 34.560 34.560 34.560 \n", + "2024-03-01 09:34:05.011623859-05:00 34.560 34.560 34.560 34.560 \n", + "2024-03-01 09:34:05.011623859-05:00 34.560 34.560 34.560 34.560 \n", + "2024-03-01 09:34:05.011623859-05:00 34.560 34.560 34.560 34.560 \n", + "2024-03-01 09:34:05.011623859-05:00 34.560 34.560 34.560 34.560 \n", + "\n", + " volume trades \n", + "time \n", + "2024-03-01 09:34:00.145446062-05:00 28.939372 1.0 \n", + "2024-03-01 09:34:00.145447016-05:00 28.939372 1.0 \n", + "2024-03-01 09:34:00.145447016-05:00 28.939372 1.0 \n", + "2024-03-01 09:34:00.145447016-05:00 28.939372 1.0 \n", + "2024-03-01 09:34:00.145447016-05:00 28.939372 1.0 \n", + "... ... ... \n", + "2024-03-01 09:34:05.011623859-05:00 28.935185 1.0 \n", + "2024-03-01 09:34:05.011623859-05:00 28.935185 1.0 \n", + "2024-03-01 09:34:05.011623859-05:00 28.935185 1.0 \n", + "2024-03-01 09:34:05.011623859-05:00 28.935185 1.0 \n", + "2024-03-01 09:34:05.011623859-05:00 28.935185 2.0 \n", + "\n", + "[100 rows x 6 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#ohlcv_df.groupby(ohlcv_df.index.date).size()\n", + "ohlcv_df.head(100)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
exchangepricesizeidconditionstape
symboltimestamp
BAC2024-03-01 09:34:00.145446-05:00D34.5550500.071675373899865[ ]A
2024-03-01 09:34:00.864348-05:00D34.5563157.071675373958977[ ]A
2024-03-01 09:34:00.960608-05:00D34.5500100.071675373961523[ ]A
2024-03-01 09:34:01.584619-05:00D34.5550100.071675373965623[ ]A
2024-03-01 09:34:01.793712-05:00D34.5550108.071675373966644[ ]A
.....................
2024-03-04 15:54:59.940080-05:00Y35.160063.052983525230401[ , I]A
2024-03-04 15:54:59.940107-05:00Z35.155065.052983526682176[ , I]A
2024-03-04 15:54:59.940110-05:00Z35.1550200.052983526682177[ ]A
2024-03-04 15:54:59.940113-05:00Z35.1600100.052983526682179[ ]A
2024-03-04 15:54:59.940615-05:00V35.150096.056471089803589[ , I]A
\n", + "

168972 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " exchange price size \\\n", + "symbol timestamp \n", + "BAC 2024-03-01 09:34:00.145446-05:00 D 34.5550 500.0 \n", + " 2024-03-01 09:34:00.864348-05:00 D 34.5563 157.0 \n", + " 2024-03-01 09:34:00.960608-05:00 D 34.5500 100.0 \n", + " 2024-03-01 09:34:01.584619-05:00 D 34.5550 100.0 \n", + " 2024-03-01 09:34:01.793712-05:00 D 34.5550 108.0 \n", + "... ... ... ... \n", + " 2024-03-04 15:54:59.940080-05:00 Y 35.1600 63.0 \n", + " 2024-03-04 15:54:59.940107-05:00 Z 35.1550 65.0 \n", + " 2024-03-04 15:54:59.940110-05:00 Z 35.1550 200.0 \n", + " 2024-03-04 15:54:59.940113-05:00 Z 35.1600 100.0 \n", + " 2024-03-04 15:54:59.940615-05:00 V 35.1500 96.0 \n", + "\n", + " id conditions tape \n", + "symbol timestamp \n", + "BAC 2024-03-01 09:34:00.145446-05:00 71675373899865 [ ] A \n", + " 2024-03-01 09:34:00.864348-05:00 71675373958977 [ ] A \n", + " 2024-03-01 09:34:00.960608-05:00 71675373961523 [ ] A \n", + " 2024-03-01 09:34:01.584619-05:00 71675373965623 [ ] A \n", + " 2024-03-01 09:34:01.793712-05:00 71675373966644 [ ] A \n", + "... ... ... ... \n", + " 2024-03-04 15:54:59.940080-05:00 52983525230401 [ , I] A \n", + " 2024-03-04 15:54:59.940107-05:00 52983526682176 [ , I] A \n", + " 2024-03-04 15:54:59.940110-05:00 52983526682177 [ ] A \n", + " 2024-03-04 15:54:59.940113-05:00 52983526682179 [ ] A \n", + " 2024-03-04 15:54:59.940615-05:00 56471089803589 [ , I] A \n", + "\n", + "[168972 rows x 6 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#access just BCA\n", + "df_filtered = df.loc[\"BAC\"]\n", + "\n", + "df_filtered.info()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df_filtered= df_filtered.reset_index()\n", + "ticks = df_filtered[['timestamp', 'price', 'size']].to_numpy()\n", + "ticks\n", + "timestamps = ticks[:, 0]\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df_filtered= df_filtered.reset_index()\n", + "ticks = df_filtered[['timestamp', 'price', 'size']].to_numpy()\n", + "\n", + "#timestamp to integer\n", + "# Extract the timestamps column (assuming it's the first column)\n", + "timestamps = ticks[:, 0]\n", + "\n", + "# Convert the timestamps to Unix timestamps in seconds with microsecond precision\n", + "unix_timestamps_s = np.array([ts.timestamp() for ts in timestamps], dtype='float64')\n", + "\n", + "# Replace the original timestamps in the NumPy array with the converted Unix timestamps\n", + "ticks[:, 0] = unix_timestamps_s\n", + "\n", + "#ticks[:, 0] = pd.to_datetime(ticks[:, 0]).astype('int64') // 1_000_000_000 # Convert to Unix timestamp\n", + "ticks\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ticks = ticks.astype(np.float64)\n", + "ticks" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "resolution = 1 # Example resolution of 60 seconds\n", + "ohlcv_bars = generate_time_bars_nb(ticks, resolution)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ohlcv_bars" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Convert the resulting array back to a DataFrame\n", + "columns = ['time', 'open', 'high', 'low', 'close', 'volume', 'trades']\n", + "ohlcv_df = pd.DataFrame(ohlcv_bars, columns=columns)\n", + "ohlcv_df['time'] = pd.to_datetime(ohlcv_df['time'], unit='s')\n", + "ohlcv_df.set_index('time', inplace=True)\n", + "ohlcv_df.index = ohlcv_df.index.tz_localize('UTC').tz_convert(zoneNY)\n", + "#ohlcv_df = ohlcv_df.loc[\"2024-03-1 15:50:00\":\"2024-03-28 13:40:00\"]\n", + "#ohlcv_df.index.strftime('%Y-%m-%d %H').unique()\n", + "\n", + "ohlcv_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/v2realbot/loader/aggregator_vectorized.py b/v2realbot/loader/aggregator_vectorized.py index aea0fb0..d74bee6 100644 --- a/v2realbot/loader/aggregator_vectorized.py +++ b/v2realbot/loader/aggregator_vectorized.py @@ -2,19 +2,129 @@ import pandas as pd import numpy as np from numba import jit from alpaca.data.historical import StockHistoricalDataClient +from sqlalchemy import column from v2realbot.config import ACCOUNT1_PAPER_API_KEY, ACCOUNT1_PAPER_SECRET_KEY, DATA_DIR from alpaca.data.requests import StockTradesRequest -import time -from datetime import datetime +import time as time_module from v2realbot.utils.utils import parse_alpaca_timestamp, ltp, zoneNY, send_to_telegram, fetch_calendar_data import pyarrow - +from traceback import format_exc +from datetime import timedelta, datetime, time +from concurrent.futures import ThreadPoolExecutor +import os +import gzip +import pickle +import random +from alpaca.data.models import BarSet, QuoteSet, TradeSet +import v2realbot.utils.config_handler as cfh +from v2realbot.enums.enums import BarType """" -WIP - for later use +Module used for vectorized aggregation of trades. + +Includes fetch (remote/cached) methods and numba aggregator function for TIME BASED, VOLUME BASED and DOLLAR BARS """"" -def fetch_stock_trades(symbol, start, end, max_retries=5, backoff_factor=1): +def aggregate_trades(symbol: str, trades_df: pd.DataFrame, resolution: int, type: BarType = BarType.TIME): + """" + Accepts dataframe with trades keyed by symbol. Preparess dataframe to + numpy and call nNumba optimized aggregator for given bar type. (time/volume/dollar) + """"" + trades_df = trades_df.loc[symbol] + trades_df= trades_df.reset_index() + ticks = trades_df[['timestamp', 'price', 'size']].to_numpy() + # Extract the timestamps column (assuming it's the first column) + timestamps = ticks[:, 0] + # Convert the timestamps to Unix timestamps in seconds with microsecond precision + unix_timestamps_s = np.array([ts.timestamp() for ts in timestamps], dtype='float64') + # Replace the original timestamps in the NumPy array with the converted Unix timestamps + ticks[:, 0] = unix_timestamps_s + ticks = ticks.astype(np.float64) + #based on type, specific aggregator function is called + match type: + case BarType.TIME: + ohlcv_bars = generate_time_bars_nb(ticks, resolution) + case BarType.VOLUME: + ohlcv_bars = generate_volume_bars_nb(ticks, resolution) + case BarType.DOLLAR: + ohlcv_bars = generate_dollar_bars_nb(ticks, resolution) + case _: + raise ValueError("Invalid bar type. Supported types are 'time', 'volume' and 'dollar'.") + # Convert the resulting array back to a DataFrame + columns = ['time', 'open', 'high', 'low', 'close', 'volume', 'trades'] + if type == BarType.DOLLAR: + columns.append('amount') + ohlcv_df = pd.DataFrame(ohlcv_bars, columns=columns) + ohlcv_df['time'] = pd.to_datetime(ohlcv_df['time'], unit='s') + ohlcv_df.set_index('time', inplace=True) + ohlcv_df.index = ohlcv_df.index.tz_localize('UTC').tz_convert(zoneNY) + return ohlcv_df + +def convert_dict_to_multiindex_df(tradesResponse): + """" + Converts dictionary from cache or from remote (raw input) to multiindex dataframe. + """"" + # Create a DataFrame for each key and add the key as part of the MultiIndex + dfs = [] + for key, values in tradesResponse.items(): + df = pd.DataFrame(values) + # Rename columns + # Select and order columns explicitly + #print(df) + df = df[['t', 'x', 'p', 's', 'i', 'c','z']] + df.rename(columns={'t': 'timestamp', 'c': 'conditions', 'p': 'price', 's': 'size', 'x': 'exchange', 'z':'tape', 'i':'id'}, inplace=True) + df['symbol'] = key # Add ticker as a column + df['timestamp'] = pd.to_datetime(df['timestamp']) # Convert 't' from string to datetime before setting it as an index + df.set_index(['symbol', 'timestamp'], inplace=True) # Set the multi-level index using both 'ticker' and 't' + df = df.tz_convert(zoneNY, level='timestamp') + dfs.append(df) + + # Concatenate all DataFrames into a single DataFrame with MultiIndex + final_df = pd.concat(dfs) + + return final_df + +def dict_to_df(tradesResponse, start, end, exclude_conditions = None, minsize = None): + """" + Transforms dict to Tradeset, then df and to zone aware + Also filters to start and end if necessary (ex. 9:30 to 15:40 is required only) + + NOTE: prepodkladame, ze tradesResponse je dict from Raw data (cached/remote) + """"" + + df = convert_dict_to_multiindex_df(tradesResponse) + + #REQUIRED FILTERING + #pokud je zacatek pozdeji nebo konec driv tak orizneme + if (start.time() > time(9, 30) or end.time() < time(16, 0)): + print(f"filtrujeme {start.time()} {end.time()}") + # Define the time range + # start_time = pd.Timestamp(start.time(), tz=zoneNY).time() + # end_time = pd.Timestamp(end.time(), tz=zoneNY).time() + + # Create a mask to filter rows within the specified time range + mask = (df.index.get_level_values('timestamp') >= start) & \ + (df.index.get_level_values('timestamp') <= end) + + # Apply the mask to the DataFrame + df = df[mask] + + if exclude_conditions is not None: + print(f"excluding conditions {exclude_conditions}") + # Create a mask to exclude rows with any of the specified conditions + mask = df['conditions'].apply(lambda x: any(cond in exclude_conditions for cond in x)) + + # Filter out the rows with specified conditions + df = df[~mask] + + if minsize is not None: + print(f"minsize {minsize}") + #exclude conditions + df = df[df['size'] >= minsize] + return df + +#fetches daily stock tradess - currently only main session is supported +def fetch_daily_stock_trades_old(symbol, start, end, exclude_conditions = None, minsize = None, force_remote = False, max_retries=5, backoff_factor=1): """ Attempts to fetch stock trades with exponential backoff. Raises an exception if all retries fail. @@ -25,98 +135,401 @@ def fetch_stock_trades(symbol, start, end, max_retries=5, backoff_factor=1): :param backoff_factor: Factor to determine the next sleep time. :return: TradesResponse object. :raises: ConnectionError if all retries fail. + + We use tradecache only for main sessison request = 9:30 to 16:00 """ - client = StockHistoricalDataClient(ACCOUNT1_PAPER_API_KEY, ACCOUNT1_PAPER_SECRET_KEY) + use_daily_tradecache = False + if (start.time() >= time(9, 30) and end.time() <= time(16, 0)): + use_daily_tradecache = True + filename_start = zoneNY.localize(datetime.combine(start.date(), time(9, 30))) + filename_end= zoneNY.localize(datetime.combine(end.date(), time(16, 0))) + daily_file = "TS" + str(symbol) + '-' + str(int(filename_start.timestamp())) + '-' + str(int(filename_end.timestamp())) + '.cache.gz' + file_path = DATA_DIR + "/tradecache/"+daily_file + + if use_daily_tradecache and not force_remote and os.path.exists(file_path): + print("Searching cache: " + daily_file) + with gzip.open (file_path, 'rb') as fp: + tradesResponse = pickle.load(fp) + print("FOUND in CACHE", daily_file) + #response je vzdy ulozena jako raw(dict), davame zpet do TradeSetu, ktery umi i df + return dict_to_df(tradesResponse, start, end, exclude_conditions, minsize) + + #daily file doesnt exist + else: + print("NOT FOUND. Fetching from remote") + client = StockHistoricalDataClient(ACCOUNT1_PAPER_API_KEY, ACCOUNT1_PAPER_SECRET_KEY, raw_data=False) + stockTradeRequest = StockTradesRequest(symbol_or_symbols=symbol, start=start, end=end) + last_exception = None + + for attempt in range(max_retries): + try: + tradesResponse = client.get_stock_trades(stockTradeRequest) + is_empty = not tradesResponse[symbol] + print(f"Remote fetched: {is_empty=}", start, end) + #pokud jde o dnešní den a nebyl konec trhu tak cache neukládáme, pripadne pri iex datapointu necachujeme + if use_daily_tradecache and not is_empty: + if (start < datetime.now().astimezone(zoneNY) < end): + print("not saving trade cache, market still open today") + else: + with gzip.open(file_path, 'wb') as fp: + pickle.dump(tradesResponse, fp) + print("Saving to Trade CACHE", file_path) + return pd.DataFrame() if is_empty else dict_to_df(tradesResponse, start, end) + except Exception as e: + print(f"Attempt {attempt + 1} failed: {e}") + last_exception = e + time_module.sleep(backoff_factor * (2 ** attempt)) + + print("All attempts to fetch data failed.") + raise ConnectionError(f"Failed to fetch stock trades after {max_retries} retries. Last exception: {str(last_exception)} and {format_exc()}") + +def fetch_daily_stock_trades(symbol, start, end, exclude_conditions=None, minsize=None, force_remote=False, max_retries=5, backoff_factor=1): + #doc for this function + """ + Attempts to fetch stock trades either from cache or remote. When remote, it uses retry mechanism with exponential backoff. + Also it stores the data to cache if it is not already there. + by using force_remote - forcess using remote data always and thus refreshing cache for these dates + Attributes: + :param symbol: The stock symbol to fetch trades for. + :param start: The start time for the trade data. + :param end: The end time for the trade data. + :exclude_conditions: list of string conditions to exclude from the data + :minsize minimum size of trade to be included in the data + :force_remote will always use remote data and refresh cache + :param max_retries: Maximum number of retries. + :param backoff_factor: Factor to determine the next sleep time. + :return: TradesResponse object. + :raises: ConnectionError if all retries fail. + + We use tradecache only for main sessison requests = 9:30 to 16:00 + Do budoucna ukládat celý den BAC-20240203.cache.gz a z toho si pak filtrovat bud main sesssionu a extended + Ale zatim je uloženo jen main session v BAC-timestampopenu-timestampclose.cache.gz + """ + # Determine if the requested times fall within the main session + in_main_session = (time(9, 30) <= start.time() < time(16, 0)) and (time(9, 30) <= end.time() <= time(16, 0)) + file_path = '' + + if in_main_session: + filename_start = zoneNY.localize(datetime.combine(start.date(), time(9, 30))) + filename_end = zoneNY.localize(datetime.combine(end.date(), time(16, 0))) + daily_file = f"{symbol}-{int(filename_start.timestamp())}-{int(filename_end.timestamp())}.cache.gz" + file_path = f"{DATA_DIR}/tradecache/{daily_file}" + if not force_remote and os.path.exists(file_path): + print("Searching cache: " + daily_file) + with gzip.open(file_path, 'rb') as fp: + tradesResponse = pickle.load(fp) + print("FOUND in CACHE", daily_file) + return dict_to_df(tradesResponse, start, end, exclude_conditions, minsize) + + print("NOT FOUND. Fetching from remote") + client = StockHistoricalDataClient(ACCOUNT1_PAPER_API_KEY, ACCOUNT1_PAPER_SECRET_KEY, raw_data=True) stockTradeRequest = StockTradesRequest(symbol_or_symbols=symbol, start=start, end=end) last_exception = None for attempt in range(max_retries): try: tradesResponse = client.get_stock_trades(stockTradeRequest) - print("Remote Fetch DAY DATA Complete", start, end) - return tradesResponse + is_empty = not tradesResponse[symbol] + print(f"Remote fetched: {is_empty=}", start, end) + if in_main_session and not is_empty: + current_time = datetime.now().astimezone(zoneNY) + if not (start < current_time < end): + with gzip.open(file_path, 'wb') as fp: + pickle.dump(tradesResponse, fp) + print("Saving to Trade CACHE", file_path) + + else: # Don't save the cache if the market is still open + print("Not saving trade cache, market still open today") + return pd.DataFrame() if is_empty else dict_to_df(tradesResponse, start, end) except Exception as e: print(f"Attempt {attempt + 1} failed: {e}") last_exception = e - time.sleep(backoff_factor * (2 ** attempt)) + time_module.sleep(backoff_factor * (2 ** attempt) + random.uniform(0, 1)) # Adding random jitter print("All attempts to fetch data failed.") raise ConnectionError(f"Failed to fetch stock trades after {max_retries} retries. Last exception: {str(last_exception)} and {format_exc()}") -@jit(nopython=True) -def ohlcv_bars(ticks, start_time, end_time, resolution): +def fetch_trades_parallel(symbol, start_date, end_date, exclude_conditions = cfh.config_handler.get_val('AGG_EXCLUDED_TRADES'), minsize = 100, force_remote = False): """ - Generate OHLCV bars from tick data, skipping intervals without trading activity. - - Parameters: - - ticks: numpy array with columns [timestamp, price, size] - - start_time: the start timestamp for bars (Unix timestamp) - - end_time: the end timestamp for bars (Unix timestamp) - - resolution: time resolution in seconds - - Returns: - - OHLCV bars as a numpy array - """ - num_bars = (end_time - start_time) // resolution + 1 - bar_list = [] + Fetches trades for each day between start_date and end_date during market hours (9:30-16:00) in parallel and concatenates them into a single DataFrame. - for i in range(num_bars): - bar_start_time = start_time + i * resolution - bar_end_time = bar_start_time + resolution - bar_ticks = ticks[(ticks[:, 0] >= bar_start_time) & (ticks[:, 0] < bar_end_time)] + :param symbol: Stock symbol. + :param start_date: Start date as datetime. + :param end_date: End date as datetime. + :return: DataFrame containing all trades from start_date to end_date. + """ + futures = [] + results = [] + + market_open_days = fetch_calendar_data(start_date, end_date) + day_count = len(market_open_days) + print("Contains", day_count, " market days") + max_workers = min(10, max(5, day_count // 2)) # Heuristic: half the days to process, but at least 1 and no more than 10 + + + with ThreadPoolExecutor(max_workers=max_workers) as executor: + #for single_date in (start_date + timedelta(days=i) for i in range((end_date - start_date).days + 1)): + for market_day in market_open_days: + #start = datetime.combine(single_date, time(9, 30)) # Market opens at 9:30 AM + #end = datetime.combine(single_date, time(16, 0)) # Market closes at 4:00 PM + + interval_from = zoneNY.localize(market_day.open) + interval_to = zoneNY.localize(market_day.close) + + #pripadne orizneme pokud je pozadovane pozdejsi zacatek a drivejsi konek + start = start_date if interval_from < start_date else interval_from + #start = max(start_date, interval_from) + end = end_date if interval_to > end_date else interval_to + #end = min(end_date, interval_to) + + future = executor.submit(fetch_daily_stock_trades, symbol, start, end, exclude_conditions, minsize, force_remote) + futures.append(future) - if bar_ticks.shape[0] == 0: - continue # Skip this bar as there are no ticks + for future in futures: + try: + result = future.result() + results.append(result) + except Exception as e: + print(f"Error fetching data for a day: {e}") - # Calculate OHLCV values - open_price = bar_ticks[0, 1] # open - high_price = np.max(bar_ticks[:, 1]) # high - low_price = np.min(bar_ticks[:, 1]) # low - close_price = bar_ticks[-1, 1] # close - volume = np.sum(bar_ticks[:, 2]) # volume - bar_time = bar_start_time # timestamp for the bar + return pd.concat(results, ignore_index=False) - bar_list.append([open_price, high_price, low_price, close_price, volume, bar_time]) +@jit(nopython=True) +def generate_dollar_bars_nb(ticks, amount_per_bar): + """" + Generates Dollar based bars from ticks. - # Convert list to numpy array - if bar_list: - ohlcv = np.array(bar_list) - else: - ohlcv = np.empty((0, 6)) # return an empty array if no bars were created + There is also simple prevention of aggregation from different days + as described here https://chatgpt.com/c/17804fc1-a7bc-495d-8686-b8392f3640a2 + Downside: split days by UTC (which is ok for main session, but when extended hours it should be reworked by preprocessing new column identifying session) + + + When trade is split into multiple bars it is counted as trade in each of the bars. + Other option: trade count can be proportionally distributed by weight (0.2 to 1st bar, 0.8 to 2nd bar) - but this is not implemented yet + https://chatgpt.com/c/ff4802d9-22a2-4b72-8ab7-97a91e7a515f + """"" + ohlcv_bars = [] + remaining_amount = amount_per_bar - return ohlcv + # Initialize bar values based on the first tick to avoid uninitialized values + open_price = ticks[0, 1] + high_price = ticks[0, 1] + low_price = ticks[0, 1] + close_price = ticks[0, 1] + volume = 0 + trades_count = 0 + current_day = np.floor(ticks[0, 0] / 86400) # Calculate the initial day from the first tick timestamp + bar_time = ticks[0, 0] # Initialize bar time with the time of the first tick + + for tick in ticks: + tick_time = tick[0] + price = tick[1] + tick_volume = tick[2] + tick_amount = price * tick_volume + tick_day = np.floor(tick_time / 86400) # Calculate the day of the current tick + + # Check if the new tick is from a different day, then close the current bar + if tick_day != current_day: + if trades_count > 0: + ohlcv_bars.append([bar_time, open_price, high_price, low_price, close_price, volume, trades_count, amount_per_bar]) + # Reset for the new day using the current tick data + open_price = price + high_price = price + low_price = price + close_price = price + volume = 0 + trades_count = 0 + remaining_amount = amount_per_bar + current_day = tick_day + bar_time = tick_time + + # Start new bar if needed because of the dollar value + while tick_amount > 0: + if tick_amount < remaining_amount: + # Add the entire tick to the current bar + high_price = max(high_price, price) + low_price = min(low_price, price) + close_price = price + volume += tick_volume + remaining_amount -= tick_amount + trades_count += 1 + tick_amount = 0 + else: + # Calculate the amount of volume that fits within the remaining dollar amount + volume_to_add = remaining_amount / price + volume += volume_to_add # Update the volume here before appending and resetting + + # Append the partially filled bar to the list + ohlcv_bars.append([bar_time, open_price, high_price, low_price, close_price, volume, trades_count + 1, amount_per_bar]) + + # Fill the current bar and continue with a new bar + tick_volume -= volume_to_add + tick_amount -= remaining_amount + + # Reset bar values for the new bar using the current tick data + open_price = price + high_price = price + low_price = price + close_price = price + volume = 0 # Reset volume for the new bar + trades_count = 0 + remaining_amount = amount_per_bar + + # Increment bar time if splitting a trade + if tick_volume > 0: #pokud v tradu je jeste zbytek nastavujeme cas o nanosekundu vetsi + bar_time = tick_time + 1e-6 + else: + bar_time = tick_time #jinak nastavujeme cas ticku + #bar_time = tick_time + + # Add the last bar if it contains any trades + if trades_count > 0: + ohlcv_bars.append([bar_time, open_price, high_price, low_price, close_price, volume, trades_count, amount_per_bar]) + + return np.array(ohlcv_bars) + + +@jit(nopython=True) +def generate_volume_bars_nb(ticks, volume_per_bar): + """" + Generates Volume based bars from ticks. + + NOTE: UTC day split here (doesnt aggregate trades from different days) + but realized from UTC (ok for main session) - but needs rework for extension by preprocessing ticks_df and introduction sesssion column + + When trade is split into multiple bars it is counted as trade in each of the bars. + Other option: trade count can be proportionally distributed by weight (0.2 to 1st bar, 0.8 to 2nd bar) - but this is not implemented yet + https://chatgpt.com/c/ff4802d9-22a2-4b72-8ab7-97a91e7a515f + """"" + ohlcv_bars = [] + remaining_volume = volume_per_bar + + # Initialize bar values based on the first tick to avoid uninitialized values + open_price = ticks[0, 1] + high_price = ticks[0, 1] + low_price = ticks[0, 1] + close_price = ticks[0, 1] + volume = 0 + trades_count = 0 + current_day = np.floor(ticks[0, 0] / 86400) # Calculate the initial day from the first tick timestamp + bar_time = ticks[0, 0] # Initialize bar time with the time of the first tick + + for tick in ticks: + tick_time = tick[0] + price = tick[1] + tick_volume = tick[2] + tick_day = np.floor(tick_time / 86400) # Calculate the day of the current tick + + # Check if the new tick is from a different day, then close the current bar + if tick_day != current_day: + if trades_count > 0: + ohlcv_bars.append([bar_time, open_price, high_price, low_price, close_price, volume, trades_count]) + # Reset for the new day using the current tick data + open_price = price + high_price = price + low_price = price + close_price = price + volume = 0 + trades_count = 0 + remaining_volume = volume_per_bar + current_day = tick_day + bar_time = tick_time # Update bar time to the current tick time + + # Start new bar if needed because of the volume + while tick_volume > 0: + if tick_volume < remaining_volume: + # Add the entire tick to the current bar + high_price = max(high_price, price) + low_price = min(low_price, price) + close_price = price + volume += tick_volume + remaining_volume -= tick_volume + trades_count += 1 + tick_volume = 0 + else: + # Fill the current bar and continue with a new bar + volume_to_add = remaining_volume + volume += volume_to_add + tick_volume -= volume_to_add + trades_count += 1 + # Append the completed bar to the list + ohlcv_bars.append([bar_time, open_price, high_price, low_price, close_price, volume, trades_count]) + + # Reset bar values for the new bar using the current tick data + open_price = price + high_price = price + low_price = price + close_price = price + volume = 0 + trades_count = 0 + remaining_volume = volume_per_bar + # Increment bar time if splitting a trade + if tick_volume > 0: #pokud v tradu je jeste zbytek nastavujeme cas o nanosekundu vetsi + bar_time = tick_time + 1e-6 + else: + bar_time = tick_time #jinak nastavujeme cas ticku + + + # Add the last bar if it contains any trades + if trades_count > 0: + ohlcv_bars.append([bar_time, open_price, high_price, low_price, close_price, volume, trades_count]) + + return np.array(ohlcv_bars) + +@jit(nopython=True) +def generate_time_bars_nb(ticks, resolution): + # Initialize the start and end time + start_time = np.floor(ticks[0, 0] / resolution) * resolution + end_time = np.floor(ticks[-1, 0] / resolution) * resolution + + # # Calculate number of bars + # num_bars = int((end_time - start_time) // resolution + 1) + + # Using a list to append data only when trades exist + ohlcv_bars = [] + + # Variables to track the current bar + current_bar_index = -1 + open_price = 0 + high_price = -np.inf + low_price = np.inf + close_price = 0 + volume = 0 + trades_count = 0 + + for tick in ticks: + tick_time = np.floor(tick[0] / resolution) * resolution + price = tick[1] + tick_volume = tick[2] + + # Check if the tick belongs to a new bar + if tick_time != start_time + current_bar_index * resolution: + if current_bar_index >= 0 and trades_count > 0: # Save the previous bar if trades happened + ohlcv_bars.append([start_time + current_bar_index * resolution, open_price, high_price, low_price, close_price, volume, trades_count]) + + # Reset bar values + current_bar_index = int((tick_time - start_time) / resolution) + open_price = price + high_price = price + low_price = price + volume = 0 + trades_count = 0 + + # Update the OHLCV values for the current bar + high_price = max(high_price, price) + low_price = min(low_price, price) + close_price = price + volume += tick_volume + trades_count += 1 + + # Save the last processed bar + if trades_count > 0: + ohlcv_bars.append([start_time + current_bar_index * resolution, open_price, high_price, low_price, close_price, volume, trades_count]) + + return np.array(ohlcv_bars) # Example usage if __name__ == '__main__': - # symbol = ["BAC"] - # #datetime in zoneNY - # day_start = datetime(2024, 4, 22, 9, 30, 0) - # day_stop = datetime(2024, 4, 22, 16, 00, 0) - - # day_start = zoneNY.localize(day_start) - # day_stop = zoneNY.localize(day_stop) - - # tradesResponse = fetch_stock_trades(symbol, day_start, day_stop) - - # df = tradesResponse.df - # df.to_parquet('trades_bac.parquet', engine='pyarrow') - - df=pd.read_parquet('trades_bac.parquet',engine='pyarrow') - print(df) - - #df = pd.read_csv('tick_data.csv') # DF with tick data -# Assuming 'df' is your DataFrame with columns 'time', 'price', 'size', 'condition' - exclude_conditions = ['ConditionA', 'ConditionB'] # Conditions to exclude - df_filtered = df[~df['condition'].isin(exclude_conditions)] - # Define your start and end times based on your trading session, ensure these are Unix timestamps - start_time = pd.to_datetime('2023-01-01 09:30:00').timestamp() - end_time = pd.to_datetime('2023-01-01 16:00:00').timestamp() - ticks = df[['time', 'price', 'size']].to_numpy() - ticks[:, 0] = pd.to_datetime(ticks[:, 0]).astype('int64') // 1_000_000_000 # Convert to Unix timestamp - resolution_seconds = 1 # 1 second resolution - ohlcv_data = ohlcv_bars(ticks, start_time, end_time, resolution_seconds) - - # Converting the result back to DataFrame for better usability - ohlcv_df = pd.DataFrame(ohlcv_data, columns=['Open', 'High', 'Low', 'Close', 'Volume', 'Time']) - ohlcv_df['Time'] = pd.to_datetime(ohlcv_df['Time'], unit='s') # Convert timestamps back to datetime + pass + #example in agg_vect.ipynb \ No newline at end of file diff --git a/v2realbot/static/index.html b/v2realbot/static/index.html index ee547df..53cb6b7 100644 --- a/v2realbot/static/index.html +++ b/v2realbot/static/index.html @@ -1150,7 +1150,7 @@ - + diff --git a/v2realbot/static/js/libs/lightweightcharts/lightweight-charts.standalone.production413.js b/v2realbot/static/js/libs/lightweightcharts/lightweight-charts.standalone.production413.js new file mode 100644 index 0000000..69033f3 --- /dev/null +++ b/v2realbot/static/js/libs/lightweightcharts/lightweight-charts.standalone.production413.js @@ -0,0 +1,7 @@ +/*! + * @license + * TradingView Lightweight Charts™ v4.1.3 + * Copyright (c) 2024 TradingView, Inc. + * Licensed under Apache License 2.0 https://www.apache.org/licenses/LICENSE-2.0 + */ +!function(){"use strict";const t={upColor:"#26a69a",downColor:"#ef5350",wickVisible:!0,borderVisible:!0,borderColor:"#378658",borderUpColor:"#26a69a",borderDownColor:"#ef5350",wickColor:"#737375",wickUpColor:"#26a69a",wickDownColor:"#ef5350"},i={upColor:"#26a69a",downColor:"#ef5350",openVisible:!0,thinBars:!0},n={color:"#2196f3",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},s={topColor:"rgba( 46, 220, 135, 0.4)",bottomColor:"rgba( 40, 221, 100, 0)",invertFilledArea:!1,lineColor:"#33D778",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},e={baseValue:{type:"price",price:0},topFillColor1:"rgba(38, 166, 154, 0.28)",topFillColor2:"rgba(38, 166, 154, 0.05)",topLineColor:"rgba(38, 166, 154, 1)",bottomFillColor1:"rgba(239, 83, 80, 0.05)",bottomFillColor2:"rgba(239, 83, 80, 0.28)",bottomLineColor:"rgba(239, 83, 80, 1)",lineWidth:3,lineStyle:0,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},r={color:"#26a69a",base:0},h={color:"#2196f3"},l={title:"",visible:!0,lastValueVisible:!0,priceLineVisible:!0,priceLineSource:0,priceLineWidth:1,priceLineColor:"",priceLineStyle:2,baseLineVisible:!0,baseLineWidth:1,baseLineColor:"#B2B5BE",baseLineStyle:0,priceFormat:{type:"price",precision:2,minMove:.01}};var a,o;function _(t,i){const n={0:[],1:[t.lineWidth,t.lineWidth],2:[2*t.lineWidth,2*t.lineWidth],3:[6*t.lineWidth,6*t.lineWidth],4:[t.lineWidth,4*t.lineWidth]}[i];t.setLineDash(n)}function u(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(n,i+e),t.lineTo(s,i+e),t.stroke()}function c(t,i){if(!t)throw new Error("Assertion failed"+(i?": "+i:""))}function d(t){if(void 0===t)throw new Error("Value is undefined");return t}function f(t){if(null===t)throw new Error("Value is null");return t}function v(t){return f(d(t))}!function(t){t[t.Simple=0]="Simple",t[t.WithSteps=1]="WithSteps",t[t.Curved=2]="Curved"}(a||(a={})),function(t){t[t.Solid=0]="Solid",t[t.Dotted=1]="Dotted",t[t.Dashed=2]="Dashed",t[t.LargeDashed=3]="LargeDashed",t[t.SparseDotted=4]="SparseDotted"}(o||(o={}));const p={khaki:"#f0e68c",azure:"#f0ffff",aliceblue:"#f0f8ff",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",gray:"#808080",green:"#008000",honeydew:"#f0fff0",floralwhite:"#fffaf0",lightblue:"#add8e6",lightcoral:"#f08080",lemonchiffon:"#fffacd",hotpink:"#ff69b4",lightyellow:"#ffffe0",greenyellow:"#adff2f",lightgoldenrodyellow:"#fafad2",limegreen:"#32cd32",linen:"#faf0e6",lightcyan:"#e0ffff",magenta:"#f0f",maroon:"#800000",olive:"#808000",orange:"#ffa500",oldlace:"#fdf5e6",mediumblue:"#0000cd",transparent:"#0000",lime:"#0f0",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",midnightblue:"#191970",orchid:"#da70d6",mediumorchid:"#ba55d3",mediumturquoise:"#48d1cc",orangered:"#ff4500",royalblue:"#4169e1",powderblue:"#b0e0e6",red:"#f00",coral:"#ff7f50",turquoise:"#40e0d0",white:"#fff",whitesmoke:"#f5f5f5",wheat:"#f5deb3",teal:"#008080",steelblue:"#4682b4",bisque:"#ffe4c4",aquamarine:"#7fffd4",aqua:"#0ff",sienna:"#a0522d",silver:"#c0c0c0",springgreen:"#00ff7f",antiquewhite:"#faebd7",burlywood:"#deb887",brown:"#a52a2a",beige:"#f5f5dc",chocolate:"#d2691e",chartreuse:"#7fff00",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cadetblue:"#5f9ea0",tomato:"#ff6347",fuchsia:"#f0f",blue:"#00f",salmon:"#fa8072",blanchedalmond:"#ffebcd",slateblue:"#6a5acd",slategray:"#708090",thistle:"#d8bfd8",tan:"#d2b48c",cyan:"#0ff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",blueviolet:"#8a2be2",black:"#000",darkmagenta:"#8b008b",darkslateblue:"#483d8b",darkkhaki:"#bdb76b",darkorchid:"#9932cc",darkorange:"#ff8c00",darkgreen:"#006400",darkred:"#8b0000",dodgerblue:"#1e90ff",darkslategray:"#2f4f4f",dimgray:"#696969",deepskyblue:"#00bfff",firebrick:"#b22222",forestgreen:"#228b22",indigo:"#4b0082",ivory:"#fffff0",lavenderblush:"#fff0f5",feldspar:"#d19275",indianred:"#cd5c5c",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightskyblue:"#87cefa",lightslategray:"#789",lightslateblue:"#8470ff",snow:"#fffafa",lightseagreen:"#20b2aa",lightsalmon:"#ffa07a",darksalmon:"#e9967a",darkviolet:"#9400d3",mediumpurple:"#9370d8",mediumaquamarine:"#66cdaa",skyblue:"#87ceeb",lavender:"#e6e6fa",lightsteelblue:"#b0c4de",mediumvioletred:"#c71585",mintcream:"#f5fffa",navajowhite:"#ffdead",navy:"#000080",olivedrab:"#6b8e23",palevioletred:"#d87093",violetred:"#d02090",yellow:"#ff0",yellowgreen:"#9acd32",lawngreen:"#7cfc00",pink:"#ffc0cb",paleturquoise:"#afeeee",palegoldenrod:"#eee8aa",darkolivegreen:"#556b2f",darkseagreen:"#8fbc8f",darkturquoise:"#00ced1",peachpuff:"#ffdab9",deeppink:"#ff1493",violet:"#ee82ee",palegreen:"#98fb98",mediumseagreen:"#3cb371",peru:"#cd853f",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",purple:"#800080",seagreen:"#2e8b57",seashell:"#fff5ee",papayawhip:"#ffefd5",mediumslateblue:"#7b68ee",plum:"#dda0dd",mediumspringgreen:"#00fa9a"};function m(t){return t<0?0:t>255?255:Math.round(t)||0}function b(t){return t<=0||t>0?t<0?0:t>1?1:Math.round(1e4*t)/1e4:0}const w=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,g=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,M=/^rgb\(\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*\)$/,x=/^rgba\(\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?[\d]{0,10}(?:\.\d+)?)\s*\)$/;function S(t){(t=t.toLowerCase())in p&&(t=p[t]);{const i=x.exec(t)||M.exec(t);if(i)return[m(parseInt(i[1],10)),m(parseInt(i[2],10)),m(parseInt(i[3],10)),b(i.length<5?1:parseFloat(i[4]))]}{const i=g.exec(t);if(i)return[m(parseInt(i[1],16)),m(parseInt(i[2],16)),m(parseInt(i[3],16)),1]}{const i=w.exec(t);if(i)return[m(17*parseInt(i[1],16)),m(17*parseInt(i[2],16)),m(17*parseInt(i[3],16)),1]}throw new Error(`Cannot parse color: ${t}`)}function y(t){const i=S(t);return{t:`rgb(${i[0]}, ${i[1]}, ${i[2]})`,i:(n=i,.199*n[0]+.687*n[1]+.114*n[2]>160?"black":"white")};var n}class k{constructor(){this.h=[]}l(t,i,n){const s={o:t,_:i,u:!0===n};this.h.push(s)}v(t){const i=this.h.findIndex((i=>t===i.o));i>-1&&this.h.splice(i,1)}p(t){this.h=this.h.filter((i=>i._!==t))}m(t,i,n){const s=[...this.h];this.h=this.h.filter((t=>!t.u)),s.forEach((s=>s.o(t,i,n)))}M(){return this.h.length>0}S(){this.h=[]}}function C(t,...i){for(const n of i)for(const i in n)void 0!==n[i]&&("object"!=typeof n[i]||void 0===t[i]||Array.isArray(n[i])?t[i]=n[i]:C(t[i],n[i]));return t}function T(t){return"number"==typeof t&&isFinite(t)}function P(t){return"number"==typeof t&&t%1==0}function R(t){return"string"==typeof t}function D(t){return"boolean"==typeof t}function O(t){const i=t;if(!i||"object"!=typeof i)return i;let n,s,e;for(s in n=Array.isArray(i)?[]:{},i)i.hasOwnProperty(s)&&(e=i[s],n[s]=e&&"object"==typeof e?O(e):e);return n}function A(t){return null!==t}function B(t){return null===t?void 0:t}const V="-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif";function z(t,i,n){return void 0===i&&(i=V),`${n=void 0!==n?`${n} `:""}${t}px ${i}`}class E{constructor(t){this.k={C:1,T:5,P:NaN,R:"",D:"",O:"",A:"",B:0,V:0,I:0,L:0,N:0},this.F=t}W(){const t=this.k,i=this.j(),n=this.H();return t.P===i&&t.D===n||(t.P=i,t.D=n,t.R=z(i,n),t.L=2.5/12*i,t.B=t.L,t.V=i/12*t.T,t.I=i/12*t.T,t.N=0),t.O=this.$(),t.A=this.U(),this.k}$(){return this.F.W().layout.textColor}U(){return this.F.q()}j(){return this.F.W().layout.fontSize}H(){return this.F.W().layout.fontFamily}}class I{constructor(){this.Y=[]}X(t){this.Y=t}K(t,i,n){this.Y.forEach((s=>{s.K(t,i,n)}))}}class L{K(t,i,n){t.useBitmapCoordinateSpace((t=>this.Z(t,i,n)))}}class N extends L{constructor(){super(...arguments),this.G=null}J(t){this.G=t}Z({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.G||null===this.G.tt)return;const s=this.G.tt,e=this.G,r=Math.max(1,Math.floor(i))%2/2,h=h=>{t.beginPath();for(let l=s.to-1;l>=s.from;--l){const s=e.it[l],a=Math.round(s.nt*i)+r,o=s.st*n,_=h*n+r;t.moveTo(a,o),t.arc(a,o,_,0,2*Math.PI)}t.fill()};e.et>0&&(t.fillStyle=e.rt,h(e.ht+e.et)),t.fillStyle=e.lt,h(e.ht)}}function F(){return{it:[{nt:0,st:0,ot:0,_t:0}],lt:"",rt:"",ht:0,et:0,tt:null}}const W={from:0,to:1};class j{constructor(t,i){this.ut=new I,this.ct=[],this.dt=[],this.ft=!0,this.F=t,this.vt=i,this.ut.X(this.ct)}bt(t){const i=this.F.wt();i.length!==this.ct.length&&(this.dt=i.map(F),this.ct=this.dt.map((t=>{const i=new N;return i.J(t),i})),this.ut.X(this.ct)),this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.ut}Mt(){const t=2===this.vt.W().mode,i=this.F.wt(),n=this.vt.xt(),s=this.F.St();i.forEach(((i,e)=>{var r;const h=this.dt[e],l=i.yt(n);if(t||null===l||!i.kt())return void(h.tt=null);const a=f(i.Ct());h.lt=l.Tt,h.ht=l.ht,h.et=l.Pt,h.it[0]._t=l._t,h.it[0].st=i.Dt().Rt(l._t,a.Ot),h.rt=null!==(r=l.At)&&void 0!==r?r:this.F.Bt(h.it[0].st/i.Dt().Vt()),h.it[0].ot=n,h.it[0].nt=s.zt(n),h.tt=W}))}}class H extends L{constructor(t){super(),this.Et=t}Z({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.Et)return;const e=this.Et.It.kt,r=this.Et.Lt.kt;if(!e&&!r)return;const h=Math.round(this.Et.nt*n),l=Math.round(this.Et.st*s);t.lineCap="butt",e&&h>=0&&(t.lineWidth=Math.floor(this.Et.It.et*n),t.strokeStyle=this.Et.It.O,t.fillStyle=this.Et.It.O,_(t,this.Et.It.Nt),function(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(i+e,n),t.lineTo(i+e,s),t.stroke()}(t,h,0,i.height)),r&&l>=0&&(t.lineWidth=Math.floor(this.Et.Lt.et*s),t.strokeStyle=this.Et.Lt.O,t.fillStyle=this.Et.Lt.O,_(t,this.Et.Lt.Nt),u(t,l,0,i.width))}}class ${constructor(t){this.ft=!0,this.Ft={It:{et:1,Nt:0,O:"",kt:!1},Lt:{et:1,Nt:0,O:"",kt:!1},nt:0,st:0},this.Wt=new H(this.Ft),this.jt=t}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt}Mt(){const t=this.jt.kt(),i=f(this.jt.Ht()),n=i.$t().W().crosshair,s=this.Ft;if(2===n.mode)return s.Lt.kt=!1,void(s.It.kt=!1);s.Lt.kt=t&&this.jt.Ut(i),s.It.kt=t&&this.jt.qt(),s.Lt.et=n.horzLine.width,s.Lt.Nt=n.horzLine.style,s.Lt.O=n.horzLine.color,s.It.et=n.vertLine.width,s.It.Nt=n.vertLine.style,s.It.O=n.vertLine.color,s.nt=this.jt.Yt(),s.st=this.jt.Xt()}}function U(t,i,n,s,e,r){t.fillRect(i+r,n,s-2*r,r),t.fillRect(i+r,n+e-r,s-2*r,r),t.fillRect(i,n,r,e),t.fillRect(i+s-r,n,r,e)}function q(t,i,n,s,e,r){t.save(),t.globalCompositeOperation="copy",t.fillStyle=r,t.fillRect(i,n,s,e),t.restore()}function Y(t,i){return t.map((t=>0===t?t:t+i))}function X(t,i,n,s,e,r){t.beginPath(),t.lineTo(i+s-r[1],n),0!==r[1]&&t.arcTo(i+s,n,i+s,n+r[1],r[1]),t.lineTo(i+s,n+e-r[2]),0!==r[2]&&t.arcTo(i+s,n+e,i+s-r[2],n+e,r[2]),t.lineTo(i+r[3],n+e),0!==r[3]&&t.arcTo(i,n+e,i,n+e-r[3],r[3]),t.lineTo(i,n+r[0]),0!==r[0]&&t.arcTo(i,n,i+r[0],n,r[0])}function K(t,i,n,s,e,r,h=0,l=[0,0,0,0],a=""){if(t.save(),!h||!a||a===r)return X(t,i,n,s,e,l),t.fillStyle=r,t.fill(),void t.restore();const o=h/2;if("transparent"!==r){X(t,i+h,n+h,s-2*h,e-2*h,Y(l,-h)),t.fillStyle=r,t.fill()}if("transparent"!==a){X(t,i+o,n+o,s-h,e-h,Y(l,-o)),t.lineWidth=h,t.strokeStyle=a,t.closePath(),t.stroke()}t.restore()}function Z(t,i,n,s,e,r,h){t.save(),t.globalCompositeOperation="copy";const l=t.createLinearGradient(0,0,0,e);l.addColorStop(0,r),l.addColorStop(1,h),t.fillStyle=l,t.fillRect(i,n,s,e),t.restore()}class G{constructor(t,i){this.J(t,i)}J(t,i){this.Et=t,this.Kt=i}Vt(t,i){return this.Et.kt?t.P+t.L+t.B:0}K(t,i,n,s){if(!this.Et.kt||0===this.Et.Zt.length)return;const e=this.Et.O,r=this.Kt.t,h=t.useBitmapCoordinateSpace((t=>{const h=t.context;h.font=i.R;const l=this.Gt(t,i,n,s),a=l.Jt,o=(t,i)=>{l.Qt?K(h,a.ti,a.ii,a.ni,a.si,t,a.ei,[a.ht,0,0,a.ht],i):K(h,a.ri,a.ii,a.ni,a.si,t,a.ei,[0,a.ht,a.ht,0],i)};return o(r,"transparent"),this.Et.hi&&(h.fillStyle=e,h.fillRect(a.ri,a.li,a.ai-a.ri,a.oi)),o("transparent",r),this.Et._i&&(h.fillStyle=i.A,h.fillRect(l.Qt?a.ui-a.ei:0,a.ii,a.ei,a.ci-a.ii)),l}));t.useMediaCoordinateSpace((({context:t})=>{const n=h.di;t.font=i.R,t.textAlign=h.Qt?"right":"left",t.textBaseline="middle",t.fillStyle=e,t.fillText(this.Et.Zt,n.fi,(n.ii+n.ci)/2+n.vi)}))}Gt(t,i,n,s){var e;const{context:r,bitmapSize:h,mediaSize:l,horizontalPixelRatio:a,verticalPixelRatio:o}=t,_=this.Et.hi||!this.Et.pi?i.T:0,u=this.Et.mi?i.C:0,c=i.L+this.Kt.bi,d=i.B+this.Kt.wi,f=i.V,v=i.I,p=this.Et.Zt,m=i.P,b=n.gi(r,p),w=Math.ceil(n.Mi(r,p)),g=m+c+d,M=i.C+f+v+w+_,x=Math.max(1,Math.floor(o));let S=Math.round(g*o);S%2!=x%2&&(S+=1);const y=u>0?Math.max(1,Math.floor(u*a)):0,k=Math.round(M*a),C=Math.round(_*a),T=null!==(e=this.Kt.xi)&&void 0!==e?e:this.Kt.Si,P=Math.round(T*o)-Math.floor(.5*o),R=Math.floor(P+x/2-S/2),D=R+S,O="right"===s,A=O?l.width-u:u,B=O?h.width-y:y;let V,z,E;return O?(V=B-k,z=B-C,E=A-_-f-u):(V=B+k,z=B+C,E=A+_+f),{Qt:O,Jt:{ii:R,li:P,ci:D,ni:k,si:S,ht:2*a,ei:y,ti:V,ri:B,ai:z,oi:x,ui:h.width},di:{ii:R/o,ci:D/o,fi:E,vi:b}}}}class J{constructor(t){this.yi={Si:0,t:"#000",wi:0,bi:0},this.ki={Zt:"",kt:!1,hi:!0,pi:!1,At:"",O:"#FFF",_i:!1,mi:!1},this.Ci={Zt:"",kt:!1,hi:!1,pi:!0,At:"",O:"#FFF",_i:!0,mi:!0},this.ft=!0,this.Ti=new(t||G)(this.ki,this.yi),this.Pi=new(t||G)(this.Ci,this.yi)}Zt(){return this.Ri(),this.ki.Zt}Si(){return this.Ri(),this.yi.Si}bt(){this.ft=!0}Vt(t,i=!1){return Math.max(this.Ti.Vt(t,i),this.Pi.Vt(t,i))}Di(){return this.yi.xi||0}Oi(t){this.yi.xi=t}Ai(){return this.Ri(),this.ki.kt||this.Ci.kt}Bi(){return this.Ri(),this.ki.kt}gt(t){return this.Ri(),this.ki.hi=this.ki.hi&&t.W().ticksVisible,this.Ci.hi=this.Ci.hi&&t.W().ticksVisible,this.Ti.J(this.ki,this.yi),this.Pi.J(this.Ci,this.yi),this.Ti}Vi(){return this.Ri(),this.Ti.J(this.ki,this.yi),this.Pi.J(this.Ci,this.yi),this.Pi}Ri(){this.ft&&(this.ki.hi=!0,this.Ci.hi=!1,this.zi(this.ki,this.Ci,this.yi))}}class Q extends J{constructor(t,i,n){super(),this.jt=t,this.Ei=i,this.Ii=n}zi(t,i,n){if(t.kt=!1,2===this.jt.W().mode)return;const s=this.jt.W().horzLine;if(!s.labelVisible)return;const e=this.Ei.Ct();if(!this.jt.kt()||this.Ei.Li()||null===e)return;const r=y(s.labelBackgroundColor);n.t=r.t,t.O=r.i;const h=2/12*this.Ei.P();n.bi=h,n.wi=h;const l=this.Ii(this.Ei);n.Si=l.Si,t.Zt=this.Ei.Ni(l._t,e),t.kt=!0}}const tt=/[1-9]/g;class it{constructor(){this.Et=null}J(t){this.Et=t}K(t,i){if(null===this.Et||!1===this.Et.kt||0===this.Et.Zt.length)return;const n=t.useMediaCoordinateSpace((({context:t})=>(t.font=i.R,Math.round(i.Fi.Mi(t,f(this.Et).Zt,tt)))));if(n<=0)return;const s=i.Wi,e=n+2*s,r=e/2,h=this.Et.ji;let l=this.Et.Si,a=Math.floor(l-r)+.5;a<0?(l+=Math.abs(0-a),a=Math.floor(l-r)+.5):a+e>h&&(l-=Math.abs(h-(a+e)),a=Math.floor(l-r)+.5);const o=a+e,_=Math.ceil(0+i.C+i.T+i.L+i.P+i.B);t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:n,verticalPixelRatio:s})=>{const e=f(this.Et);t.fillStyle=e.t;const r=Math.round(a*n),h=Math.round(0*s),l=Math.round(o*n),u=Math.round(_*s),c=Math.round(2*n);if(t.beginPath(),t.moveTo(r,h),t.lineTo(r,u-c),t.arcTo(r,u,r+c,u,c),t.lineTo(l-c,u),t.arcTo(l,u,l,u-c,c),t.lineTo(l,h),t.fill(),e.hi){const r=Math.round(e.Si*n),l=h,a=Math.round((l+i.T)*s);t.fillStyle=e.O;const o=Math.max(1,Math.floor(n)),_=Math.floor(.5*n);t.fillRect(r-_,l,o,a-l)}})),t.useMediaCoordinateSpace((({context:t})=>{const n=f(this.Et),e=0+i.C+i.T+i.L+i.P/2;t.font=i.R,t.textAlign="left",t.textBaseline="middle",t.fillStyle=n.O;const r=i.Fi.gi(t,"Apr0");t.translate(a+s,e+r),t.fillText(n.Zt,0,0)}))}}class nt{constructor(t,i,n){this.ft=!0,this.Wt=new it,this.Ft={kt:!1,t:"#4c525e",O:"white",Zt:"",ji:0,Si:NaN,hi:!0},this.vt=t,this.Hi=i,this.Ii=n}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt.J(this.Ft),this.Wt}Mt(){const t=this.Ft;if(t.kt=!1,2===this.vt.W().mode)return;const i=this.vt.W().vertLine;if(!i.labelVisible)return;const n=this.Hi.St();if(n.Li())return;t.ji=n.ji();const s=this.Ii();if(null===s)return;t.Si=s.Si;const e=n.$i(this.vt.xt());t.Zt=n.Ui(f(e)),t.kt=!0;const r=y(i.labelBackgroundColor);t.t=r.t,t.O=r.i,t.hi=n.W().ticksVisible}}class st{constructor(){this.qi=null,this.Yi=0}Xi(){return this.Yi}Ki(t){this.Yi=t}Dt(){return this.qi}Zi(t){this.qi=t}Gi(t){return[]}Ji(){return[]}kt(){return!0}}var et;!function(t){t[t.Normal=0]="Normal",t[t.Magnet=1]="Magnet",t[t.Hidden=2]="Hidden"}(et||(et={}));class rt extends st{constructor(t,i){super(),this.Qi=null,this.tn=NaN,this.nn=0,this.sn=!0,this.en=new Map,this.rn=!1,this.hn=NaN,this.ln=NaN,this.an=NaN,this.on=NaN,this.Hi=t,this._n=i,this.un=new j(t,this);this.cn=((t,i)=>n=>{const s=i(),e=t();if(n===f(this.Qi).dn())return{_t:e,Si:s};{const t=f(n.Ct());return{_t:n.fn(s,t),Si:s}}})((()=>this.tn),(()=>this.ln));const n=((t,i)=>()=>{const n=this.Hi.St().vn(t()),s=i();return n&&Number.isFinite(s)?{ot:n,Si:s}:null})((()=>this.nn),(()=>this.Yt()));this.pn=new nt(this,t,n),this.mn=new $(this)}W(){return this._n}bn(t,i){this.an=t,this.on=i}wn(){this.an=NaN,this.on=NaN}gn(){return this.an}Mn(){return this.on}xn(t,i,n){this.rn||(this.rn=!0),this.sn=!0,this.Sn(t,i,n)}xt(){return this.nn}Yt(){return this.hn}Xt(){return this.ln}kt(){return this.sn}yn(){this.sn=!1,this.kn(),this.tn=NaN,this.hn=NaN,this.ln=NaN,this.Qi=null,this.wn()}Cn(t){return null!==this.Qi?[this.mn,this.un]:[]}Ut(t){return t===this.Qi&&this._n.horzLine.visible}qt(){return this._n.vertLine.visible}Tn(t,i){this.sn&&this.Qi===t||this.en.clear();const n=[];return this.Qi===t&&n.push(this.Pn(this.en,i,this.cn)),n}Ji(){return this.sn?[this.pn]:[]}Ht(){return this.Qi}Rn(){this.mn.bt(),this.en.forEach((t=>t.bt())),this.pn.bt(),this.un.bt()}Dn(t){return t&&!t.dn().Li()?t.dn():null}Sn(t,i,n){this.On(t,i,n)&&this.Rn()}On(t,i,n){const s=this.hn,e=this.ln,r=this.tn,h=this.nn,l=this.Qi,a=this.Dn(n);this.nn=t,this.hn=isNaN(t)?NaN:this.Hi.St().zt(t),this.Qi=n;const o=null!==a?a.Ct():null;return null!==a&&null!==o?(this.tn=i,this.ln=a.Rt(i,o)):(this.tn=NaN,this.ln=NaN),s!==this.hn||e!==this.ln||h!==this.nn||r!==this.tn||l!==this.Qi}kn(){const t=this.Hi.wt().map((t=>t.Bn().An())).filter(A),i=0===t.length?null:Math.max(...t);this.nn=null!==i?i:NaN}Pn(t,i,n){let s=t.get(i);return void 0===s&&(s=new Q(this,i,n),t.set(i,s)),s}}function ht(t){return"left"===t||"right"===t}class lt{constructor(t){this.Vn=new Map,this.zn=[],this.En=t}In(t,i){const n=function(t,i){return void 0===t?i:{Ln:Math.max(t.Ln,i.Ln),Nn:t.Nn||i.Nn}}(this.Vn.get(t),i);this.Vn.set(t,n)}Fn(){return this.En}Wn(t){const i=this.Vn.get(t);return void 0===i?{Ln:this.En}:{Ln:Math.max(this.En,i.Ln),Nn:i.Nn}}jn(){this.Hn(),this.zn=[{$n:0}]}Un(t){this.Hn(),this.zn=[{$n:1,Ot:t}]}qn(t){this.Yn(),this.zn.push({$n:5,Ot:t})}Hn(){this.Yn(),this.zn.push({$n:6})}Xn(){this.Hn(),this.zn=[{$n:4}]}Kn(t){this.Hn(),this.zn.push({$n:2,Ot:t})}Zn(t){this.Hn(),this.zn.push({$n:3,Ot:t})}Gn(){return this.zn}Jn(t){for(const i of t.zn)this.Qn(i);this.En=Math.max(this.En,t.En),t.Vn.forEach(((t,i)=>{this.In(i,t)}))}static ts(){return new lt(2)}static ns(){return new lt(3)}Qn(t){switch(t.$n){case 0:this.jn();break;case 1:this.Un(t.Ot);break;case 2:this.Kn(t.Ot);break;case 3:this.Zn(t.Ot);break;case 4:this.Xn();break;case 5:this.qn(t.Ot);break;case 6:this.Yn()}}Yn(){const t=this.zn.findIndex((t=>5===t.$n));-1!==t&&this.zn.splice(t,1)}}const at=".";function ot(t,i){if(!T(t))return"n/a";if(!P(i))throw new TypeError("invalid length");if(i<0||i>16)throw new TypeError("invalid length");if(0===i)return t.toString();return("0000000000000000"+t.toString()).slice(-i)}class _t{constructor(t,i){if(i||(i=1),T(t)&&P(t)||(t=100),t<0)throw new TypeError("invalid base");this.Ei=t,this.ss=i,this.es()}format(t){const i=t<0?"−":"";return t=Math.abs(t),i+this.rs(t)}es(){if(this.hs=0,this.Ei>0&&this.ss>0){let t=this.Ei;for(;t>1;)t/=10,this.hs++}}rs(t){const i=this.Ei/this.ss;let n=Math.floor(t),s="";const e=void 0!==this.hs?this.hs:NaN;if(i>1){let r=+(Math.round(t*i)-n*i).toFixed(this.hs);r>=i&&(r-=i,n+=1),s=at+ot(+r.toFixed(this.hs)*this.ss,e)}else n=Math.round(n*i)/i,e>0&&(s=at+ot(0,e));return n.toFixed(0)+s}}class ut extends _t{constructor(t=100){super(t)}format(t){return`${super.format(t)}%`}}class ct{constructor(t){this.ls=t}format(t){let i="";return t<0&&(i="-",t=-t),t<995?i+this.os(t):t<999995?i+this.os(t/1e3)+"K":t<999999995?(t=1e3*Math.round(t/1e3),i+this.os(t/1e6)+"M"):(t=1e6*Math.round(t/1e6),i+this.os(t/1e9)+"B")}os(t){let i;const n=Math.pow(10,this.ls);return i=(t=Math.round(t*n)/n)>=1e-15&&t<1?t.toFixed(this.ls).replace(/\.?0+$/,""):String(t),i.replace(/(\.[1-9]*)0+$/,((t,i)=>i))}}function dt(t,i,n,s,e,r,h){if(0===i.length||s.from>=i.length||s.to<=0)return;const{context:l,horizontalPixelRatio:a,verticalPixelRatio:o}=t,_=i[s.from];let u=r(t,_),c=_;if(s.to-s.from<2){const i=e/2;l.beginPath();const n={nt:_.nt-i,st:_.st},s={nt:_.nt+i,st:_.st};l.moveTo(n.nt*a,n.st*o),l.lineTo(s.nt*a,s.st*o),h(t,u,n,s)}else{const e=(i,n)=>{h(t,u,c,n),l.beginPath(),u=i,c=n};let d=c;l.beginPath(),l.moveTo(_.nt*a,_.st*o);for(let h=s.from+1;h=s.from;--n){const s=i[n];if(s){const i=e(t,s);i!==a&&(l.beginPath(),null!==a&&l.fill(),l.fillStyle=i,a=i);const n=Math.round(s.nt*r)+o,u=s.st*h;l.moveTo(n,u),l.arc(n,u,_,0,2*Math.PI)}}l.fill()}(t,i,l,n,o)}}class Tt extends Ct{Ps(t,i){return i.lt}}function Pt(t,i,n,s,e=0,r=i.length){let h=r-e;for(;0>1,l=e+r;s(i[l],n)===t?(e=l+1,h-=r+1):h=r}return e}const Rt=Pt.bind(null,!0),Dt=Pt.bind(null,!1);function Ot(t,i){return t.ot0&&r=s&&(l=r-1),h>0&&hObject.assign(Object.assign({},t),this.zs.js().Ws(t.ot))))}Hs(){this.Vs=null}Ls(){this.Os&&(this.$s(),this.Os=!1),this.As&&(this.Fs(),this.As=!1),this.Ds&&(this.Us(),this.Ds=!1)}Us(){const t=this.zs.Dt(),i=this.Es.St();if(this.Hs(),i.Li()||t.Li())return;const n=i.qs();if(null===n)return;if(0===this.zs.Bn().Ys())return;const s=this.zs.Ct();null!==s&&(this.Vs=Bt(this.Bs,n,this.Is),this.Xs(t,i,s.Ot),this.Ks())}}class zt extends Vt{constructor(t,i){super(t,i,!0)}Xs(t,i,n){i.Zs(this.Bs,B(this.Vs)),t.Gs(this.Bs,n,B(this.Vs))}Js(t,i){return{ot:t,_t:i,nt:NaN,st:NaN}}$s(){const t=this.zs.js();this.Bs=this.zs.Bn().Qs().map((i=>{const n=i.Ot[3];return this.te(i.ie,n,t)}))}}class Et extends zt{constructor(t,i){super(t,i),this.Ns=new I,this.ne=new yt,this.se=new Tt,this.Ns.X([this.ne,this.se])}te(t,i,n){return Object.assign(Object.assign({},this.Js(t,i)),n.Ws(t))}Ks(){const t=this.zs.W();this.ne.J({us:t.lineType,it:this.Bs,Nt:t.lineStyle,et:t.lineWidth,cs:null,ds:t.invertFilledArea,tt:this.Vs,_s:this.Es.St().ee()}),this.se.J({us:t.lineVisible?t.lineType:void 0,it:this.Bs,Nt:t.lineStyle,et:t.lineWidth,tt:this.Vs,_s:this.Es.St().ee(),Ts:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0})}}class It extends L{constructor(){super(...arguments),this.Et=null,this.re=0,this.he=0}J(t){this.Et=t}Z({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.Et||0===this.Et.Bn.length||null===this.Et.tt)return;if(this.re=this.le(i),this.re>=2){Math.max(1,Math.floor(i))%2!=this.re%2&&this.re--}this.he=this.Et.ae?Math.min(this.re,Math.floor(i)):this.re;let s=null;const e=this.he<=this.re&&this.Et.ee>=Math.floor(1.5*i);for(let r=this.Et.tt.from;rf+p-1&&(e=f+p-1,s=e-_+1),t.fillRect(i,s,o-i,e-s+1)}const i=a+m;let s=Math.max(f,Math.round(h.fe*n)-l),e=s+_-1;e>f+p-1&&(e=f+p-1,s=e-_+1),t.fillRect(u+1,s,i-u,e-s+1)}}}le(t){const i=Math.floor(t);return Math.max(i,Math.floor(function(t,i){return Math.floor(.3*t*i)}(f(this.Et).ee,t)))}}class Lt extends Vt{constructor(t,i){super(t,i,!1)}Xs(t,i,n){i.Zs(this.Bs,B(this.Vs)),t.ve(this.Bs,n,B(this.Vs))}pe(t,i,n){return{ot:t,me:i.Ot[0],be:i.Ot[1],we:i.Ot[2],ge:i.Ot[3],nt:NaN,de:NaN,_e:NaN,ue:NaN,fe:NaN}}$s(){const t=this.zs.js();this.Bs=this.zs.Bn().Qs().map((i=>this.te(i.ie,i,t)))}}class Nt extends Lt{constructor(){super(...arguments),this.Ns=new It}te(t,i,n){return Object.assign(Object.assign({},this.pe(t,i,n)),n.Ws(t))}Ks(){const t=this.zs.W();this.Ns.J({Bn:this.Bs,ee:this.Es.St().ee(),ce:t.openVisible,ae:t.thinBars,tt:this.Vs})}}class Ft extends wt{constructor(){super(...arguments),this.ys=new St}fs(t,i){const n=this.G;return this.ys.vs(t,{bs:i.Me,ws:i.xe,gs:i.Se,Ms:i.ye,xs:t.bitmapSize.height,cs:n.cs})}}class Wt extends Ct{constructor(){super(...arguments),this.ke=new St}Ps(t,i){const n=this.G;return this.ke.vs(t,{bs:i.Ce,ws:i.Ce,gs:i.Te,Ms:i.Te,xs:t.bitmapSize.height,cs:n.cs})}}class jt extends zt{constructor(t,i){super(t,i),this.Ns=new I,this.Pe=new Ft,this.Re=new Wt,this.Ns.X([this.Pe,this.Re])}te(t,i,n){return Object.assign(Object.assign({},this.Js(t,i)),n.Ws(t))}Ks(){const t=this.zs.Ct();if(null===t)return;const i=this.zs.W(),n=this.zs.Dt().Rt(i.baseValue.price,t.Ot),s=this.Es.St().ee();this.Pe.J({it:this.Bs,et:i.lineWidth,Nt:i.lineStyle,us:i.lineType,cs:n,ds:!1,tt:this.Vs,_s:s}),this.Re.J({it:this.Bs,et:i.lineWidth,Nt:i.lineStyle,us:i.lineVisible?i.lineType:void 0,Ts:i.pointMarkersVisible?i.pointMarkersRadius||i.lineWidth/2+2:void 0,cs:n,tt:this.Vs,_s:s})}}class Ht extends L{constructor(){super(...arguments),this.Et=null,this.re=0}J(t){this.Et=t}Z(t){if(null===this.Et||0===this.Et.Bn.length||null===this.Et.tt)return;const{horizontalPixelRatio:i}=t;if(this.re=function(t,i){if(t>=2.5&&t<=4)return Math.floor(3*i);const n=1-.2*Math.atan(Math.max(4,t)-4)/(.5*Math.PI),s=Math.floor(t*n*i),e=Math.floor(t*i),r=Math.min(s,e);return Math.max(Math.floor(i),r)}(this.Et.ee,i),this.re>=2){Math.floor(i)%2!=this.re%2&&this.re--}const n=this.Et.Bn;this.Et.De&&this.Oe(t,n,this.Et.tt),this.Et._i&&this.Ae(t,n,this.Et.tt);const s=this.Be(i);(!this.Et._i||this.re>2*s)&&this.Ve(t,n,this.Et.tt)}Oe(t,i,n){if(null===this.Et)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h="",l=Math.min(Math.floor(e),Math.floor(this.Et.ee*e));l=Math.max(Math.floor(e),Math.min(l,this.re));const a=Math.floor(.5*l);let o=null;for(let t=n.from;t2*l)U(s,o,u,_-o+1,c-u+1,l);else{const t=_-o+1;s.fillRect(o,u,t,c-u+1)}a=_}}Ve(t,i,n){if(null===this.Et)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h="";const l=this.Be(e);for(let t=n.from;to||s.fillRect(_,a,u-_+1,o-a+1)}}}class $t extends Lt{constructor(){super(...arguments),this.Ns=new Ht}te(t,i,n){return Object.assign(Object.assign({},this.pe(t,i,n)),n.Ws(t))}Ks(){const t=this.zs.W();this.Ns.J({Bn:this.Bs,ee:this.Es.St().ee(),De:t.wickVisible,_i:t.borderVisible,tt:this.Vs})}}class Ut{constructor(t,i){this.Ie=t,this.Ei=i}K(t,i,n){this.Ie.draw(t,this.Ei,i,n)}}class qt extends Vt{constructor(t,i,n){super(t,i,!1),this.mn=n,this.Ns=new Ut(this.mn.renderer(),(i=>{const n=t.Ct();return null===n?null:t.Dt().Rt(i,n.Ot)}))}Le(t){return this.mn.priceValueBuilder(t)}Ne(t){return this.mn.isWhitespace(t)}$s(){const t=this.zs.js();this.Bs=this.zs.Bn().Qs().map((i=>Object.assign(Object.assign({ot:i.ie,nt:NaN},t.Ws(i.ie)),{Fe:i.We})))}Xs(t,i){i.Zs(this.Bs,B(this.Vs))}Ks(){this.mn.update({bars:this.Bs.map(Yt),barSpacing:this.Es.St().ee(),visibleRange:this.Vs},this.zs.W())}}function Yt(t){return{x:t.nt,time:t.ot,originalData:t.Fe,barColor:t.oe}}class Xt extends L{constructor(){super(...arguments),this.Et=null,this.je=[]}J(t){this.Et=t,this.je=[]}Z({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.Et||0===this.Et.it.length||null===this.Et.tt)return;this.je.length||this.He(i);const s=Math.max(1,Math.floor(n)),e=Math.round(this.Et.$e*n)-Math.floor(s/2),r=e+s;for(let i=this.Et.tt.from;is.qe?s.ui=n.Rs-i-1:n.Rs=s.ui+i+1))}let s=Math.ceil(this.Et.ee*t);for(let t=this.Et.tt.from;t0&&s<4)for(let t=this.Et.tt.from;ts&&(i.Ue>i.qe?i.ui-=1:i.Rs+=1)}}}class Kt extends zt{constructor(){super(...arguments),this.Ns=new Xt}te(t,i,n){return Object.assign(Object.assign({},this.Js(t,i)),n.Ws(t))}Ks(){const t={it:this.Bs,ee:this.Es.St().ee(),tt:this.Vs,$e:this.zs.Dt().Rt(this.zs.W().base,f(this.zs.Ct()).Ot)};this.Ns.J(t)}}class Zt extends zt{constructor(){super(...arguments),this.Ns=new Tt}te(t,i,n){return Object.assign(Object.assign({},this.Js(t,i)),n.Ws(t))}Ks(){const t=this.zs.W(),i={it:this.Bs,Nt:t.lineStyle,us:t.lineVisible?t.lineType:void 0,et:t.lineWidth,Ts:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0,tt:this.Vs,_s:this.Es.St().ee()};this.Ns.J(i)}}const Gt=/[2-9]/g;class Jt{constructor(t=50){this.Ye=0,this.Xe=1,this.Ke=1,this.Ze={},this.Ge=new Map,this.Je=t}Qe(){this.Ye=0,this.Ge.clear(),this.Xe=1,this.Ke=1,this.Ze={}}Mi(t,i,n){return this.tr(t,i,n).width}gi(t,i,n){const s=this.tr(t,i,n);return((s.actualBoundingBoxAscent||0)-(s.actualBoundingBoxDescent||0))/2}tr(t,i,n){const s=n||Gt,e=String(i).replace(s,"0");if(this.Ge.has(e))return d(this.Ge.get(e)).ir;if(this.Ye===this.Je){const t=this.Ze[this.Ke];delete this.Ze[this.Ke],this.Ge.delete(t),this.Ke++,this.Ye--}t.save(),t.textBaseline="middle";const r=t.measureText(e);return t.restore(),0===r.width&&i.length||(this.Ge.set(e,{ir:r,nr:this.Xe}),this.Ze[this.Xe]=e,this.Ye++,this.Xe++),r}}class Qt{constructor(t){this.sr=null,this.k=null,this.er="right",this.rr=t}hr(t,i,n){this.sr=t,this.k=i,this.er=n}K(t){null!==this.k&&null!==this.sr&&this.sr.K(t,this.k,this.rr,this.er)}}class ti{constructor(t,i,n){this.lr=t,this.rr=new Jt(50),this.ar=i,this.F=n,this.j=-1,this.Wt=new Qt(this.rr)}gt(){const t=this.F._r(this.ar);if(null===t)return null;const i=t.ur(this.ar)?t.cr():this.ar.Dt();if(null===i)return null;const n=t.dr(i);if("overlay"===n)return null;const s=this.F.vr();return s.P!==this.j&&(this.j=s.P,this.rr.Qe()),this.Wt.hr(this.lr.Vi(),s,n),this.Wt}}class ii extends L{constructor(){super(...arguments),this.Et=null}J(t){this.Et=t}pr(t,i){var n;if(!(null===(n=this.Et)||void 0===n?void 0:n.kt))return null;const{st:s,et:e,mr:r}=this.Et;return i>=s-e-7&&i<=s+e+7?{br:this.Et,mr:r}:null}Z({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.Et)return;if(!1===this.Et.kt)return;const e=Math.round(this.Et.st*s);e<0||e>i.height||(t.lineCap="butt",t.strokeStyle=this.Et.O,t.lineWidth=Math.floor(this.Et.et*n),_(t,this.Et.Nt),u(t,e,0,i.width))}}class ni{constructor(t){this.wr={st:0,O:"rgba(0, 0, 0, 0)",et:1,Nt:0,kt:!1},this.gr=new ii,this.ft=!0,this.zs=t,this.Es=t.$t(),this.gr.J(this.wr)}bt(){this.ft=!0}gt(){return this.zs.kt()?(this.ft&&(this.Mr(),this.ft=!1),this.gr):null}}class si extends ni{constructor(t){super(t)}Mr(){this.wr.kt=!1;const t=this.zs.Dt(),i=t.Sr().Sr;if(2!==i&&3!==i)return;const n=this.zs.W();if(!n.baseLineVisible||!this.zs.kt())return;const s=this.zs.Ct();null!==s&&(this.wr.kt=!0,this.wr.st=t.Rt(s.Ot,s.Ot),this.wr.O=n.baseLineColor,this.wr.et=n.baseLineWidth,this.wr.Nt=n.baseLineStyle)}}class ei extends L{constructor(){super(...arguments),this.Et=null}J(t){this.Et=t}We(){return this.Et}Z({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){const s=this.Et;if(null===s)return;const e=Math.max(1,Math.floor(i)),r=e%2/2,h=Math.round(s.qe.x*i)+r,l=s.qe.y*n;t.fillStyle=s.yr,t.beginPath();const a=Math.max(2,1.5*s.kr)*i;t.arc(h,l,a,0,2*Math.PI,!1),t.fill(),t.fillStyle=s.Cr,t.beginPath(),t.arc(h,l,s.ht*i,0,2*Math.PI,!1),t.fill(),t.lineWidth=e,t.strokeStyle=s.Tr,t.beginPath(),t.arc(h,l,s.ht*i+e/2,0,2*Math.PI,!1),t.stroke()}}const ri=[{Pr:0,Rr:.25,Dr:4,Or:10,Ar:.25,Br:0,Vr:.4,zr:.8},{Pr:.25,Rr:.525,Dr:10,Or:14,Ar:0,Br:0,Vr:.8,zr:0},{Pr:.525,Rr:1,Dr:14,Or:14,Ar:0,Br:0,Vr:0,zr:0}];function hi(t,i,n,s){return function(t,i){if("transparent"===t)return t;const n=S(t),s=n[3];return`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${i*s})`}(t,n+(s-n)*i)}function li(t,i){const n=t%2600/2600;let s;for(const t of ri)if(n>=t.Pr&&n<=t.Rr){s=t;break}c(void 0!==s,"Last price animation internal logic error");const e=(n-s.Pr)/(s.Rr-s.Pr);return{Cr:hi(i,e,s.Ar,s.Br),Tr:hi(i,e,s.Vr,s.zr),ht:(r=e,h=s.Dr,l=s.Or,h+(l-h)*r)};var r,h,l}class ai{constructor(t){this.Wt=new ei,this.ft=!0,this.Er=!0,this.Ir=performance.now(),this.Lr=this.Ir-1,this.Nr=t}Fr(){this.Lr=this.Ir-1,this.bt()}Wr(){if(this.bt(),2===this.Nr.W().lastPriceAnimation){const t=performance.now(),i=this.Lr-t;if(i>0)return void(i<650&&(this.Lr+=2600));this.Ir=t,this.Lr=t+2600}}bt(){this.ft=!0}jr(){this.Er=!0}kt(){return 0!==this.Nr.W().lastPriceAnimation}Hr(){switch(this.Nr.W().lastPriceAnimation){case 0:return!1;case 1:return!0;case 2:return performance.now()<=this.Lr}}gt(){return this.ft?(this.Mt(),this.ft=!1,this.Er=!1):this.Er&&(this.$r(),this.Er=!1),this.Wt}Mt(){this.Wt.J(null);const t=this.Nr.$t().St(),i=t.qs(),n=this.Nr.Ct();if(null===i||null===n)return;const s=this.Nr.Ur(!0);if(s.qr||!i.Yr(s.ie))return;const e={x:t.zt(s.ie),y:this.Nr.Dt().Rt(s._t,n.Ot)},r=s.O,h=this.Nr.W().lineWidth,l=li(this.Xr(),r);this.Wt.J({yr:r,kr:h,Cr:l.Cr,Tr:l.Tr,ht:l.ht,qe:e})}$r(){const t=this.Wt.We();if(null!==t){const i=li(this.Xr(),t.yr);t.Cr=i.Cr,t.Tr=i.Tr,t.ht=i.ht}}Xr(){return this.Hr()?performance.now()-this.Ir:2599}}function oi(t,i){return xt(Math.min(Math.max(t,12),30)*i)}function _i(t,i){switch(t){case"arrowDown":case"arrowUp":return oi(i,1);case"circle":return oi(i,.8);case"square":return oi(i,.7)}}function ui(t){return function(t){const i=Math.ceil(t);return i%2!=0?i-1:i}(oi(t,1))}function ci(t){return Math.max(oi(t,.1),3)}function di(t,i,n,s,e){const r=_i("square",n),h=(r-1)/2,l=t-h,a=i-h;return s>=l&&s<=l+r&&e>=a&&e<=a+r}function fi(t,i,n,s){const e=(_i("arrowUp",s)-1)/2*n.Kr,r=(xt(s/2)-1)/2*n.Kr;i.beginPath(),t?(i.moveTo(n.nt-e,n.st),i.lineTo(n.nt,n.st-e),i.lineTo(n.nt+e,n.st),i.lineTo(n.nt+r,n.st),i.lineTo(n.nt+r,n.st+e),i.lineTo(n.nt-r,n.st+e),i.lineTo(n.nt-r,n.st)):(i.moveTo(n.nt-e,n.st),i.lineTo(n.nt,n.st+e),i.lineTo(n.nt+e,n.st),i.lineTo(n.nt+r,n.st),i.lineTo(n.nt+r,n.st-e),i.lineTo(n.nt-r,n.st-e),i.lineTo(n.nt-r,n.st)),i.fill()}function vi(t,i,n,s,e,r){return di(i,n,s,e,r)}class pi extends L{constructor(){super(...arguments),this.Et=null,this.rr=new Jt,this.j=-1,this.H="",this.Zr=""}J(t){this.Et=t}hr(t,i){this.j===t&&this.H===i||(this.j=t,this.H=i,this.Zr=z(t,i),this.rr.Qe())}pr(t,i){if(null===this.Et||null===this.Et.tt)return null;for(let n=this.Et.tt.from;n=t&&e<=t+n&&r>=i-h&&r<=i+h}(t.Zt.nt,t.Zt.st,t.Zt.ji,t.Zt.Vt,i,n))||function(t,i,n){if(0===t.Ys)return!1;switch(t.Qr){case"arrowDown":case"arrowUp":return vi(0,t.nt,t.st,t.Ys,i,n);case"circle":return function(t,i,n,s,e){const r=2+_i("circle",n)/2,h=t-s,l=i-e;return Math.sqrt(h*h+l*l)<=r}(t.nt,t.st,t.Ys,i,n);case"square":return di(t.nt,t.st,t.Ys,i,n)}}(t,i,n)}function wi(t,i,n,s,e,r,h,l,a){const o=T(n)?n:n.ge,_=T(n)?n:n.be,u=T(n)?n:n.we,c=T(i.size)?Math.max(i.size,0):1,d=ui(l.ee())*c,f=d/2;switch(t.Ys=d,i.position){case"inBar":return t.st=h.Rt(o,a),void(void 0!==t.Zt&&(t.Zt.st=t.st+f+r+.6*e));case"aboveBar":return t.st=h.Rt(_,a)-f-s.th,void 0!==t.Zt&&(t.Zt.st=t.st-f-.6*e,s.th+=1.2*e),void(s.th+=d+r);case"belowBar":return t.st=h.Rt(u,a)+f+s.ih,void 0!==t.Zt&&(t.Zt.st=t.st+f+r+.6*e,s.ih+=1.2*e),void(s.ih+=d+r)}i.position}class gi{constructor(t,i){this.ft=!0,this.nh=!0,this.sh=!0,this.eh=null,this.Wt=new pi,this.Nr=t,this.Hi=i,this.Et={it:[],tt:null}}bt(t){this.ft=!0,this.sh=!0,"data"===t&&(this.nh=!0)}gt(t){if(!this.Nr.kt())return null;this.ft&&this.rh();const i=this.Hi.W().layout;return this.Wt.hr(i.fontSize,i.fontFamily),this.Wt.J(this.Et),this.Wt}hh(){if(this.sh){if(this.Nr.lh().length>0){const t=this.Hi.St().ee(),i=ci(t),n=1.5*ui(t)+2*i;this.eh={above:n,below:n}}else this.eh=null;this.sh=!1}return this.eh}rh(){const t=this.Nr.Dt(),i=this.Hi.St(),n=this.Nr.lh();this.nh&&(this.Et.it=n.map((t=>({ot:t.time,nt:0,st:0,Ys:0,Qr:t.shape,O:t.color,Gr:t.Gr,mr:t.id,Zt:void 0}))),this.nh=!1);const s=this.Hi.W().layout;this.Et.tt=null;const e=i.qs();if(null===e)return;const r=this.Nr.Ct();if(null===r)return;if(0===this.Et.it.length)return;let h=NaN;const l=ci(i.ee()),a={th:l,ih:l};this.Et.tt=Bt(this.Et.it,e,!0);for(let e=this.Et.tt.from;e0&&(_.Zt={Jr:o.text,nt:0,st:0,ji:0,Vt:0});const u=this.Nr.ah(o.time);null!==u&&wi(_,o,u,a,s.fontSize,l,t,i,r.Ot)}this.ft=!1}}class Mi extends ni{constructor(t){super(t)}Mr(){const t=this.wr;t.kt=!1;const i=this.zs.W();if(!i.priceLineVisible||!this.zs.kt())return;const n=this.zs.Ur(0===i.priceLineSource);n.qr||(t.kt=!0,t.st=n.Si,t.O=this.zs.oh(n.O),t.et=i.priceLineWidth,t.Nt=i.priceLineStyle)}}class xi extends J{constructor(t){super(),this.jt=t}zi(t,i,n){t.kt=!1,i.kt=!1;const s=this.jt;if(!s.kt())return;const e=s.W(),r=e.lastValueVisible,h=""!==s._h(),l=0===e.seriesLastValueMode,a=s.Ur(!1);if(a.qr)return;r&&(t.Zt=this.uh(a,r,l),t.kt=0!==t.Zt.length),(h||l)&&(i.Zt=this.dh(a,r,h,l),i.kt=i.Zt.length>0);const o=s.oh(a.O),_=y(o);n.t=_.t,n.Si=a.Si,i.At=s.$t().Bt(a.Si/s.Dt().Vt()),t.At=o,t.O=_.i,i.O=_.i}dh(t,i,n,s){let e="";const r=this.jt._h();return n&&0!==r.length&&(e+=`${r} `),i&&s&&(e+=this.jt.Dt().fh()?t.ph:t.mh),e.trim()}uh(t,i,n){return i?n?this.jt.Dt().fh()?t.mh:t.ph:t.Zt:""}}function Si(t,i,n,s){const e=Number.isFinite(i),r=Number.isFinite(n);return e&&r?t(i,n):e||r?e?i:n:s}class yi{constructor(t,i){this.bh=t,this.wh=i}gh(t){return null!==t&&(this.bh===t.bh&&this.wh===t.wh)}Mh(){return new yi(this.bh,this.wh)}xh(){return this.bh}Sh(){return this.wh}yh(){return this.wh-this.bh}Li(){return this.wh===this.bh||Number.isNaN(this.wh)||Number.isNaN(this.bh)}Jn(t){return null===t?this:new yi(Si(Math.min,this.xh(),t.xh(),-1/0),Si(Math.max,this.Sh(),t.Sh(),1/0))}kh(t){if(!T(t))return;if(0===this.wh-this.bh)return;const i=.5*(this.wh+this.bh);let n=this.wh-i,s=this.bh-i;n*=t,s*=t,this.wh=i+n,this.bh=i+s}Ch(t){T(t)&&(this.wh+=t,this.bh+=t)}Th(){return{minValue:this.bh,maxValue:this.wh}}static Ph(t){return null===t?null:new yi(t.minValue,t.maxValue)}}class ki{constructor(t,i){this.Rh=t,this.Dh=i||null}Oh(){return this.Rh}Ah(){return this.Dh}Th(){return null===this.Rh?null:{priceRange:this.Rh.Th(),margins:this.Dh||void 0}}static Ph(t){return null===t?null:new ki(yi.Ph(t.priceRange),t.margins)}}class Ci extends ni{constructor(t,i){super(t),this.Bh=i}Mr(){const t=this.wr;t.kt=!1;const i=this.Bh.W();if(!this.zs.kt()||!i.lineVisible)return;const n=this.Bh.Vh();null!==n&&(t.kt=!0,t.st=n,t.O=i.color,t.et=i.lineWidth,t.Nt=i.lineStyle,t.mr=this.Bh.W().id)}}class Ti extends J{constructor(t,i){super(),this.Nr=t,this.Bh=i}zi(t,i,n){t.kt=!1,i.kt=!1;const s=this.Bh.W(),e=s.axisLabelVisible,r=""!==s.title,h=this.Nr;if(!e||!h.kt())return;const l=this.Bh.Vh();if(null===l)return;r&&(i.Zt=s.title,i.kt=!0),i.At=h.$t().Bt(l/h.Dt().Vt()),t.Zt=this.zh(s.price),t.kt=!0;const a=y(s.axisLabelColor||s.color);n.t=a.t;const o=s.axisLabelTextColor||a.i;t.O=o,i.O=o,n.Si=l}zh(t){const i=this.Nr.Ct();return null===i?"":this.Nr.Dt().Ni(t,i.Ot)}}class Pi{constructor(t,i){this.Nr=t,this._n=i,this.Eh=new Ci(t,this),this.lr=new Ti(t,this),this.Ih=new ti(this.lr,t,t.$t())}Lh(t){C(this._n,t),this.bt(),this.Nr.$t().Nh()}W(){return this._n}Fh(){return this.Eh}Wh(){return this.Ih}jh(){return this.lr}bt(){this.Eh.bt(),this.lr.bt()}Vh(){const t=this.Nr,i=t.Dt();if(t.$t().St().Li()||i.Li())return null;const n=t.Ct();return null===n?null:i.Rt(this._n.price,n.Ot)}}class Ri extends st{constructor(t){super(),this.Hi=t}$t(){return this.Hi}}const Di={Bar:(t,i,n,s)=>{var e;const r=i.upColor,h=i.downColor,l=f(t(n,s)),a=v(l.Ot[0])<=v(l.Ot[3]);return{oe:null!==(e=l.O)&&void 0!==e?e:a?r:h}},Candlestick:(t,i,n,s)=>{var e,r,h;const l=i.upColor,a=i.downColor,o=i.borderUpColor,_=i.borderDownColor,u=i.wickUpColor,c=i.wickDownColor,d=f(t(n,s)),p=v(d.Ot[0])<=v(d.Ot[3]);return{oe:null!==(e=d.O)&&void 0!==e?e:p?l:a,Ee:null!==(r=d.At)&&void 0!==r?r:p?o:_,ze:null!==(h=d.Hh)&&void 0!==h?h:p?u:c}},Custom:(t,i,n,s)=>{var e;return{oe:null!==(e=f(t(n,s)).O)&&void 0!==e?e:i.color}},Area:(t,i,n,s)=>{var e,r,h,l;const a=f(t(n,s));return{oe:null!==(e=a.lt)&&void 0!==e?e:i.lineColor,lt:null!==(r=a.lt)&&void 0!==r?r:i.lineColor,ks:null!==(h=a.ks)&&void 0!==h?h:i.topColor,Cs:null!==(l=a.Cs)&&void 0!==l?l:i.bottomColor}},Baseline:(t,i,n,s)=>{var e,r,h,l,a,o;const _=f(t(n,s));return{oe:_.Ot[3]>=i.baseValue.price?i.topLineColor:i.bottomLineColor,Ce:null!==(e=_.Ce)&&void 0!==e?e:i.topLineColor,Te:null!==(r=_.Te)&&void 0!==r?r:i.bottomLineColor,Me:null!==(h=_.Me)&&void 0!==h?h:i.topFillColor1,xe:null!==(l=_.xe)&&void 0!==l?l:i.topFillColor2,Se:null!==(a=_.Se)&&void 0!==a?a:i.bottomFillColor1,ye:null!==(o=_.ye)&&void 0!==o?o:i.bottomFillColor2}},Line:(t,i,n,s)=>{var e,r;const h=f(t(n,s));return{oe:null!==(e=h.O)&&void 0!==e?e:i.color,lt:null!==(r=h.O)&&void 0!==r?r:i.color}},Histogram:(t,i,n,s)=>{var e;return{oe:null!==(e=f(t(n,s)).O)&&void 0!==e?e:i.color}}};class Oi{constructor(t){this.$h=(t,i)=>void 0!==i?i.Ot:this.Nr.Bn().Uh(t),this.Nr=t,this.qh=Di[t.Yh()]}Ws(t,i){return this.qh(this.$h,this.Nr.W(),t,i)}}var Ai;!function(t){t[t.NearestLeft=-1]="NearestLeft",t[t.None=0]="None",t[t.NearestRight=1]="NearestRight"}(Ai||(Ai={}));const Bi=30;class Vi{constructor(){this.Xh=[],this.Kh=new Map,this.Zh=new Map}Gh(){return this.Ys()>0?this.Xh[this.Xh.length-1]:null}Jh(){return this.Ys()>0?this.Qh(0):null}An(){return this.Ys()>0?this.Qh(this.Xh.length-1):null}Ys(){return this.Xh.length}Li(){return 0===this.Ys()}Yr(t){return null!==this.tl(t,0)}Uh(t){return this.il(t)}il(t,i=0){const n=this.tl(t,i);return null===n?null:Object.assign(Object.assign({},this.nl(n)),{ie:this.Qh(n)})}Qs(){return this.Xh}sl(t,i,n){if(this.Li())return null;let s=null;for(const e of n){s=zi(s,this.el(t,i,e))}return s}J(t){this.Zh.clear(),this.Kh.clear(),this.Xh=t}Qh(t){return this.Xh[t].ie}nl(t){return this.Xh[t]}tl(t,i){const n=this.rl(t);if(null===n&&0!==i)switch(i){case-1:return this.hl(t);case 1:return this.ll(t);default:throw new TypeError("Unknown search mode")}return n}hl(t){let i=this.al(t);return i>0&&(i-=1),i!==this.Xh.length&&this.Qh(i)t.iet.ie>i))}_l(t,i,n){let s=null;for(let e=t;es.cl&&(s.cl=t)))}return s}el(t,i,n){if(this.Li())return null;let s=null;const e=f(this.Jh()),r=f(this.An()),h=Math.max(t,e),l=Math.min(i,r),a=Math.ceil(h/Bi)*Bi,o=Math.max(a,Math.floor(l/Bi)*Bi);{const t=this.al(h),e=this.ol(Math.min(l,a,i));s=zi(s,this._l(t,e,n))}let _=this.Kh.get(n);void 0===_&&(_=new Map,this.Kh.set(n,_));for(let t=Math.max(a+1,h);tnew Ii(t)));return this.gl={vl:e,pl:r},r}Ji(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.kl).timeAxisViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Ml)||void 0===s?void 0:s.vl)===e)return this.Ml.pl;const r=this.Nr.$t().St(),h=e.map((t=>new Ni(t,r)));return this.Ml={vl:e,pl:h},h}Tn(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.kl).priceAxisViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.xl)||void 0===s?void 0:s.vl)===e)return this.xl.pl;const r=this.Nr.Dt(),h=e.map((t=>new Fi(t,r)));return this.xl={vl:e,pl:h},h}Tl(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.kl).priceAxisPaneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Sl)||void 0===s?void 0:s.vl)===e)return this.Sl.pl;const r=e.map((t=>new Ii(t)));return this.Sl={vl:e,pl:r},r}Pl(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.kl).timeAxisPaneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.yl)||void 0===s?void 0:s.vl)===e)return this.yl.pl;const r=e.map((t=>new Ii(t)));return this.yl={vl:e,pl:r},r}Rl(t,i){var n,s,e;return null!==(e=null===(s=(n=this.kl).autoscaleInfo)||void 0===s?void 0:s.call(n,t,i))&&void 0!==e?e:null}pr(t,i){var n,s,e;return null!==(e=null===(s=(n=this.kl).hitTest)||void 0===s?void 0:s.call(n,t,i))&&void 0!==e?e:null}}function ji(t,i,n,s){t.forEach((t=>{i(t).forEach((t=>{t.ml()===n&&s.push(t)}))}))}function Hi(t){return t.Cn()}function $i(t){return t.Tl()}function Ui(t){return t.Pl()}class qi extends Ri{constructor(t,i,n,s,e){super(t),this.Et=new Vi,this.Eh=new Mi(this),this.Dl=[],this.Ol=new si(this),this.Al=null,this.Bl=null,this.Vl=[],this.zl=[],this.El=null,this.Il=[],this._n=i,this.Ll=n;const r=new xi(this);this.en=[r],this.Ih=new ti(r,this,t),"Area"!==n&&"Line"!==n&&"Baseline"!==n||(this.Al=new ai(this)),this.Nl(),this.Fl(e)}S(){null!==this.El&&clearTimeout(this.El)}oh(t){return this._n.priceLineColor||t}Ur(t){const i={qr:!0},n=this.Dt();if(this.$t().St().Li()||n.Li()||this.Et.Li())return i;const s=this.$t().St().qs(),e=this.Ct();if(null===s||null===e)return i;let r,h;if(t){const t=this.Et.Gh();if(null===t)return i;r=t,h=t.ie}else{const t=this.Et.il(s.ui(),-1);if(null===t)return i;if(r=this.Et.Uh(t.ie),null===r)return i;h=t.ie}const l=r.Ot[3],a=this.js().Ws(h,{Ot:r}),o=n.Rt(l,e.Ot);return{qr:!1,_t:l,Zt:n.Ni(l,e.Ot),ph:n.Wl(l),mh:n.jl(l,e.Ot),O:a.oe,Si:o,ie:h}}js(){return null!==this.Bl||(this.Bl=new Oi(this)),this.Bl}W(){return this._n}Lh(t){const i=t.priceScaleId;void 0!==i&&i!==this._n.priceScaleId&&this.$t().Hl(this,i),C(this._n,t),void 0!==t.priceFormat&&(this.Nl(),this.$t().$l()),this.$t().Ul(this),this.$t().ql(),this.mn.bt("options")}J(t,i){this.Et.J(t),this.Yl(),this.mn.bt("data"),this.un.bt("data"),null!==this.Al&&(i&&i.Xl?this.Al.Wr():0===t.length&&this.Al.Fr());const n=this.$t()._r(this);this.$t().Kl(n),this.$t().Ul(this),this.$t().ql(),this.$t().Nh()}Zl(t){this.Vl=t,this.Yl();const i=this.$t()._r(this);this.un.bt("data"),this.$t().Kl(i),this.$t().Ul(this),this.$t().ql(),this.$t().Nh()}Gl(){return this.Vl}lh(){return this.zl}Jl(t){const i=new Pi(this,t);return this.Dl.push(i),this.$t().Ul(this),i}Ql(t){const i=this.Dl.indexOf(t);-1!==i&&this.Dl.splice(i,1),this.$t().Ul(this)}Yh(){return this.Ll}Ct(){const t=this.ta();return null===t?null:{Ot:t.Ot[3],ia:t.ot}}ta(){const t=this.$t().St().qs();if(null===t)return null;const i=t.Rs();return this.Et.il(i,1)}Bn(){return this.Et}ah(t){const i=this.Et.Uh(t);return null===i?null:"Bar"===this.Ll||"Candlestick"===this.Ll||"Custom"===this.Ll?{me:i.Ot[0],be:i.Ot[1],we:i.Ot[2],ge:i.Ot[3]}:i.Ot[3]}na(t){const i=[];ji(this.Il,Hi,"top",i);const n=this.Al;return null!==n&&n.kt()?(null===this.El&&n.Hr()&&(this.El=setTimeout((()=>{this.El=null,this.$t().sa()}),0)),n.jr(),i.push(n),i):i}Cn(){const t=[];this.ea()||t.push(this.Ol),t.push(this.mn,this.Eh,this.un);const i=this.Dl.map((t=>t.Fh()));return t.push(...i),ji(this.Il,Hi,"normal",t),t}ra(){return this.ha(Hi,"bottom")}la(t){return this.ha($i,t)}aa(t){return this.ha(Ui,t)}oa(t,i){return this.Il.map((n=>n.pr(t,i))).filter((t=>null!==t))}Gi(t){return[this.Ih,...this.Dl.map((t=>t.Wh()))]}Tn(t,i){if(i!==this.qi&&!this.ea())return[];const n=[...this.en];for(const t of this.Dl)n.push(t.jh());return this.Il.forEach((t=>{n.push(...t.Tn())})),n}Ji(){const t=[];return this.Il.forEach((i=>{t.push(...i.Ji())})),t}Rl(t,i){if(void 0!==this._n.autoscaleInfoProvider){const n=this._n.autoscaleInfoProvider((()=>{const n=this._a(t,i);return null===n?null:n.Th()}));return ki.Ph(n)}return this._a(t,i)}ua(){return this._n.priceFormat.minMove}ca(){return this.da}Rn(){var t;this.mn.bt(),this.un.bt();for(const t of this.en)t.bt();for(const t of this.Dl)t.bt();this.Eh.bt(),this.Ol.bt(),null===(t=this.Al)||void 0===t||t.bt(),this.Il.forEach((t=>t.Rn()))}Dt(){return f(super.Dt())}yt(t){if(!(("Line"===this.Ll||"Area"===this.Ll||"Baseline"===this.Ll)&&this._n.crosshairMarkerVisible))return null;const i=this.Et.Uh(t);if(null===i)return null;return{_t:i.Ot[3],ht:this.fa(),At:this.va(),Pt:this.pa(),Tt:this.ma(t)}}_h(){return this._n.title}kt(){return this._n.visible}ba(t){this.Il.push(new Wi(t,this))}wa(t){this.Il=this.Il.filter((i=>i.Cl()!==t))}ga(){if(this.mn instanceof qt!=!1)return t=>this.mn.Le(t)}Ma(){if(this.mn instanceof qt!=!1)return t=>this.mn.Ne(t)}ea(){return!ht(this.Dt().xa())}_a(t,i){if(!P(t)||!P(i)||this.Et.Li())return null;const n="Line"===this.Ll||"Area"===this.Ll||"Baseline"===this.Ll||"Histogram"===this.Ll?[3]:[2,1],s=this.Et.sl(t,i,n);let e=null!==s?new yi(s.ul,s.cl):null;if("Histogram"===this.Yh()){const t=this._n.base,i=new yi(t,t);e=null!==e?e.Jn(i):i}let r=this.un.hh();return this.Il.forEach((n=>{const s=n.Rl(t,i);if(null==s?void 0:s.priceRange){const t=new yi(s.priceRange.minValue,s.priceRange.maxValue);e=null!==e?e.Jn(t):t}var h,l,a,o;(null==s?void 0:s.margins)&&(h=r,l=s.margins,r={above:Math.max(null!==(a=null==h?void 0:h.above)&&void 0!==a?a:0,l.above),below:Math.max(null!==(o=null==h?void 0:h.below)&&void 0!==o?o:0,l.below)})})),new ki(e,r)}fa(){switch(this.Ll){case"Line":case"Area":case"Baseline":return this._n.crosshairMarkerRadius}return 0}va(){switch(this.Ll){case"Line":case"Area":case"Baseline":{const t=this._n.crosshairMarkerBorderColor;if(0!==t.length)return t}}return null}pa(){switch(this.Ll){case"Line":case"Area":case"Baseline":return this._n.crosshairMarkerBorderWidth}return 0}ma(t){switch(this.Ll){case"Line":case"Area":case"Baseline":{const t=this._n.crosshairMarkerBackgroundColor;if(0!==t.length)return t}}return this.js().Ws(t).oe}Nl(){switch(this._n.priceFormat.type){case"custom":this.da={format:this._n.priceFormat.formatter};break;case"volume":this.da=new ct(this._n.priceFormat.precision);break;case"percent":this.da=new ut(this._n.priceFormat.precision);break;default:{const t=Math.pow(10,this._n.priceFormat.precision);this.da=new _t(t,this._n.priceFormat.minMove*t)}}null!==this.qi&&this.qi.Sa()}Yl(){const t=this.$t().St();if(!t.ya()||this.Et.Li())return void(this.zl=[]);const i=f(this.Et.Jh());this.zl=this.Vl.map(((n,s)=>{const e=f(t.ka(n.time,!0)),r=et instanceof qi)).reduce(((t,s)=>{if(n.ur(s)||!s.kt())return t;const e=s.Dt(),r=s.Bn();if(e.Li()||!r.Yr(i))return t;const h=r.Uh(i);if(null===h)return t;const l=v(s.Ct());return t.concat([e.Rt(h.Ot[3],l.Ot)])}),[]);if(0===l.length)return s;l.sort(((t,i)=>Math.abs(t-h)-Math.abs(i-h)));const a=l[0];return s=e.fn(a,r),s}}class Xi extends L{constructor(){super(...arguments),this.Et=null}J(t){this.Et=t}Z({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.Et)return;const e=Math.max(1,Math.floor(n));t.lineWidth=e,function(t,i){t.save(),t.lineWidth%2&&t.translate(.5,.5),i(),t.restore()}(t,(()=>{const r=f(this.Et);if(r.Pa){t.strokeStyle=r.Ra,_(t,r.Da),t.beginPath();for(const s of r.Oa){const r=Math.round(s.Aa*n);t.moveTo(r,-e),t.lineTo(r,i.height+e)}t.stroke()}if(r.Ba){t.strokeStyle=r.Va,_(t,r.za),t.beginPath();for(const n of r.Ea){const r=Math.round(n.Aa*s);t.moveTo(-e,r),t.lineTo(i.width+e,r)}t.stroke()}}))}}class Ki{constructor(t){this.Wt=new Xi,this.ft=!0,this.Qi=t}bt(){this.ft=!0}gt(){if(this.ft){const t=this.Qi.$t().W().grid,i={Ba:t.horzLines.visible,Pa:t.vertLines.visible,Va:t.horzLines.color,Ra:t.vertLines.color,za:t.horzLines.style,Da:t.vertLines.style,Ea:this.Qi.dn().Ia(),Oa:(this.Qi.$t().St().Ia()||[]).map((t=>({Aa:t.coord})))};this.Wt.J(i),this.ft=!1}return this.Wt}}class Zi{constructor(t){this.mn=new Ki(t)}Fh(){return this.mn}}const Gi={La:4,Na:1e-4};function Ji(t,i){const n=100*(t-i)/i;return i<0?-n:n}function Qi(t,i){const n=Ji(t.xh(),i),s=Ji(t.Sh(),i);return new yi(n,s)}function tn(t,i){const n=100*(t-i)/i+100;return i<0?-n:n}function nn(t,i){const n=tn(t.xh(),i),s=tn(t.Sh(),i);return new yi(n,s)}function sn(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Math.log10(n+i.Na)+i.La;return t<0?-s:s}function en(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Math.pow(10,n-i.La)-i.Na;return t<0?-s:s}function rn(t,i){if(null===t)return null;const n=sn(t.xh(),i),s=sn(t.Sh(),i);return new yi(n,s)}function hn(t,i){if(null===t)return null;const n=en(t.xh(),i),s=en(t.Sh(),i);return new yi(n,s)}function ln(t){if(null===t)return Gi;const i=Math.abs(t.Sh()-t.xh());if(i>=1||i<1e-15)return Gi;const n=Math.ceil(Math.abs(Math.log10(i))),s=Gi.La+n;return{La:s,Na:1/Math.pow(10,s)}}class an{constructor(t,i){if(this.Fa=t,this.Wa=i,function(t){if(t<0)return!1;for(let i=t;i>1;i/=10)if(i%10!=0)return!1;return!0}(this.Fa))this.ja=[2,2.5,2];else{this.ja=[];for(let t=this.Fa;1!==t;){if(t%2==0)this.ja.push(2),t/=2;else{if(t%5!=0)throw new Error("unexpected base");this.ja.push(2,2.5),t/=5}if(this.ja.length>100)throw new Error("something wrong with base")}}}Ha(t,i,n){const s=0===this.Fa?0:1/this.Fa;let e=Math.pow(10,Math.max(0,Math.ceil(Math.log10(t-i)))),r=0,h=this.Wa[0];for(;;){const t=Mt(e,s,1e-14)&&e>s+1e-14,i=Mt(e,n*h,1e-14),l=Mt(e,1,1e-14);if(!(t&&i&&l))break;e/=h,h=this.Wa[++r%this.Wa.length]}if(e<=s+1e-14&&(e=s),e=Math.max(1,e),this.ja.length>0&&(l=e,a=1,o=1e-14,Math.abs(l-a)s+1e-14;)e/=h,h=this.ja[++r%this.ja.length];var l,a,o;return e}}class on{constructor(t,i,n,s){this.$a=[],this.Ei=t,this.Fa=i,this.Ua=n,this.qa=s}Ha(t,i){if(t=o?1:-1;let d=null,f=0;for(let n=a-u;n>o;n-=_){const s=this.qa(n,i,!0);null!==d&&Math.abs(s-d)l||(ff(t.Xi())-f(i.Xi())))}var un;!function(t){t[t.Normal=0]="Normal",t[t.Logarithmic=1]="Logarithmic",t[t.Percentage=2]="Percentage",t[t.IndexedTo100=3]="IndexedTo100"}(un||(un={}));const cn=new ut,dn=new _t(100,1);class fn{constructor(t,i,n,s){this.Qa=0,this.io=null,this.Rh=null,this.no=null,this.so={eo:!1,ro:null},this.ho=0,this.lo=0,this.ao=new k,this.oo=new k,this._o=[],this.uo=null,this.co=null,this.do=null,this.fo=null,this.da=dn,this.vo=ln(null),this.po=t,this._n=i,this.mo=n,this.bo=s,this.wo=new on(this,100,this.Mo.bind(this),this.xo.bind(this))}xa(){return this.po}W(){return this._n}Lh(t){if(C(this._n,t),this.Sa(),void 0!==t.mode&&this.So({Sr:t.mode}),void 0!==t.scaleMargins){const i=d(t.scaleMargins.top),n=d(t.scaleMargins.bottom);if(i<0||i>1)throw new Error(`Invalid top margin - expect value between 0 and 1, given=${i}`);if(n<0||n>1)throw new Error(`Invalid bottom margin - expect value between 0 and 1, given=${n}`);if(i+n>1)throw new Error(`Invalid margins - sum of margins must be less than 1, given=${i+n}`);this.yo(),this.co=null}}ko(){return this._n.autoScale}Ja(){return 1===this._n.mode}fh(){return 2===this._n.mode}Co(){return 3===this._n.mode}Sr(){return{Nn:this._n.autoScale,To:this._n.invertScale,Sr:this._n.mode}}So(t){const i=this.Sr();let n=null;void 0!==t.Nn&&(this._n.autoScale=t.Nn),void 0!==t.Sr&&(this._n.mode=t.Sr,2!==t.Sr&&3!==t.Sr||(this._n.autoScale=!0),this.so.eo=!1),1===i.Sr&&t.Sr!==i.Sr&&(!function(t,i){if(null===t)return!1;const n=en(t.xh(),i),s=en(t.Sh(),i);return isFinite(n)&&isFinite(s)}(this.Rh,this.vo)?this._n.autoScale=!0:(n=hn(this.Rh,this.vo),null!==n&&this.Po(n))),1===t.Sr&&t.Sr!==i.Sr&&(n=rn(this.Rh,this.vo),null!==n&&this.Po(n));const s=i.Sr!==this._n.mode;s&&(2===i.Sr||this.fh())&&this.Sa(),s&&(3===i.Sr||this.Co())&&this.Sa(),void 0!==t.To&&i.To!==t.To&&(this._n.invertScale=t.To,this.Ro()),this.oo.m(i,this.Sr())}Do(){return this.oo}P(){return this.mo.fontSize}Vt(){return this.Qa}Oo(t){this.Qa!==t&&(this.Qa=t,this.yo(),this.co=null)}Ao(){if(this.io)return this.io;const t=this.Vt()-this.Bo()-this.Vo();return this.io=t,t}Oh(){return this.zo(),this.Rh}Po(t,i){const n=this.Rh;(i||null===n&&null!==t||null!==n&&!n.gh(t))&&(this.co=null,this.Rh=t)}Li(){return this.zo(),0===this.Qa||!this.Rh||this.Rh.Li()}Eo(t){return this.To()?t:this.Vt()-1-t}Rt(t,i){return this.fh()?t=Ji(t,i):this.Co()&&(t=tn(t,i)),this.xo(t,i)}Gs(t,i,n){this.zo();const s=this.Vo(),e=f(this.Oh()),r=e.xh(),h=e.Sh(),l=this.Ao()-1,a=this.To(),o=l/(h-r),_=void 0===n?0:n.from,u=void 0===n?t.length:n.to,c=this.Io();for(let n=_;nt.Rn()))}Sa(){this.co=null;const t=this.Jo();let i=100;null!==t&&(i=Math.round(1/t.ua())),this.da=dn,this.fh()?(this.da=cn,i=100):this.Co()?(this.da=new _t(100,1),i=100):null!==t&&(this.da=t.ca()),this.wo=new on(this,i,this.Mo.bind(this),this.xo.bind(this)),this.wo.Xa()}Wo(){this.uo=null}Jo(){return this._o[0]||null}Bo(){return this.To()?this._n.scaleMargins.bottom*this.Vt()+this.lo:this._n.scaleMargins.top*this.Vt()+this.ho}Vo(){return this.To()?this._n.scaleMargins.top*this.Vt()+this.ho:this._n.scaleMargins.bottom*this.Vt()+this.lo}zo(){this.so.eo||(this.so.eo=!0,this.i_())}yo(){this.io=null}xo(t,i){if(this.zo(),this.Li())return 0;t=this.Ja()&&t?sn(t,this.vo):t;const n=f(this.Oh()),s=this.Vo()+(this.Ao()-1)*(t-n.xh())/n.yh();return this.Eo(s)}Mo(t,i){if(this.zo(),this.Li())return 0;const n=this.Eo(t),s=f(this.Oh()),e=s.xh()+s.yh()*((n-this.Vo())/(this.Ao()-1));return this.Ja()?en(e,this.vo):e}Ro(){this.co=null,this.wo.Xa()}i_(){const t=this.so.ro;if(null===t)return;let i=null;const n=this.Qo();let s=0,e=0;for(const r of n){if(!r.kt())continue;const n=r.Ct();if(null===n)continue;const h=r.Rl(t.Rs(),t.ui());let l=h&&h.Oh();if(null!==l){switch(this._n.mode){case 1:l=rn(l,this.vo);break;case 2:l=Qi(l,n.Ot);break;case 3:l=nn(l,n.Ot)}if(i=null===i?l:i.Jn(f(l)),null!==h){const t=h.Ah();null!==t&&(s=Math.max(s,t.above),e=Math.max(s,t.below))}}}if(s===this.ho&&e===this.lo||(this.ho=s,this.lo=e,this.co=null,this.yo()),null!==i){if(i.xh()===i.Sh()){const t=this.Jo(),n=5*(null===t||this.fh()||this.Co()?1:t.ua());this.Ja()&&(i=hn(i,this.vo)),i=new yi(i.xh()-n,i.Sh()+n),this.Ja()&&(i=rn(i,this.vo))}if(this.Ja()){const t=hn(i,this.vo),n=ln(t);if(r=n,h=this.vo,r.La!==h.La||r.Na!==h.Na){const s=null!==this.no?hn(this.no,this.vo):null;this.vo=n,i=rn(t,n),null!==s&&(this.no=rn(s,n))}}this.Po(i)}else null===this.Rh&&(this.Po(new yi(-.5,.5)),this.vo=ln(null));var r,h;this.so.eo=!0}Io(){return this.fh()?Ji:this.Co()?tn:this.Ja()?t=>sn(t,this.vo):null}n_(t,i,n){return void 0===i?(void 0===n&&(n=this.ca()),n.format(t)):i(t)}zh(t,i){return this.n_(t,this.bo.priceFormatter,i)}Go(t,i){return this.n_(t,this.bo.percentageFormatter,i)}}class vn{constructor(t,i){this._o=[],this.s_=new Map,this.Qa=0,this.e_=0,this.r_=1e3,this.uo=null,this.h_=new k,this.wl=t,this.Hi=i,this.l_=new Zi(this);const n=i.W();this.a_=this.o_("left",n.leftPriceScale),this.__=this.o_("right",n.rightPriceScale),this.a_.Do().l(this.u_.bind(this,this.a_),this),this.__.Do().l(this.u_.bind(this,this.__),this),this.c_(n)}c_(t){if(t.leftPriceScale&&this.a_.Lh(t.leftPriceScale),t.rightPriceScale&&this.__.Lh(t.rightPriceScale),t.localization&&(this.a_.Sa(),this.__.Sa()),t.overlayPriceScales){const i=Array.from(this.s_.values());for(const n of i){const i=f(n[0].Dt());i.Lh(t.overlayPriceScales),t.localization&&i.Sa()}}}d_(t){switch(t){case"left":return this.a_;case"right":return this.__}return this.s_.has(t)?d(this.s_.get(t))[0].Dt():null}S(){this.$t().f_().p(this),this.a_.Do().p(this),this.__.Do().p(this),this._o.forEach((t=>{t.S&&t.S()})),this.h_.m()}v_(){return this.r_}p_(t){this.r_=t}$t(){return this.Hi}ji(){return this.e_}Vt(){return this.Qa}m_(t){this.e_=t,this.b_()}Oo(t){this.Qa=t,this.a_.Oo(t),this.__.Oo(t),this._o.forEach((i=>{if(this.ur(i)){const n=i.Dt();null!==n&&n.Oo(t)}})),this.b_()}Ta(){return this._o}ur(t){const i=t.Dt();return null===i||this.a_!==i&&this.__!==i}Fo(t,i,n){const s=void 0!==n?n:this.g_().w_+1;this.M_(t,i,s)}jo(t){const i=this._o.indexOf(t);c(-1!==i,"removeDataSource: invalid data source"),this._o.splice(i,1);const n=f(t.Dt()).xa();if(this.s_.has(n)){const i=d(this.s_.get(n)),s=i.indexOf(t);-1!==s&&(i.splice(s,1),0===i.length&&this.s_.delete(n))}const s=t.Dt();s&&s.Ta().indexOf(t)>=0&&s.jo(t),null!==s&&(s.Wo(),this.x_(s)),this.uo=null}dr(t){return t===this.a_?"left":t===this.__?"right":"overlay"}S_(){return this.a_}y_(){return this.__}k_(t,i){t.Uo(i)}C_(t,i){t.qo(i),this.b_()}T_(t){t.Yo()}P_(t,i){t.Xo(i)}R_(t,i){t.Ko(i),this.b_()}D_(t){t.Zo()}b_(){this._o.forEach((t=>{t.Rn()}))}dn(){let t=null;return this.Hi.W().rightPriceScale.visible&&0!==this.__.Ta().length?t=this.__:this.Hi.W().leftPriceScale.visible&&0!==this.a_.Ta().length?t=this.a_:0!==this._o.length&&(t=this._o[0].Dt()),null===t&&(t=this.__),t}cr(){let t=null;return this.Hi.W().rightPriceScale.visible?t=this.__:this.Hi.W().leftPriceScale.visible&&(t=this.a_),t}x_(t){null!==t&&t.ko()&&this.O_(t)}A_(t){const i=this.wl.qs();t.So({Nn:!0}),null!==i&&t.t_(i),this.b_()}B_(){this.O_(this.a_),this.O_(this.__)}V_(){this.x_(this.a_),this.x_(this.__),this._o.forEach((t=>{this.ur(t)&&this.x_(t.Dt())})),this.b_(),this.Hi.Nh()}No(){return null===this.uo&&(this.uo=_n(this._o)),this.uo}z_(){return this.h_}E_(){return this.l_}O_(t){const i=t.Qo();if(i&&i.length>0&&!this.wl.Li()){const i=this.wl.qs();null!==i&&t.t_(i)}t.Rn()}g_(){const t=this.No();if(0===t.length)return{I_:0,w_:0};let i=0,n=0;for(let s=0;sn&&(n=e))}return{I_:i,w_:n}}M_(t,i,n){let s=this.d_(i);if(null===s&&(s=this.o_(i,this.Hi.W().overlayPriceScales)),this._o.push(t),!ht(i)){const n=this.s_.get(i)||[];n.push(t),this.s_.set(i,n)}s.Fo(t),t.Zi(s),t.Ki(n),this.x_(s),this.uo=null}u_(t,i,n){i.Sr!==n.Sr&&this.O_(t)}o_(t,i){const n=Object.assign({visible:!0,autoScale:!0},O(i)),s=new fn(t,n,this.Hi.W().layout,this.Hi.W().localization);return s.Oo(this.Vt()),s}}class pn{constructor(t,i,n=50){this.Ye=0,this.Xe=1,this.Ke=1,this.Ge=new Map,this.Ze=new Map,this.L_=t,this.N_=i,this.Je=n}F_(t){const i=t.time,n=this.N_.cacheKey(i),s=this.Ge.get(n);if(void 0!==s)return s.W_;if(this.Ye===this.Je){const t=this.Ze.get(this.Ke);this.Ze.delete(this.Ke),this.Ge.delete(d(t)),this.Ke++,this.Ye--}const e=this.L_(t);return this.Ge.set(n,{W_:e,nr:this.Xe}),this.Ze.set(this.Xe,n),this.Ye++,this.Xe++,e}}class mn{constructor(t,i){c(t<=i,"right should be >= left"),this.j_=t,this.H_=i}Rs(){return this.j_}ui(){return this.H_}U_(){return this.H_-this.j_+1}Yr(t){return this.j_<=t&&t<=this.H_}gh(t){return this.j_===t.Rs()&&this.H_===t.ui()}}function bn(t,i){return null===t||null===i?t===i:t.gh(i)}class wn{constructor(){this.q_=new Map,this.Ge=null,this.Y_=!1}X_(t){this.Y_=t,this.Ge=null}K_(t,i){this.Z_(i),this.Ge=null;for(let n=i;n{t<=n[0].index?i.push(s):n.splice(Rt(n,t,(i=>i.indexi-t))){if(!this.q_.get(n))continue;const s=i;i=[];const e=s.length;let r=0;const h=d(this.q_.get(n)),l=h.length;let a=1/0,o=-1/0;for(let n=0;n=t&&_-o>=t)i.push(l),o=_;else if(this.Y_)return s}for(;ri.weight?t:i}class xn{constructor(t,i,n,s){this.e_=0,this.eu=null,this.ru=[],this.fo=null,this.do=null,this.hu=new wn,this.lu=new Map,this.au=gn.su(),this.ou=!0,this._u=new k,this.uu=new k,this.cu=new k,this.du=null,this.fu=null,this.vu=[],this._n=i,this.bo=n,this.pu=i.rightOffset,this.mu=i.barSpacing,this.Hi=t,this.N_=s,this.bu(),this.hu.X_(i.uniformDistribution)}W(){return this._n}wu(t){C(this.bo,t),this.gu(),this.bu()}Lh(t,i){var n;C(this._n,t),this._n.fixLeftEdge&&this.Mu(),this._n.fixRightEdge&&this.xu(),void 0!==t.barSpacing&&this.Hi.Kn(t.barSpacing),void 0!==t.rightOffset&&this.Hi.Zn(t.rightOffset),void 0!==t.minBarSpacing&&this.Hi.Kn(null!==(n=t.barSpacing)&&void 0!==n?n:this.mu),this.gu(),this.bu(),this.cu.m()}vn(t){var i,n;return null!==(n=null===(i=this.ru[t])||void 0===i?void 0:i.time)&&void 0!==n?n:null}$i(t){var i;return null!==(i=this.ru[t])&&void 0!==i?i:null}ka(t,i){if(this.ru.length<1)return null;if(this.N_.key(t)>this.N_.key(this.ru[this.ru.length-1].time))return i?this.ru.length-1:null;const n=Rt(this.ru,this.N_.key(t),((t,i)=>this.N_.key(t.time)0}qs(){return this.Su(),this.au.iu()}yu(){return this.Su(),this.au.nu()}ku(){const t=this.qs();if(null===t)return null;const i={from:t.Rs(),to:t.ui()};return this.Cu(i)}Cu(t){const i=Math.round(t.from),n=Math.round(t.to),s=f(this.Tu()),e=f(this.Pu());return{from:f(this.$i(Math.max(s,i))),to:f(this.$i(Math.min(e,n)))}}Ru(t){return{from:f(this.ka(t.from,!0)),to:f(this.ka(t.to,!0))}}ji(){return this.e_}m_(t){if(!isFinite(t)||t<=0)return;if(this.e_===t)return;const i=this.yu(),n=this.e_;if(this.e_=t,this.ou=!0,this._n.lockVisibleTimeRangeOnResize&&0!==n){const i=this.mu*t/n;this.mu=i}if(this._n.fixLeftEdge&&null!==i&&i.Rs()<=0){const i=n-t;this.pu-=Math.round(i/this.mu)+1,this.ou=!0}this.Du(),this.Ou()}zt(t){if(this.Li()||!P(t))return 0;const i=this.Au()+this.pu-t;return this.e_-(i+.5)*this.mu-1}Zs(t,i){const n=this.Au(),s=void 0===i?0:i.from,e=void 0===i?t.length:i.to;for(let i=s;ii/2&&!o?n.needAlignCoordinate=!1:n.needAlignCoordinate=_&&t.index<=l||u&&t.index>=a,c++}return this.vu.length=c,this.fu=this.vu,this.vu}Fu(){this.ou=!0,this.Kn(this._n.barSpacing),this.Zn(this._n.rightOffset)}Wu(t){this.ou=!0,this.eu=t,this.Ou(),this.Mu()}ju(t,i){const n=this.Vu(t),s=this.ee(),e=s+i*(s/10);this.Kn(e),this._n.rightBarStaysOnScroll||this.Zn(this.Iu()+(n-this.Vu(t)))}Uo(t){this.fo&&this.Zo(),null===this.do&&null===this.du&&(this.Li()||(this.do=t,this.Hu()))}qo(t){if(null===this.du)return;const i=gt(this.e_-t,0,this.e_),n=gt(this.e_-f(this.do),0,this.e_);0!==i&&0!==n&&this.Kn(this.du.ee*i/n)}Yo(){null!==this.do&&(this.do=null,this.$u())}Xo(t){null===this.fo&&null===this.du&&(this.Li()||(this.fo=t,this.Hu()))}Ko(t){if(null===this.fo)return;const i=(this.fo-t)/this.ee();this.pu=f(this.du).Iu+i,this.ou=!0,this.Ou()}Zo(){null!==this.fo&&(this.fo=null,this.$u())}Uu(){this.qu(this._n.rightOffset)}qu(t,i=400){if(!isFinite(t))throw new RangeError("offset is required and must be finite number");if(!isFinite(i)||i<=0)throw new RangeError("animationDuration (optional) must be finite positive number");const n=this.pu,s=performance.now();this.Hi.qn({Yu:t=>(t-s)/i>=1,Xu:e=>{const r=(e-s)/i;return r>=1?t:n+(t-n)*r}})}bt(t,i){this.ou=!0,this.ru=t,this.hu.K_(t,i),this.Ou()}Ku(){return this._u}Zu(){return this.uu}Gu(){return this.cu}Au(){return this.eu||0}Ju(t){const i=t.U_();this.Eu(this.e_/i),this.pu=t.ui()-this.Au(),this.Ou(),this.ou=!0,this.Hi.zu(),this.Hi.Nh()}Qu(){const t=this.Tu(),i=this.Pu();null!==t&&null!==i&&this.Ju(new mn(t,i+this._n.rightOffset))}tc(t){const i=new mn(t.from,t.to);this.Ju(i)}Ui(t){return void 0!==this.bo.timeFormatter?this.bo.timeFormatter(t.originalTime):this.N_.formatHorzItem(t.time)}Lu(){const{handleScroll:t,handleScale:i}=this.Hi.W();return!(t.horzTouchDrag||t.mouseWheel||t.pressedMouseMove||t.vertTouchDrag||i.axisDoubleClickReset.time||i.axisPressedMouseMove.time||i.mouseWheel||i.pinch)}Tu(){return 0===this.ru.length?null:0}Pu(){return 0===this.ru.length?null:this.ru.length-1}ic(t){return(this.e_-1-t)/this.mu}Vu(t){const i=this.ic(t),n=this.Au()+this.pu-i;return Math.round(1e6*n)/1e6}Eu(t){const i=this.mu;this.mu=t,this.Du(),i!==this.mu&&(this.ou=!0,this.nc())}Su(){if(!this.ou)return;if(this.ou=!1,this.Li())return void this.sc(gn.su());const t=this.Au(),i=this.e_/this.mu,n=this.pu+t,s=new mn(n-i+1,n);this.sc(new gn(s))}Du(){const t=this.ec();if(this.mut&&(this.mu=t,this.ou=!0)}}ec(){return this._n.fixLeftEdge&&this._n.fixRightEdge&&0!==this.ru.length?this.e_/this.ru.length:this._n.minBarSpacing}Ou(){const t=this.rc();this.pu>t&&(this.pu=t,this.ou=!0);const i=this.hc();null!==i&&this.puthis.lc(t)),this.N_),this.lu.set(t.weight,i)),i.F_(t)}lc(t){return this.N_.formatTickmark(t,this.bo)}sc(t){const i=this.au;this.au=t,bn(i.iu(),this.au.iu())||this._u.m(),bn(i.nu(),this.au.nu())||this.uu.m(),this.nc()}nc(){this.fu=null}gu(){this.nc(),this.lu.clear()}bu(){this.N_.updateFormatter(this.bo)}Mu(){if(!this._n.fixLeftEdge)return;const t=this.Tu();if(null===t)return;const i=this.qs();if(null===i)return;const n=i.Rs()-t;if(n<0){const t=this.pu-n-1;this.Zn(t)}this.Du()}xu(){this.Ou(),this.Du()}}class Sn{K(t,i,n){t.useMediaCoordinateSpace((t=>this.Z(t,i,n)))}fl(t,i,n){t.useMediaCoordinateSpace((t=>this.ac(t,i,n)))}ac(t,i,n){}}class yn extends Sn{constructor(t){super(),this.oc=new Map,this.Et=t}Z(t){}ac(t){if(!this.Et.kt)return;const{context:i,mediaSize:n}=t;let s=0;for(const t of this.Et._c){if(0===t.Zt.length)continue;i.font=t.R;const e=this.uc(i,t.Zt);e>n.width?t.ju=n.width/e:t.ju=1,s+=t.cc*t.ju}let e=0;switch(this.Et.dc){case"top":e=0;break;case"center":e=Math.max((n.height-s)/2,0);break;case"bottom":e=Math.max(n.height-s,0)}i.fillStyle=this.Et.O;for(const t of this.Et._c){i.save();let s=0;switch(this.Et.fc){case"left":i.textAlign="left",s=t.cc/2;break;case"center":i.textAlign="center",s=n.width/2;break;case"right":i.textAlign="right",s=n.width-1-t.cc/2}i.translate(s,e),i.textBaseline="top",i.font=t.R,i.scale(t.ju,t.ju),i.fillText(t.Zt,0,t.vc),i.restore(),e+=t.cc*t.ju}}uc(t,i){const n=this.mc(t.font);let s=n.get(i);return void 0===s&&(s=t.measureText(i).width,n.set(i,s)),s}mc(t){let i=this.oc.get(t);return void 0===i&&(i=new Map,this.oc.set(t,i)),i}}class kn{constructor(t){this.ft=!0,this.Ft={kt:!1,O:"",_c:[],dc:"center",fc:"center"},this.Wt=new yn(this.Ft),this.jt=t}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt}Mt(){const t=this.jt.W(),i=this.Ft;i.kt=t.visible,i.kt&&(i.O=t.color,i.fc=t.horzAlign,i.dc=t.vertAlign,i._c=[{Zt:t.text,R:z(t.fontSize,t.fontFamily,t.fontStyle),cc:1.2*t.fontSize,vc:0,ju:0}])}}class Cn extends st{constructor(t,i){super(),this._n=i,this.mn=new kn(this)}Tn(){return[]}Cn(){return[this.mn]}W(){return this._n}Rn(){this.mn.bt()}}var Tn,Pn,Rn,Dn,On;!function(t){t[t.OnTouchEnd=0]="OnTouchEnd",t[t.OnNextTap=1]="OnNextTap"}(Tn||(Tn={}));class An{constructor(t,i,n){this.bc=[],this.wc=[],this.e_=0,this.gc=null,this.Mc=new k,this.xc=new k,this.Sc=null,this.yc=t,this._n=i,this.N_=n,this.kc=new E(this),this.wl=new xn(this,i.timeScale,this._n.localization,n),this.vt=new rt(this,i.crosshair),this.Cc=new Yi(i.crosshair),this.Tc=new Cn(this,i.watermark),this.Pc(),this.bc[0].p_(2e3),this.Rc=this.Dc(0),this.Oc=this.Dc(1)}$l(){this.Ac(lt.ns())}Nh(){this.Ac(lt.ts())}sa(){this.Ac(new lt(1))}Ul(t){const i=this.Bc(t);this.Ac(i)}Vc(){return this.gc}zc(t){const i=this.gc;this.gc=t,null!==i&&this.Ul(i.Ec),null!==t&&this.Ul(t.Ec)}W(){return this._n}Lh(t){C(this._n,t),this.bc.forEach((i=>i.c_(t))),void 0!==t.timeScale&&this.wl.Lh(t.timeScale),void 0!==t.localization&&this.wl.wu(t.localization),(t.leftPriceScale||t.rightPriceScale)&&this.Mc.m(),this.Rc=this.Dc(0),this.Oc=this.Dc(1),this.$l()}Ic(t,i){if("left"===t)return void this.Lh({leftPriceScale:i});if("right"===t)return void this.Lh({rightPriceScale:i});const n=this.Lc(t);null!==n&&(n.Dt.Lh(i),this.Mc.m())}Lc(t){for(const i of this.bc){const n=i.d_(t);if(null!==n)return{Ht:i,Dt:n}}return null}St(){return this.wl}Nc(){return this.bc}Fc(){return this.Tc}Wc(){return this.vt}jc(){return this.xc}Hc(t,i){t.Oo(i),this.zu()}m_(t){this.e_=t,this.wl.m_(this.e_),this.bc.forEach((i=>i.m_(t))),this.zu()}Pc(t){const i=new vn(this.wl,this);void 0!==t?this.bc.splice(t,0,i):this.bc.push(i);const n=void 0===t?this.bc.length-1:t,s=lt.ns();return s.In(n,{Ln:0,Nn:!0}),this.Ac(s),i}k_(t,i,n){t.k_(i,n)}C_(t,i,n){t.C_(i,n),this.ql(),this.Ac(this.$c(t,2))}T_(t,i){t.T_(i),this.Ac(this.$c(t,2))}P_(t,i,n){i.ko()||t.P_(i,n)}R_(t,i,n){i.ko()||(t.R_(i,n),this.ql(),this.Ac(this.$c(t,2)))}D_(t,i){i.ko()||(t.D_(i),this.Ac(this.$c(t,2)))}A_(t,i){t.A_(i),this.Ac(this.$c(t,2))}Uc(t){this.wl.Uo(t)}qc(t,i){const n=this.St();if(n.Li()||0===i)return;const s=n.ji();t=Math.max(1,Math.min(t,s)),n.ju(t,i),this.zu()}Yc(t){this.Xc(0),this.Kc(t),this.Zc()}Gc(t){this.wl.qo(t),this.zu()}Jc(){this.wl.Yo(),this.Nh()}Xc(t){this.wl.Xo(t)}Kc(t){this.wl.Ko(t),this.zu()}Zc(){this.wl.Zo(),this.Nh()}wt(){return this.wc}Qc(t,i,n,s,e){this.vt.bn(t,i);let r=NaN,h=this.wl.Bu(t);const l=this.wl.qs();null!==l&&(h=Math.min(Math.max(l.Rs(),h),l.ui()));const a=s.dn(),o=a.Ct();null!==o&&(r=a.fn(i,o)),r=this.Cc.Ca(r,h,s),this.vt.xn(h,r,s),this.sa(),e||this.xc.m(this.vt.xt(),{x:t,y:i},n)}td(t,i,n){const s=n.dn(),e=s.Ct(),r=s.Rt(t,f(e)),h=this.wl.ka(i,!0),l=this.wl.zt(f(h));this.Qc(l,r,null,n,!0)}nd(t){this.Wc().yn(),this.sa(),t||this.xc.m(null,null,null)}ql(){const t=this.vt.Ht();if(null!==t){const i=this.vt.gn(),n=this.vt.Mn();this.Qc(i,n,null,t)}this.vt.Rn()}sd(t,i,n){const s=this.wl.vn(0);void 0!==i&&void 0!==n&&this.wl.bt(i,n);const e=this.wl.vn(0),r=this.wl.Au(),h=this.wl.qs();if(null!==h&&null!==s&&null!==e){const i=h.Yr(r),l=this.N_.key(s)>this.N_.key(e),a=null!==t&&t>r&&!l,o=this.wl.W().allowShiftVisibleRangeOnWhitespaceReplacement,_=i&&(!(void 0===n)||o)&&this.wl.W().shiftVisibleRangeOnNewBar;if(a&&!_){const i=t-r;this.wl.Zn(this.wl.Iu()-i)}}this.wl.Wu(t)}Kl(t){null!==t&&t.V_()}_r(t){const i=this.bc.find((i=>i.No().includes(t)));return void 0===i?null:i}zu(){this.Tc.Rn(),this.bc.forEach((t=>t.V_())),this.ql()}S(){this.bc.forEach((t=>t.S())),this.bc.length=0,this._n.localization.priceFormatter=void 0,this._n.localization.percentageFormatter=void 0,this._n.localization.timeFormatter=void 0}ed(){return this.kc}vr(){return this.kc.W()}f_(){return this.Mc}rd(t,i,n){const s=this.bc[0],e=this.hd(i,t,s,n);return this.wc.push(e),1===this.wc.length?this.$l():this.Nh(),e}ld(t){const i=this._r(t),n=this.wc.indexOf(t);c(-1!==n,"Series not found"),this.wc.splice(n,1),f(i).jo(t),t.S&&t.S()}Hl(t,i){const n=f(this._r(t));n.jo(t);const s=this.Lc(i);if(null===s){const s=t.Xi();n.Fo(t,i,s)}else{const e=s.Ht===n?t.Xi():void 0;s.Ht.Fo(t,i,e)}}Qu(){const t=lt.ts();t.jn(),this.Ac(t)}ad(t){const i=lt.ts();i.Un(t),this.Ac(i)}Xn(){const t=lt.ts();t.Xn(),this.Ac(t)}Kn(t){const i=lt.ts();i.Kn(t),this.Ac(i)}Zn(t){const i=lt.ts();i.Zn(t),this.Ac(i)}qn(t){const i=lt.ts();i.qn(t),this.Ac(i)}Hn(){const t=lt.ts();t.Hn(),this.Ac(t)}od(){return this._n.rightPriceScale.visible?"right":"left"}_d(){return this.Oc}q(){return this.Rc}Bt(t){const i=this.Oc,n=this.Rc;if(i===n)return i;if(t=Math.max(0,Math.min(100,Math.round(100*t))),null===this.Sc||this.Sc.ks!==n||this.Sc.Cs!==i)this.Sc={ks:n,Cs:i,ud:new Map};else{const i=this.Sc.ud.get(t);if(void 0!==i)return i}const s=function(t,i,n){const[s,e,r,h]=S(t),[l,a,o,_]=S(i),u=[m(s+n*(l-s)),m(e+n*(a-e)),m(r+n*(o-r)),b(h+n*(_-h))];return`rgba(${u[0]}, ${u[1]}, ${u[2]}, ${u[3]})`}(n,i,t/100);return this.Sc.ud.set(t,s),s}$c(t,i){const n=new lt(i);if(null!==t){const s=this.bc.indexOf(t);n.In(s,{Ln:i})}return n}Bc(t,i){return void 0===i&&(i=2),this.$c(this._r(t),i)}Ac(t){this.yc&&this.yc(t),this.bc.forEach((t=>t.E_().Fh().bt()))}hd(t,i,n,s){const e=new qi(this,t,i,n,s),r=void 0!==t.priceScaleId?t.priceScaleId:this.od();return n.Fo(e,r),ht(r)||e.Lh(t),e}Dc(t){const i=this._n.layout;return"gradient"===i.background.type?0===t?i.background.topColor:i.background.bottomColor:i.background.color}}function Bn(t){return!T(t)&&!R(t)}function Vn(t){return T(t)}!function(t){t[t.Disabled=0]="Disabled",t[t.Continuous=1]="Continuous",t[t.OnDataUpdate=2]="OnDataUpdate"}(Pn||(Pn={})),function(t){t[t.LastBar=0]="LastBar",t[t.LastVisible=1]="LastVisible"}(Rn||(Rn={})),function(t){t.Solid="solid",t.VerticalGradient="gradient"}(Dn||(Dn={})),function(t){t[t.Year=0]="Year",t[t.Month=1]="Month",t[t.DayOfMonth=2]="DayOfMonth",t[t.Time=3]="Time",t[t.TimeWithSeconds=4]="TimeWithSeconds"}(On||(On={}));const zn=t=>t.getUTCFullYear();function En(t,i,n){return i.replace(/yyyy/g,(t=>ot(zn(t),4))(t)).replace(/yy/g,(t=>ot(zn(t)%100,2))(t)).replace(/MMMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:"long"}))(t,n)).replace(/MMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:"short"}))(t,n)).replace(/MM/g,(t=>ot((t=>t.getUTCMonth()+1)(t),2))(t)).replace(/dd/g,(t=>ot((t=>t.getUTCDate())(t),2))(t))}class In{constructor(t="yyyy-MM-dd",i="default"){this.dd=t,this.fd=i}F_(t){return En(t,this.dd,this.fd)}}class Ln{constructor(t){this.vd=t||"%h:%m:%s"}F_(t){return this.vd.replace("%h",ot(t.getUTCHours(),2)).replace("%m",ot(t.getUTCMinutes(),2)).replace("%s",ot(t.getUTCSeconds(),2))}}const Nn={pd:"yyyy-MM-dd",md:"%h:%m:%s",bd:" ",wd:"default"};class Fn{constructor(t={}){const i=Object.assign(Object.assign({},Nn),t);this.gd=new In(i.pd,i.wd),this.Md=new Ln(i.md),this.xd=i.bd}F_(t){return`${this.gd.F_(t)}${this.xd}${this.Md.F_(t)}`}}function Wn(t){return 60*t*60*1e3}function jn(t){return 60*t*1e3}const Hn=[{Sd:($n=1,1e3*$n),yd:10},{Sd:jn(1),yd:20},{Sd:jn(5),yd:21},{Sd:jn(30),yd:22},{Sd:Wn(1),yd:30},{Sd:Wn(3),yd:31},{Sd:Wn(6),yd:32},{Sd:Wn(12),yd:33}];var $n;function Un(t,i){if(t.getUTCFullYear()!==i.getUTCFullYear())return 70;if(t.getUTCMonth()!==i.getUTCMonth())return 60;if(t.getUTCDate()!==i.getUTCDate())return 50;for(let n=Hn.length-1;n>=0;--n)if(Math.floor(i.getTime()/Hn[n].Sd)!==Math.floor(t.getTime()/Hn[n].Sd))return Hn[n].yd;return 0}function qn(t){let i=t;if(R(t)&&(i=Xn(t)),!Bn(i))throw new Error("time must be of type BusinessDay");const n=new Date(Date.UTC(i.year,i.month-1,i.day,0,0,0,0));return{kd:Math.round(n.getTime()/1e3),Cd:i}}function Yn(t){if(!Vn(t))throw new Error("time must be of type isUTCTimestamp");return{kd:t}}function Xn(t){const i=new Date(t);if(isNaN(i.getTime()))throw new Error(`Invalid date string=${t}, expected format=yyyy-mm-dd`);return{day:i.getUTCDate(),month:i.getUTCMonth()+1,year:i.getUTCFullYear()}}function Kn(t){R(t.time)&&(t.time=Xn(t.time))}class Zn{options(){return this._n}setOptions(t){this._n=t,this.updateFormatter(t.localization)}preprocessData(t){Array.isArray(t)?function(t){t.forEach(Kn)}(t):Kn(t)}createConverterToInternalObj(t){return f(function(t){return 0===t.length?null:Bn(t[0].time)||R(t[0].time)?qn:Yn}(t))}key(t){return"object"==typeof t&&"kd"in t?t.kd:this.key(this.convertHorzItemToInternal(t))}cacheKey(t){const i=t;return void 0===i.Cd?new Date(1e3*i.kd).getTime():new Date(Date.UTC(i.Cd.year,i.Cd.month-1,i.Cd.day)).getTime()}convertHorzItemToInternal(t){return Vn(i=t)?Yn(i):Bn(i)?qn(i):qn(Xn(i));var i}updateFormatter(t){if(!this._n)return;const i=t.dateFormat;this._n.timeScale.timeVisible?this.Td=new Fn({pd:i,md:this._n.timeScale.secondsVisible?"%h:%m:%s":"%h:%m",bd:" ",wd:t.locale}):this.Td=new In(i,t.locale)}formatHorzItem(t){const i=t;return this.Td.F_(new Date(1e3*i.kd))}formatTickmark(t,i){const n=function(t,i,n){switch(t){case 0:case 10:return i?n?4:3:2;case 20:case 21:case 22:case 30:case 31:case 32:case 33:return i?3:2;case 50:return 2;case 60:return 1;case 70:return 0}}(t.weight,this._n.timeScale.timeVisible,this._n.timeScale.secondsVisible),s=this._n.timeScale;if(void 0!==s.tickMarkFormatter){const e=s.tickMarkFormatter(t.originalTime,n,i.locale);if(null!==e)return e}return function(t,i,n){const s={};switch(i){case 0:s.year="numeric";break;case 1:s.month="short";break;case 2:s.day="numeric";break;case 3:s.hour12=!1,s.hour="2-digit",s.minute="2-digit";break;case 4:s.hour12=!1,s.hour="2-digit",s.minute="2-digit",s.second="2-digit"}const e=void 0===t.Cd?new Date(1e3*t.kd):new Date(Date.UTC(t.Cd.year,t.Cd.month-1,t.Cd.day));return new Date(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()).toLocaleString(n,s)}(t.time,n,i.locale)}maxTickMarkWeight(t){let i=t.reduce(Mn,t[0]).weight;return i>30&&i<50&&(i=30),i}fillWeightsForPoints(t,i){!function(t,i=0){if(0===t.length)return;let n=0===i?null:t[i-1].time.kd,s=null!==n?new Date(1e3*n):null,e=0;for(let r=i;r1){const i=Math.ceil(e/(t.length-1)),n=new Date(1e3*(t[0].time.kd-i));t[0].timeWeight=Un(new Date(1e3*t[0].time.kd),n)}}(t,i)}static Pd(t){return C({localization:{dateFormat:"dd MMM 'yy"}},null!=t?t:{})}}function Gn(t){var i=t.width,n=t.height;if(i<0)throw new Error("Negative width is not allowed for Size");if(n<0)throw new Error("Negative height is not allowed for Size");return{width:i,height:n}}function Jn(t,i){return t.width===i.width&&t.height===i.height}var Qn=function(){function t(t){var i=this;this._resolutionListener=function(){return i._onResolutionChanged()},this._resolutionMediaQueryList=null,this._observers=[],this._window=t,this._installResolutionListener()}return t.prototype.dispose=function(){this._uninstallResolutionListener(),this._window=null},Object.defineProperty(t.prototype,"value",{get:function(){return this._window.devicePixelRatio},enumerable:!1,configurable:!0}),t.prototype.subscribe=function(t){var i=this,n={next:t};return this._observers.push(n),{unsubscribe:function(){i._observers=i._observers.filter((function(t){return t!==n}))}}},t.prototype._installResolutionListener=function(){if(null!==this._resolutionMediaQueryList)throw new Error("Resolution listener is already installed");var t=this._window.devicePixelRatio;this._resolutionMediaQueryList=this._window.matchMedia("all and (resolution: ".concat(t,"dppx)")),this._resolutionMediaQueryList.addListener(this._resolutionListener)},t.prototype._uninstallResolutionListener=function(){null!==this._resolutionMediaQueryList&&(this._resolutionMediaQueryList.removeListener(this._resolutionListener),this._resolutionMediaQueryList=null)},t.prototype._reinstallResolutionListener=function(){this._uninstallResolutionListener(),this._installResolutionListener()},t.prototype._onResolutionChanged=function(){var t=this;this._observers.forEach((function(i){return i.next(t._window.devicePixelRatio)})),this._reinstallResolutionListener()},t}();var ts=function(){function t(t,i,n){var s;this._canvasElement=null,this._bitmapSizeChangedListeners=[],this._suggestedBitmapSize=null,this._suggestedBitmapSizeChangedListeners=[],this._devicePixelRatioObservable=null,this._canvasElementResizeObserver=null,this._canvasElement=t,this._canvasElementClientSize=Gn({width:this._canvasElement.clientWidth,height:this._canvasElement.clientHeight}),this._transformBitmapSize=null!=i?i:function(t){return t},this._allowResizeObserver=null===(s=null==n?void 0:n.allowResizeObserver)||void 0===s||s,this._chooseAndInitObserver()}return t.prototype.dispose=function(){var t,i;if(null===this._canvasElement)throw new Error("Object is disposed");null===(t=this._canvasElementResizeObserver)||void 0===t||t.disconnect(),this._canvasElementResizeObserver=null,null===(i=this._devicePixelRatioObservable)||void 0===i||i.dispose(),this._devicePixelRatioObservable=null,this._suggestedBitmapSizeChangedListeners.length=0,this._bitmapSizeChangedListeners.length=0,this._canvasElement=null},Object.defineProperty(t.prototype,"canvasElement",{get:function(){if(null===this._canvasElement)throw new Error("Object is disposed");return this._canvasElement},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"canvasElementClientSize",{get:function(){return this._canvasElementClientSize},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bitmapSize",{get:function(){return Gn({width:this.canvasElement.width,height:this.canvasElement.height})},enumerable:!1,configurable:!0}),t.prototype.resizeCanvasElement=function(t){this._canvasElementClientSize=Gn(t),this.canvasElement.style.width="".concat(this._canvasElementClientSize.width,"px"),this.canvasElement.style.height="".concat(this._canvasElementClientSize.height,"px"),this._invalidateBitmapSize()},t.prototype.subscribeBitmapSizeChanged=function(t){this._bitmapSizeChangedListeners.push(t)},t.prototype.unsubscribeBitmapSizeChanged=function(t){this._bitmapSizeChangedListeners=this._bitmapSizeChangedListeners.filter((function(i){return i!==t}))},Object.defineProperty(t.prototype,"suggestedBitmapSize",{get:function(){return this._suggestedBitmapSize},enumerable:!1,configurable:!0}),t.prototype.subscribeSuggestedBitmapSizeChanged=function(t){this._suggestedBitmapSizeChangedListeners.push(t)},t.prototype.unsubscribeSuggestedBitmapSizeChanged=function(t){this._suggestedBitmapSizeChangedListeners=this._suggestedBitmapSizeChangedListeners.filter((function(i){return i!==t}))},t.prototype.applySuggestedBitmapSize=function(){if(null!==this._suggestedBitmapSize){var t=this._suggestedBitmapSize;this._suggestedBitmapSize=null,this._resizeBitmap(t),this._emitSuggestedBitmapSizeChanged(t,this._suggestedBitmapSize)}},t.prototype._resizeBitmap=function(t){var i=this.bitmapSize;Jn(i,t)||(this.canvasElement.width=t.width,this.canvasElement.height=t.height,this._emitBitmapSizeChanged(i,t))},t.prototype._emitBitmapSizeChanged=function(t,i){var n=this;this._bitmapSizeChangedListeners.forEach((function(s){return s.call(n,t,i)}))},t.prototype._suggestNewBitmapSize=function(t){var i=this._suggestedBitmapSize,n=Gn(this._transformBitmapSize(t,this._canvasElementClientSize)),s=Jn(this.bitmapSize,n)?null:n;null===i&&null===s||null!==i&&null!==s&&Jn(i,s)||(this._suggestedBitmapSize=s,this._emitSuggestedBitmapSizeChanged(i,s))},t.prototype._emitSuggestedBitmapSizeChanged=function(t,i){var n=this;this._suggestedBitmapSizeChangedListeners.forEach((function(s){return s.call(n,t,i)}))},t.prototype._chooseAndInitObserver=function(){var t=this;this._allowResizeObserver?new Promise((function(t){var i=new ResizeObserver((function(n){t(n.every((function(t){return"devicePixelContentBoxSize"in t}))),i.disconnect()}));i.observe(document.body,{box:"device-pixel-content-box"})})).catch((function(){return!1})).then((function(i){return i?t._initResizeObserver():t._initDevicePixelRatioObservable()})):this._initDevicePixelRatioObservable()},t.prototype._initDevicePixelRatioObservable=function(){var t=this;if(null!==this._canvasElement){var i=is(this._canvasElement);if(null===i)throw new Error("No window is associated with the canvas");this._devicePixelRatioObservable=function(t){return new Qn(t)}(i),this._devicePixelRatioObservable.subscribe((function(){return t._invalidateBitmapSize()})),this._invalidateBitmapSize()}},t.prototype._invalidateBitmapSize=function(){var t,i;if(null!==this._canvasElement){var n=is(this._canvasElement);if(null!==n){var s=null!==(i=null===(t=this._devicePixelRatioObservable)||void 0===t?void 0:t.value)&&void 0!==i?i:n.devicePixelRatio,e=this._canvasElement.getClientRects(),r=void 0!==e[0]?function(t,i){return Gn({width:Math.round(t.left*i+t.width*i)-Math.round(t.left*i),height:Math.round(t.top*i+t.height*i)-Math.round(t.top*i)})}(e[0],s):Gn({width:this._canvasElementClientSize.width*s,height:this._canvasElementClientSize.height*s});this._suggestNewBitmapSize(r)}}},t.prototype._initResizeObserver=function(){var t=this;null!==this._canvasElement&&(this._canvasElementResizeObserver=new ResizeObserver((function(i){var n=i.find((function(i){return i.target===t._canvasElement}));if(n&&n.devicePixelContentBoxSize&&n.devicePixelContentBoxSize[0]){var s=n.devicePixelContentBoxSize[0],e=Gn({width:s.inlineSize,height:s.blockSize});t._suggestNewBitmapSize(e)}})),this._canvasElementResizeObserver.observe(this._canvasElement,{box:"device-pixel-content-box"}))},t}();function is(t){return t.ownerDocument.defaultView}var ns=function(){function t(t,i,n){if(0===i.width||0===i.height)throw new TypeError("Rendering target could only be created on a media with positive width and height");if(this._mediaSize=i,0===n.width||0===n.height)throw new TypeError("Rendering target could only be created using a bitmap with positive integer width and height");this._bitmapSize=n,this._context=t}return t.prototype.useMediaCoordinateSpace=function(t){try{return this._context.save(),this._context.setTransform(1,0,0,1,0,0),this._context.scale(this._horizontalPixelRatio,this._verticalPixelRatio),t({context:this._context,mediaSize:this._mediaSize})}finally{this._context.restore()}},t.prototype.useBitmapCoordinateSpace=function(t){try{return this._context.save(),this._context.setTransform(1,0,0,1,0,0),t({context:this._context,mediaSize:this._mediaSize,bitmapSize:this._bitmapSize,horizontalPixelRatio:this._horizontalPixelRatio,verticalPixelRatio:this._verticalPixelRatio})}finally{this._context.restore()}},Object.defineProperty(t.prototype,"_horizontalPixelRatio",{get:function(){return this._bitmapSize.width/this._mediaSize.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_verticalPixelRatio",{get:function(){return this._bitmapSize.height/this._mediaSize.height},enumerable:!1,configurable:!0}),t}();function ss(t,i){var n=t.canvasElementClientSize;if(0===n.width||0===n.height)return null;var s=t.bitmapSize;if(0===s.width||0===s.height)return null;var e=t.canvasElement.getContext("2d",i);return null===e?null:new ns(e,n,s)}const es="undefined"!=typeof window;function rs(){return!!es&&window.navigator.userAgent.toLowerCase().indexOf("firefox")>-1}function hs(){return!!es&&/iPhone|iPad|iPod/.test(window.navigator.platform)}function ls(t){return t+t%2}function as(t,i){return t.Rd-i.Rd}function os(t,i,n){const s=(t.Rd-i.Rd)/(t.ot-i.ot);return Math.sign(s)*Math.min(Math.abs(s),n)}class _s{constructor(t,i,n,s){this.Dd=null,this.Od=null,this.Ad=null,this.Bd=null,this.Vd=null,this.zd=0,this.Ed=0,this.Id=t,this.Ld=i,this.Nd=n,this.ss=s}Fd(t,i){if(null!==this.Dd){if(this.Dd.ot===i)return void(this.Dd.Rd=t);if(Math.abs(this.Dd.Rd-t)50)return;let n=0;const s=os(this.Dd,this.Od,this.Ld),e=as(this.Dd,this.Od),r=[s],h=[e];if(n+=e,null!==this.Ad){const t=os(this.Od,this.Ad,this.Ld);if(Math.sign(t)===Math.sign(s)){const i=as(this.Od,this.Ad);if(r.push(t),h.push(i),n+=i,null!==this.Bd){const t=os(this.Ad,this.Bd,this.Ld);if(Math.sign(t)===Math.sign(s)){const i=as(this.Ad,this.Bd);r.push(t),h.push(i),n+=i}}}}let l=0;for(let t=0;t({width:Math.max(t.width,i.width),height:Math.max(t.height,i.height)})});return s.resizeCanvasElement(i),s}function cs(t){var i;t.width=1,t.height=1,null===(i=t.getContext("2d"))||void 0===i||i.clearRect(0,0,1,1)}function ds(t,i,n,s){t.fl&&t.fl(i,n,s)}function fs(t,i,n,s){t.K(i,n,s)}function vs(t,i,n,s){const e=t(n,s);for(const t of e){const n=t.gt();null!==n&&i(n)}}function ps(t){es&&void 0!==window.chrome&&t.addEventListener("mousedown",(t=>{if(1===t.button)return t.preventDefault(),!1}))}class ms{constructor(t,i,n){this.jd=0,this.Hd=null,this.$d={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY},this.Ud=0,this.qd=null,this.Yd={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY},this.Xd=null,this.Kd=!1,this.Zd=null,this.Gd=null,this.Jd=!1,this.Qd=!1,this.tf=!1,this.if=null,this.nf=null,this.sf=null,this.ef=null,this.rf=null,this.hf=null,this.lf=null,this.af=0,this._f=!1,this.uf=!1,this.cf=!1,this.df=0,this.ff=null,this.vf=!hs(),this.pf=t=>{this.mf(t)},this.bf=t=>{if(this.wf(t)){const i=this.gf(t);if(++this.Ud,this.qd&&this.Ud>1){const{Mf:n}=this.xf(gs(t),this.Yd);n<30&&!this.tf&&this.Sf(i,this.kf.yf),this.Cf()}}else{const i=this.gf(t);if(++this.jd,this.Hd&&this.jd>1){const{Mf:n}=this.xf(gs(t),this.$d);n<5&&!this.Qd&&this.Tf(i,this.kf.Pf),this.Rf()}}},this.Df=t,this.kf=i,this._n=n,this.Of()}S(){null!==this.if&&(this.if(),this.if=null),null!==this.nf&&(this.nf(),this.nf=null),null!==this.ef&&(this.ef(),this.ef=null),null!==this.rf&&(this.rf(),this.rf=null),null!==this.hf&&(this.hf(),this.hf=null),null!==this.sf&&(this.sf(),this.sf=null),this.Af(),this.Rf()}Bf(t){this.ef&&this.ef();const i=this.Vf.bind(this);if(this.ef=()=>{this.Df.removeEventListener("mousemove",i)},this.Df.addEventListener("mousemove",i),this.wf(t))return;const n=this.gf(t);this.Tf(n,this.kf.zf),this.vf=!0}Rf(){null!==this.Hd&&clearTimeout(this.Hd),this.jd=0,this.Hd=null,this.$d={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY}}Cf(){null!==this.qd&&clearTimeout(this.qd),this.Ud=0,this.qd=null,this.Yd={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY}}Vf(t){if(this.cf||null!==this.Gd)return;if(this.wf(t))return;const i=this.gf(t);this.Tf(i,this.kf.Ef),this.vf=!0}If(t){const i=xs(t.changedTouches,f(this.ff));if(null===i)return;if(this.df=Ms(t),null!==this.lf)return;if(this.uf)return;this._f=!0;const n=this.xf(gs(i),f(this.Gd)),{Lf:s,Nf:e,Mf:r}=n;if(this.Jd||!(r<5)){if(!this.Jd){const t=.5*s,i=e>=t&&!this._n.Ff(),n=t>e&&!this._n.Wf();i||n||(this.uf=!0),this.Jd=!0,this.tf=!0,this.Af(),this.Cf()}if(!this.uf){const n=this.gf(t,i);this.Sf(n,this.kf.jf),ws(t)}}}Hf(t){if(0!==t.button)return;const i=this.xf(gs(t),f(this.Zd)),{Mf:n}=i;if(n>=5&&(this.Qd=!0,this.Rf()),this.Qd){const i=this.gf(t);this.Tf(i,this.kf.$f)}}xf(t,i){const n=Math.abs(i.nt-t.nt),s=Math.abs(i.st-t.st);return{Lf:n,Nf:s,Mf:n+s}}Uf(t){let i=xs(t.changedTouches,f(this.ff));if(null===i&&0===t.touches.length&&(i=t.changedTouches[0]),null===i)return;this.ff=null,this.df=Ms(t),this.Af(),this.Gd=null,this.hf&&(this.hf(),this.hf=null);const n=this.gf(t,i);if(this.Sf(n,this.kf.qf),++this.Ud,this.qd&&this.Ud>1){const{Mf:t}=this.xf(gs(i),this.Yd);t<30&&!this.tf&&this.Sf(n,this.kf.yf),this.Cf()}else this.tf||(this.Sf(n,this.kf.Yf),this.kf.Yf&&ws(t));0===this.Ud&&ws(t),0===t.touches.length&&this.Kd&&(this.Kd=!1,ws(t))}mf(t){if(0!==t.button)return;const i=this.gf(t);if(this.Zd=null,this.cf=!1,this.rf&&(this.rf(),this.rf=null),rs()){this.Df.ownerDocument.documentElement.removeEventListener("mouseleave",this.pf)}if(!this.wf(t))if(this.Tf(i,this.kf.Xf),++this.jd,this.Hd&&this.jd>1){const{Mf:n}=this.xf(gs(t),this.$d);n<5&&!this.Qd&&this.Tf(i,this.kf.Pf),this.Rf()}else this.Qd||this.Tf(i,this.kf.Kf)}Af(){null!==this.Xd&&(clearTimeout(this.Xd),this.Xd=null)}Zf(t){if(null!==this.ff)return;const i=t.changedTouches[0];this.ff=i.identifier,this.df=Ms(t);const n=this.Df.ownerDocument.documentElement;this.tf=!1,this.Jd=!1,this.uf=!1,this.Gd=gs(i),this.hf&&(this.hf(),this.hf=null);{const i=this.If.bind(this),s=this.Uf.bind(this);this.hf=()=>{n.removeEventListener("touchmove",i),n.removeEventListener("touchend",s)},n.addEventListener("touchmove",i,{passive:!1}),n.addEventListener("touchend",s,{passive:!1}),this.Af(),this.Xd=setTimeout(this.Gf.bind(this,t),240)}const s=this.gf(t,i);this.Sf(s,this.kf.Jf),this.qd||(this.Ud=0,this.qd=setTimeout(this.Cf.bind(this),500),this.Yd=gs(i))}Qf(t){if(0!==t.button)return;const i=this.Df.ownerDocument.documentElement;rs()&&i.addEventListener("mouseleave",this.pf),this.Qd=!1,this.Zd=gs(t),this.rf&&(this.rf(),this.rf=null);{const t=this.Hf.bind(this),n=this.mf.bind(this);this.rf=()=>{i.removeEventListener("mousemove",t),i.removeEventListener("mouseup",n)},i.addEventListener("mousemove",t),i.addEventListener("mouseup",n)}if(this.cf=!0,this.wf(t))return;const n=this.gf(t);this.Tf(n,this.kf.tv),this.Hd||(this.jd=0,this.Hd=setTimeout(this.Rf.bind(this),500),this.$d=gs(t))}Of(){this.Df.addEventListener("mouseenter",this.Bf.bind(this)),this.Df.addEventListener("touchcancel",this.Af.bind(this));{const t=this.Df.ownerDocument,i=t=>{this.kf.iv&&(t.composed&&this.Df.contains(t.composedPath()[0])||t.target&&this.Df.contains(t.target)||this.kf.iv())};this.nf=()=>{t.removeEventListener("touchstart",i)},this.if=()=>{t.removeEventListener("mousedown",i)},t.addEventListener("mousedown",i),t.addEventListener("touchstart",i,{passive:!0})}hs()&&(this.sf=()=>{this.Df.removeEventListener("dblclick",this.bf)},this.Df.addEventListener("dblclick",this.bf)),this.Df.addEventListener("mouseleave",this.nv.bind(this)),this.Df.addEventListener("touchstart",this.Zf.bind(this),{passive:!0}),ps(this.Df),this.Df.addEventListener("mousedown",this.Qf.bind(this)),this.sv(),this.Df.addEventListener("touchmove",(()=>{}),{passive:!1})}sv(){void 0===this.kf.ev&&void 0===this.kf.rv&&void 0===this.kf.hv||(this.Df.addEventListener("touchstart",(t=>this.lv(t.touches)),{passive:!0}),this.Df.addEventListener("touchmove",(t=>{if(2===t.touches.length&&null!==this.lf&&void 0!==this.kf.rv){const i=bs(t.touches[0],t.touches[1])/this.af;this.kf.rv(this.lf,i),ws(t)}}),{passive:!1}),this.Df.addEventListener("touchend",(t=>{this.lv(t.touches)})))}lv(t){1===t.length&&(this._f=!1),2!==t.length||this._f||this.Kd?this.av():this.ov(t)}ov(t){const i=this.Df.getBoundingClientRect()||{left:0,top:0};this.lf={nt:(t[0].clientX-i.left+(t[1].clientX-i.left))/2,st:(t[0].clientY-i.top+(t[1].clientY-i.top))/2},this.af=bs(t[0],t[1]),void 0!==this.kf.ev&&this.kf.ev(),this.Af()}av(){null!==this.lf&&(this.lf=null,void 0!==this.kf.hv&&this.kf.hv())}nv(t){if(this.ef&&this.ef(),this.wf(t))return;if(!this.vf)return;const i=this.gf(t);this.Tf(i,this.kf._v),this.vf=!hs()}Gf(t){const i=xs(t.touches,f(this.ff));if(null===i)return;const n=this.gf(t,i);this.Sf(n,this.kf.uv),this.tf=!0,this.Kd=!0}wf(t){return t.sourceCapabilities&&void 0!==t.sourceCapabilities.firesTouchEvents?t.sourceCapabilities.firesTouchEvents:Ms(t){"touchstart"!==t.type&&ws(t)}}}}function bs(t,i){const n=t.clientX-i.clientX,s=t.clientY-i.clientY;return Math.sqrt(n*n+s*s)}function ws(t){t.cancelable&&t.preventDefault()}function gs(t){return{nt:t.pageX,st:t.pageY}}function Ms(t){return t.timeStamp||performance.now()}function xs(t,i){for(let n=0;n{var s,e,r,h;return(null!==(e=null===(s=n.Dt())||void 0===s?void 0:s.xa())&&void 0!==e?e:"")!==i?[]:null!==(h=null===(r=n.la)||void 0===r?void 0:r.call(n,t))&&void 0!==h?h:[]}}class Cs{constructor(t,i,n,s){this.Ei=null,this.gv=null,this.Mv=!1,this.xv=new Jt(200),this.Zr=null,this.Sv=0,this.yv=!1,this.kv=()=>{this.yv||this.Qi.Cv().$t().Nh()},this.Tv=()=>{this.yv||this.Qi.Cv().$t().Nh()},this.Qi=t,this._n=i,this.mo=i.layout,this.kc=n,this.Pv="left"===s,this.Rv=ks("normal",s),this.Dv=ks("top",s),this.Ov=ks("bottom",s),this.Av=document.createElement("div"),this.Av.style.height="100%",this.Av.style.overflow="hidden",this.Av.style.width="25px",this.Av.style.left="0",this.Av.style.position="relative",this.Bv=us(this.Av,Gn({width:16,height:16})),this.Bv.subscribeSuggestedBitmapSizeChanged(this.kv);const e=this.Bv.canvasElement;e.style.position="absolute",e.style.zIndex="1",e.style.left="0",e.style.top="0",this.Vv=us(this.Av,Gn({width:16,height:16})),this.Vv.subscribeSuggestedBitmapSizeChanged(this.Tv);const r=this.Vv.canvasElement;r.style.position="absolute",r.style.zIndex="2",r.style.left="0",r.style.top="0";const h={tv:this.zv.bind(this),Jf:this.zv.bind(this),$f:this.Ev.bind(this),jf:this.Ev.bind(this),iv:this.Iv.bind(this),Xf:this.Lv.bind(this),qf:this.Lv.bind(this),Pf:this.Nv.bind(this),yf:this.Nv.bind(this),zf:this.Fv.bind(this),_v:this.Wv.bind(this)};this.jv=new ms(this.Vv.canvasElement,h,{Ff:()=>!this._n.handleScroll.vertTouchDrag,Wf:()=>!0})}S(){this.jv.S(),this.Vv.unsubscribeSuggestedBitmapSizeChanged(this.Tv),cs(this.Vv.canvasElement),this.Vv.dispose(),this.Bv.unsubscribeSuggestedBitmapSizeChanged(this.kv),cs(this.Bv.canvasElement),this.Bv.dispose(),null!==this.Ei&&this.Ei.$o().p(this),this.Ei=null}Hv(){return this.Av}P(){return this.mo.fontSize}$v(){const t=this.kc.W();return this.Zr!==t.R&&(this.xv.Qe(),this.Zr=t.R),t}Uv(){if(null===this.Ei)return 0;let t=0;const i=this.$v(),n=f(this.Bv.canvasElement.getContext("2d"));n.save();const s=this.Ei.Ia();n.font=this.qv(),s.length>0&&(t=Math.max(this.xv.Mi(n,s[0].Za),this.xv.Mi(n,s[s.length-1].Za)));const e=this.Yv();for(let i=e.length;i--;){const s=this.xv.Mi(n,e[i].Zt());s>t&&(t=s)}const r=this.Ei.Ct();if(null!==r&&null!==this.gv){const i=this.Ei.fn(1,r),s=this.Ei.fn(this.gv.height-2,r);t=Math.max(t,this.xv.Mi(n,this.Ei.Ni(Math.floor(Math.min(i,s))+.11111111111111,r)),this.xv.Mi(n,this.Ei.Ni(Math.ceil(Math.max(i,s))-.11111111111111,r)))}n.restore();const h=t||34;return ls(Math.ceil(i.C+i.T+i.V+i.I+5+h))}Xv(t){null!==this.gv&&Jn(this.gv,t)||(this.gv=t,this.yv=!0,this.Bv.resizeCanvasElement(t),this.Vv.resizeCanvasElement(t),this.yv=!1,this.Av.style.width=`${t.width}px`,this.Av.style.height=`${t.height}px`)}Kv(){return f(this.gv).width}Zi(t){this.Ei!==t&&(null!==this.Ei&&this.Ei.$o().p(this),this.Ei=t,t.$o().l(this.ao.bind(this),this))}Dt(){return this.Ei}Qe(){const t=this.Qi.Zv();this.Qi.Cv().$t().A_(t,f(this.Dt()))}Gv(t){if(null===this.gv)return;if(1!==t){this.Jv(),this.Bv.applySuggestedBitmapSize();const t=ss(this.Bv);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.Qv(t),this.Ae(t)})),this.Qi.tp(t,this.Ov),this.ip(t),this.Qi.tp(t,this.Rv),this.np(t))}this.Vv.applySuggestedBitmapSize();const i=ss(this.Vv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.sp(i),this.Qi.tp(i,this.Dv))}ep(){return this.Bv.bitmapSize}rp(t,i,n){const s=this.ep();s.width>0&&s.height>0&&t.drawImage(this.Bv.canvasElement,i,n)}bt(){var t;null===(t=this.Ei)||void 0===t||t.Ia()}zv(t){if(null===this.Ei||this.Ei.Li()||!this._n.handleScale.axisPressedMouseMove.price)return;const i=this.Qi.Cv().$t(),n=this.Qi.Zv();this.Mv=!0,i.k_(n,this.Ei,t.localY)}Ev(t){if(null===this.Ei||!this._n.handleScale.axisPressedMouseMove.price)return;const i=this.Qi.Cv().$t(),n=this.Qi.Zv(),s=this.Ei;i.C_(n,s,t.localY)}Iv(){if(null===this.Ei||!this._n.handleScale.axisPressedMouseMove.price)return;const t=this.Qi.Cv().$t(),i=this.Qi.Zv(),n=this.Ei;this.Mv&&(this.Mv=!1,t.T_(i,n))}Lv(t){if(null===this.Ei||!this._n.handleScale.axisPressedMouseMove.price)return;const i=this.Qi.Cv().$t(),n=this.Qi.Zv();this.Mv=!1,i.T_(n,this.Ei)}Nv(t){this._n.handleScale.axisDoubleClickReset.price&&this.Qe()}Fv(t){if(null===this.Ei)return;!this.Qi.Cv().$t().W().handleScale.axisPressedMouseMove.price||this.Ei.fh()||this.Ei.Co()||this.hp(1)}Wv(t){this.hp(0)}Yv(){const t=[],i=null===this.Ei?void 0:this.Ei;return(n=>{for(let s=0;s{t.fillStyle=n.borderColor;const l=Math.max(1,Math.floor(h)),a=Math.floor(.5*h),o=Math.round(s.T*r);t.beginPath();for(const n of i)t.rect(Math.floor(e*r),Math.round(n.Aa*h)-a,o,l);t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{var r;t.font=this.qv(),t.fillStyle=null!==(r=n.textColor)&&void 0!==r?r:this.mo.textColor,t.textAlign=this.Pv?"right":"left",t.textBaseline="middle";const h=this.Pv?Math.round(e-s.V):Math.round(e+s.T+s.V),l=i.map((i=>this.xv.gi(t,i.Za)));for(let n=i.length;n--;){const s=i[n];t.fillText(s.Za,h,s.Aa+l[n])}}))}Jv(){if(null===this.gv||null===this.Ei)return;let t=this.gv.height/2;const i=[],n=this.Ei.No().slice(),s=this.Qi.Zv(),e=this.$v();this.Ei===s.cr()&&this.Qi.Zv().No().forEach((t=>{s.ur(t)&&n.push(t)}));const r=this.Ei.Ta()[0],h=this.Ei;n.forEach((n=>{const e=n.Tn(s,h);e.forEach((t=>{t.Oi(null),t.Ai()&&i.push(t)})),r===n&&e.length>0&&(t=e[0].Si())})),i.forEach((t=>t.Oi(t.Si())));this.Ei.W().alignLabels&&this.lp(i,e,t)}lp(t,i,n){if(null===this.gv)return;const s=t.filter((t=>t.Si()<=n)),e=t.filter((t=>t.Si()>n));s.sort(((t,i)=>i.Si()-t.Si())),s.length&&e.length&&e.push(s[0]),e.sort(((t,i)=>t.Si()-i.Si()));for(const n of t){const t=Math.floor(n.Vt(i)/2),s=n.Si();s>-t&&sthis.gv.height-t&&sl-r&&n.Oi(l-r)}for(let t=1;t{if(i.Bi()){i.gt(f(this.Ei)).K(t,n,this.xv,s)}}))}sp(t){if(null===this.gv||null===this.Ei)return;const i=this.Qi.Cv().$t(),n=[],s=this.Qi.Zv(),e=i.Wc().Tn(s,this.Ei);e.length&&n.push(e);const r=this.$v(),h=this.Pv?"right":"left";n.forEach((i=>{i.forEach((i=>{i.gt(f(this.Ei)).K(t,r,this.xv,h)}))}))}hp(t){this.Av.style.cursor=1===t?"ns-resize":"default"}ao(){const t=this.Uv();this.Sv{this.yv||null===this.gp||this.Hi().Nh()},this.Tv=()=>{this.yv||null===this.gp||this.Hi().Nh()},this.Mp=t,this.gp=i,this.gp.z_().l(this.xp.bind(this),this,!0),this.Sp=document.createElement("td"),this.Sp.style.padding="0",this.Sp.style.position="relative";const n=document.createElement("div");n.style.width="100%",n.style.height="100%",n.style.position="relative",n.style.overflow="hidden",this.yp=document.createElement("td"),this.yp.style.padding="0",this.kp=document.createElement("td"),this.kp.style.padding="0",this.Sp.appendChild(n),this.Bv=us(n,Gn({width:16,height:16})),this.Bv.subscribeSuggestedBitmapSizeChanged(this.kv);const s=this.Bv.canvasElement;s.style.position="absolute",s.style.zIndex="1",s.style.left="0",s.style.top="0",this.Vv=us(n,Gn({width:16,height:16})),this.Vv.subscribeSuggestedBitmapSizeChanged(this.Tv);const e=this.Vv.canvasElement;e.style.position="absolute",e.style.zIndex="2",e.style.left="0",e.style.top="0",this.Cp=document.createElement("tr"),this.Cp.appendChild(this.yp),this.Cp.appendChild(this.Sp),this.Cp.appendChild(this.kp),this.Tp(),this.jv=new ms(this.Vv.canvasElement,this,{Ff:()=>null===this.pp&&!this.Mp.W().handleScroll.vertTouchDrag,Wf:()=>null===this.pp&&!this.Mp.W().handleScroll.horzTouchDrag})}S(){null!==this.ap&&this.ap.S(),null!==this.op&&this.op.S(),this.Vv.unsubscribeSuggestedBitmapSizeChanged(this.Tv),cs(this.Vv.canvasElement),this.Vv.dispose(),this.Bv.unsubscribeSuggestedBitmapSizeChanged(this.kv),cs(this.Bv.canvasElement),this.Bv.dispose(),null!==this.gp&&this.gp.z_().p(this),this.jv.S()}Zv(){return f(this.gp)}Pp(t){null!==this.gp&&this.gp.z_().p(this),this.gp=t,null!==this.gp&&this.gp.z_().l(Os.prototype.xp.bind(this),this,!0),this.Tp()}Cv(){return this.Mp}Hv(){return this.Cp}Tp(){if(null!==this.gp&&(this.Rp(),0!==this.Hi().wt().length)){if(null!==this.ap){const t=this.gp.S_();this.ap.Zi(f(t))}if(null!==this.op){const t=this.gp.y_();this.op.Zi(f(t))}}}Dp(){null!==this.ap&&this.ap.bt(),null!==this.op&&this.op.bt()}v_(){return null!==this.gp?this.gp.v_():0}p_(t){this.gp&&this.gp.p_(t)}zf(t){if(!this.gp)return;this.Op();const i=t.localX,n=t.localY;this.Ap(i,n,t)}tv(t){this.Op(),this.Bp(),this.Ap(t.localX,t.localY,t)}Ef(t){var i;if(!this.gp)return;this.Op();const n=t.localX,s=t.localY;this.Ap(n,s,t);const e=this.pr(n,s);this.Mp.Vp(null!==(i=null==e?void 0:e.wv)&&void 0!==i?i:null),this.Hi().zc(e&&{Ec:e.Ec,mv:e.mv})}Kf(t){null!==this.gp&&(this.Op(),this.zp(t))}Pf(t){null!==this.gp&&this.Ep(this.dp,t)}yf(t){this.Pf(t)}$f(t){this.Op(),this.Ip(t),this.Ap(t.localX,t.localY,t)}Xf(t){null!==this.gp&&(this.Op(),this.vp=!1,this.Lp(t))}Yf(t){null!==this.gp&&this.zp(t)}uv(t){if(this.vp=!0,null===this.pp){const i={x:t.localX,y:t.localY};this.Np(i,i,t)}}_v(t){null!==this.gp&&(this.Op(),this.gp.$t().zc(null),this.Fp())}Wp(){return this.cp}jp(){return this.dp}ev(){this.fp=1,this.Hi().Hn()}rv(t,i){if(!this.Mp.W().handleScale.pinch)return;const n=5*(i-this.fp);this.fp=i,this.Hi().qc(t.nt,n)}Jf(t){this.vp=!1,this.mp=null!==this.pp,this.Bp();const i=this.Hi().Wc();null!==this.pp&&i.kt()&&(this.bp={x:i.Yt(),y:i.Xt()},this.pp={x:t.localX,y:t.localY})}jf(t){if(null===this.gp)return;const i=t.localX,n=t.localY;if(null===this.pp)this.Ip(t);else{this.mp=!1;const s=f(this.bp),e=s.x+(i-this.pp.x),r=s.y+(n-this.pp.y);this.Ap(e,r,t)}}qf(t){0===this.Cv().W().trackingMode.exitMode&&(this.mp=!0),this.Hp(),this.Lp(t)}pr(t,i){const n=this.gp;return null===n?null:function(t,i,n){const s=t.No(),e=function(t,i,n){var s,e;let r,h;for(const o of t){const t=null!==(e=null===(s=o.oa)||void 0===s?void 0:s.call(o,i,n))&&void 0!==e?e:[];for(const i of t)l=i.zOrder,(!(a=null==r?void 0:r.zOrder)||"top"===l&&"top"!==a||"normal"===l&&"bottom"===a)&&(r=i,h=o)}var l,a;return r&&h?{bv:r,Ec:h}:null}(s,i,n);if("top"===(null==e?void 0:e.bv.zOrder))return Ss(e);for(const r of s){if(e&&e.Ec===r&&"bottom"!==e.bv.zOrder&&!e.bv.isBackground)return Ss(e);const s=ys(r.Cn(t),i,n);if(null!==s)return{Ec:r,vv:s.vv,mv:s.mv};if(e&&e.Ec===r&&"bottom"!==e.bv.zOrder&&e.bv.isBackground)return Ss(e)}return(null==e?void 0:e.bv)?Ss(e):null}(n,t,i)}$p(t,i){f("left"===i?this.ap:this.op).Xv(Gn({width:t,height:this.gv.height}))}Up(){return this.gv}Xv(t){Jn(this.gv,t)||(this.gv=t,this.yv=!0,this.Bv.resizeCanvasElement(t),this.Vv.resizeCanvasElement(t),this.yv=!1,this.Sp.style.width=t.width+"px",this.Sp.style.height=t.height+"px")}qp(){const t=f(this.gp);t.x_(t.S_()),t.x_(t.y_());for(const i of t.Ta())if(t.ur(i)){const n=i.Dt();null!==n&&t.x_(n),i.Rn()}}ep(){return this.Bv.bitmapSize}rp(t,i,n){const s=this.ep();s.width>0&&s.height>0&&t.drawImage(this.Bv.canvasElement,i,n)}Gv(t){if(0===t)return;if(null===this.gp)return;if(t>1&&this.qp(),null!==this.ap&&this.ap.Gv(t),null!==this.op&&this.op.Gv(t),1!==t){this.Bv.applySuggestedBitmapSize();const t=ss(this.Bv);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.Qv(t)})),this.gp&&(this.Yp(t,Ts),this.Xp(t),this.Kp(t),this.Yp(t,Ps),this.Yp(t,Rs)))}this.Vv.applySuggestedBitmapSize();const i=ss(this.Vv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.Zp(i),this.Yp(i,Ds))}Gp(){return this.ap}Jp(){return this.op}tp(t,i){this.Yp(t,i)}xp(){null!==this.gp&&this.gp.z_().p(this),this.gp=null}zp(t){this.Ep(this.cp,t)}Ep(t,i){const n=i.localX,s=i.localY;t.M()&&t.m(this.Hi().St().Bu(n),{x:n,y:s},i)}Qv({context:t,bitmapSize:i}){const{width:n,height:s}=i,e=this.Hi(),r=e.q(),h=e._d();r===h?q(t,0,0,n,s,h):Z(t,0,0,n,s,r,h)}Xp(t){const i=f(this.gp).E_().Fh().gt();null!==i&&i.K(t,!1)}Kp(t){const i=this.Hi().Fc();this.Qp(t,Ps,ds,i),this.Qp(t,Ps,fs,i)}Zp(t){this.Qp(t,Ps,fs,this.Hi().Wc())}Yp(t,i){const n=f(this.gp).No();for(const s of n)this.Qp(t,i,ds,s);for(const s of n)this.Qp(t,i,fs,s)}Qp(t,i,n,s){const e=f(this.gp),r=e.$t().Vc(),h=null!==r&&r.Ec===s,l=null!==r&&h&&void 0!==r.mv?r.mv.br:void 0;vs(i,(i=>n(i,t,h,l)),s,e)}Rp(){if(null===this.gp)return;const t=this.Mp,i=this.gp.S_().W().visible,n=this.gp.y_().W().visible;i||null===this.ap||(this.yp.removeChild(this.ap.Hv()),this.ap.S(),this.ap=null),n||null===this.op||(this.kp.removeChild(this.op.Hv()),this.op.S(),this.op=null);const s=t.$t().ed();i&&null===this.ap&&(this.ap=new Cs(this,t.W(),s,"left"),this.yp.appendChild(this.ap.Hv())),n&&null===this.op&&(this.op=new Cs(this,t.W(),s,"right"),this.kp.appendChild(this.op.Hv()))}tm(t){return t.cv&&this.vp||null!==this.pp}im(t){return Math.max(0,Math.min(t,this.gv.width-1))}nm(t){return Math.max(0,Math.min(t,this.gv.height-1))}Ap(t,i,n){this.Hi().Qc(this.im(t),this.nm(i),n,f(this.gp))}Fp(){this.Hi().nd()}Hp(){this.mp&&(this.pp=null,this.Fp())}Np(t,i,n){this.pp=t,this.mp=!1,this.Ap(i.x,i.y,n);const s=this.Hi().Wc();this.bp={x:s.Yt(),y:s.Xt()}}Hi(){return this.Mp.$t()}Lp(t){if(!this.up)return;const i=this.Hi(),n=this.Zv();if(i.D_(n,n.dn()),this._p=null,this.up=!1,i.Zc(),null!==this.wp){const t=performance.now(),n=i.St();this.wp.Pr(n.Iu(),t),this.wp.Yu(t)||i.qn(this.wp)}}Op(){this.pp=null}Bp(){if(!this.gp)return;if(this.Hi().Hn(),document.activeElement!==document.body&&document.activeElement!==document.documentElement)f(document.activeElement).blur();else{const t=document.getSelection();null!==t&&t.removeAllRanges()}!this.gp.dn().Li()&&this.Hi().St().Li()}Ip(t){if(null===this.gp)return;const i=this.Hi(),n=i.St();if(n.Li())return;const s=this.Mp.W(),e=s.handleScroll,r=s.kineticScroll;if((!e.pressedMouseMove||t.cv)&&(!e.horzTouchDrag&&!e.vertTouchDrag||!t.cv))return;const h=this.gp.dn(),l=performance.now();if(null!==this._p||this.tm(t)||(this._p={x:t.clientX,y:t.clientY,kd:l,sm:t.localX,rm:t.localY}),null!==this._p&&!this.up&&(this._p.x!==t.clientX||this._p.y!==t.clientY)){if(t.cv&&r.touch||!t.cv&&r.mouse){const t=n.ee();this.wp=new _s(.2/t,7/t,.997,15/t),this.wp.Fd(n.Iu(),this._p.kd)}else this.wp=null;h.Li()||i.P_(this.gp,h,t.localY),i.Xc(t.localX),this.up=!0}this.up&&(h.Li()||i.R_(this.gp,h,t.localY),i.Kc(t.localX),null!==this.wp&&this.wp.Fd(n.Iu(),l))}}class As{constructor(t,i,n,s,e){this.ft=!0,this.gv=Gn({width:0,height:0}),this.kv=()=>this.Gv(3),this.Pv="left"===t,this.kc=n.ed,this._n=i,this.hm=s,this.lm=e,this.Av=document.createElement("div"),this.Av.style.width="25px",this.Av.style.height="100%",this.Av.style.overflow="hidden",this.Bv=us(this.Av,Gn({width:16,height:16})),this.Bv.subscribeSuggestedBitmapSizeChanged(this.kv)}S(){this.Bv.unsubscribeSuggestedBitmapSizeChanged(this.kv),cs(this.Bv.canvasElement),this.Bv.dispose()}Hv(){return this.Av}Up(){return this.gv}Xv(t){Jn(this.gv,t)||(this.gv=t,this.Bv.resizeCanvasElement(t),this.Av.style.width=`${t.width}px`,this.Av.style.height=`${t.height}px`,this.ft=!0)}Gv(t){if(t<3&&!this.ft)return;if(0===this.gv.width||0===this.gv.height)return;this.ft=!1,this.Bv.applySuggestedBitmapSize();const i=ss(this.Bv);null!==i&&i.useBitmapCoordinateSpace((t=>{this.Qv(t),this.Ae(t)}))}ep(){return this.Bv.bitmapSize}rp(t,i,n){const s=this.ep();s.width>0&&s.height>0&&t.drawImage(this.Bv.canvasElement,i,n)}Ae({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(!this.hm())return;t.fillStyle=this._n.timeScale.borderColor;const e=Math.floor(this.kc.W().C*n),r=Math.floor(this.kc.W().C*s),h=this.Pv?i.width-e:0;t.fillRect(h,0,e,r)}Qv({context:t,bitmapSize:i}){q(t,0,0,i.width,i.height,this.lm())}}function Bs(t){return i=>{var n,s;return null!==(s=null===(n=i.aa)||void 0===n?void 0:n.call(i,t))&&void 0!==s?s:[]}}const Vs=Bs("normal"),zs=Bs("top"),Es=Bs("bottom");class Is{constructor(t,i){this.am=null,this.om=null,this.k=null,this._m=!1,this.gv=Gn({width:0,height:0}),this.um=new k,this.xv=new Jt(5),this.yv=!1,this.kv=()=>{this.yv||this.Mp.$t().Nh()},this.Tv=()=>{this.yv||this.Mp.$t().Nh()},this.Mp=t,this.N_=i,this._n=t.W().layout,this.dm=document.createElement("tr"),this.fm=document.createElement("td"),this.fm.style.padding="0",this.vm=document.createElement("td"),this.vm.style.padding="0",this.Av=document.createElement("td"),this.Av.style.height="25px",this.Av.style.padding="0",this.pm=document.createElement("div"),this.pm.style.width="100%",this.pm.style.height="100%",this.pm.style.position="relative",this.pm.style.overflow="hidden",this.Av.appendChild(this.pm),this.Bv=us(this.pm,Gn({width:16,height:16})),this.Bv.subscribeSuggestedBitmapSizeChanged(this.kv);const n=this.Bv.canvasElement;n.style.position="absolute",n.style.zIndex="1",n.style.left="0",n.style.top="0",this.Vv=us(this.pm,Gn({width:16,height:16})),this.Vv.subscribeSuggestedBitmapSizeChanged(this.Tv);const s=this.Vv.canvasElement;s.style.position="absolute",s.style.zIndex="2",s.style.left="0",s.style.top="0",this.dm.appendChild(this.fm),this.dm.appendChild(this.Av),this.dm.appendChild(this.vm),this.bm(),this.Mp.$t().f_().l(this.bm.bind(this),this),this.jv=new ms(this.Vv.canvasElement,this,{Ff:()=>!0,Wf:()=>!this.Mp.W().handleScroll.horzTouchDrag})}S(){this.jv.S(),null!==this.am&&this.am.S(),null!==this.om&&this.om.S(),this.Vv.unsubscribeSuggestedBitmapSizeChanged(this.Tv),cs(this.Vv.canvasElement),this.Vv.dispose(),this.Bv.unsubscribeSuggestedBitmapSizeChanged(this.kv),cs(this.Bv.canvasElement),this.Bv.dispose()}Hv(){return this.dm}wm(){return this.am}gm(){return this.om}tv(t){if(this._m)return;this._m=!0;const i=this.Mp.$t();!i.St().Li()&&this.Mp.W().handleScale.axisPressedMouseMove.time&&i.Uc(t.localX)}Jf(t){this.tv(t)}iv(){const t=this.Mp.$t();!t.St().Li()&&this._m&&(this._m=!1,this.Mp.W().handleScale.axisPressedMouseMove.time&&t.Jc())}$f(t){const i=this.Mp.$t();!i.St().Li()&&this.Mp.W().handleScale.axisPressedMouseMove.time&&i.Gc(t.localX)}jf(t){this.$f(t)}Xf(){this._m=!1;const t=this.Mp.$t();t.St().Li()&&!this.Mp.W().handleScale.axisPressedMouseMove.time||t.Jc()}qf(){this.Xf()}Pf(){this.Mp.W().handleScale.axisDoubleClickReset.time&&this.Mp.$t().Xn()}yf(){this.Pf()}zf(){this.Mp.$t().W().handleScale.axisPressedMouseMove.time&&this.hp(1)}_v(){this.hp(0)}Up(){return this.gv}Mm(){return this.um}xm(t,i,n){Jn(this.gv,t)||(this.gv=t,this.yv=!0,this.Bv.resizeCanvasElement(t),this.Vv.resizeCanvasElement(t),this.yv=!1,this.Av.style.width=`${t.width}px`,this.Av.style.height=`${t.height}px`,this.um.m(t)),null!==this.am&&this.am.Xv(Gn({width:i,height:t.height})),null!==this.om&&this.om.Xv(Gn({width:n,height:t.height}))}Sm(){const t=this.ym();return Math.ceil(t.C+t.T+t.P+t.L+t.B+t.km)}bt(){this.Mp.$t().St().Ia()}ep(){return this.Bv.bitmapSize}rp(t,i,n){const s=this.ep();s.width>0&&s.height>0&&t.drawImage(this.Bv.canvasElement,i,n)}Gv(t){if(0===t)return;if(1!==t){this.Bv.applySuggestedBitmapSize();const i=ss(this.Bv);null!==i&&(i.useBitmapCoordinateSpace((t=>{this.Qv(t),this.Ae(t),this.Cm(i,Es)})),this.ip(i),this.Cm(i,Vs)),null!==this.am&&this.am.Gv(t),null!==this.om&&this.om.Gv(t)}this.Vv.applySuggestedBitmapSize();const i=ss(this.Vv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.Tm([...this.Mp.$t().wt(),this.Mp.$t().Wc()],i),this.Cm(i,zs))}Cm(t,i){const n=this.Mp.$t().wt();for(const s of n)vs(i,(i=>ds(i,t,!1,void 0)),s,void 0);for(const s of n)vs(i,(i=>fs(i,t,!1,void 0)),s,void 0)}Qv({context:t,bitmapSize:i}){q(t,0,0,i.width,i.height,this.Mp.$t()._d())}Ae({context:t,bitmapSize:i,verticalPixelRatio:n}){if(this.Mp.W().timeScale.borderVisible){t.fillStyle=this.Pm();const s=Math.max(1,Math.floor(this.ym().C*n));t.fillRect(0,0,i.width,s)}}ip(t){const i=this.Mp.$t().St(),n=i.Ia();if(!n||0===n.length)return;const s=this.N_.maxTickMarkWeight(n),e=this.ym(),r=i.W();r.borderVisible&&r.ticksVisible&&t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:i,verticalPixelRatio:s})=>{t.strokeStyle=this.Pm(),t.fillStyle=this.Pm();const r=Math.max(1,Math.floor(i)),h=Math.floor(.5*i);t.beginPath();const l=Math.round(e.T*s);for(let s=n.length;s--;){const e=Math.round(n[s].coord*i);t.rect(e-h,0,r,l)}t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{const i=e.C+e.T+e.L+e.P/2;t.textAlign="center",t.textBaseline="middle",t.fillStyle=this.$(),t.font=this.qv();for(const e of n)if(e.weight=s){const n=e.needAlignCoordinate?this.Rm(t,e.coord,e.label):e.coord;t.fillText(e.label,n,i)}}))}Rm(t,i,n){const s=this.xv.Mi(t,n),e=s/2,r=Math.floor(i-e)+.5;return r<0?i+=Math.abs(0-r):r+s>this.gv.width&&(i-=Math.abs(this.gv.width-(r+s))),i}Tm(t,i){const n=this.ym();for(const s of t)for(const t of s.Ji())t.gt().K(i,n)}Pm(){return this.Mp.W().timeScale.borderColor}$(){return this._n.textColor}j(){return this._n.fontSize}qv(){return z(this.j(),this._n.fontFamily)}Dm(){return z(this.j(),this._n.fontFamily,"bold")}ym(){null===this.k&&(this.k={C:1,N:NaN,L:NaN,B:NaN,Wi:NaN,T:5,P:NaN,R:"",Fi:new Jt,km:0});const t=this.k,i=this.qv();if(t.R!==i){const n=this.j();t.P=n,t.R=i,t.L=3*n/12,t.B=3*n/12,t.Wi=9*n/12,t.N=0,t.km=4*n/12,t.Fi.Qe()}return this.k}hp(t){this.Av.style.cursor=1===t?"ew-resize":"default"}bm(){const t=this.Mp.$t(),i=t.W();i.leftPriceScale.visible||null===this.am||(this.fm.removeChild(this.am.Hv()),this.am.S(),this.am=null),i.rightPriceScale.visible||null===this.om||(this.vm.removeChild(this.om.Hv()),this.om.S(),this.om=null);const n={ed:this.Mp.$t().ed()},s=()=>i.leftPriceScale.borderVisible&&t.St().W().borderVisible,e=()=>t._d();i.leftPriceScale.visible&&null===this.am&&(this.am=new As("left",i,n,s,e),this.fm.appendChild(this.am.Hv())),i.rightPriceScale.visible&&null===this.om&&(this.om=new As("right",i,n,s,e),this.vm.appendChild(this.om.Hv()))}}const Ls=!!es&&!!navigator.userAgentData&&navigator.userAgentData.brands.some((t=>t.brand.includes("Chromium")))&&!!es&&((null===(Ns=null===navigator||void 0===navigator?void 0:navigator.userAgentData)||void 0===Ns?void 0:Ns.platform)?"Windows"===navigator.userAgentData.platform:navigator.userAgent.toLowerCase().indexOf("win")>=0);var Ns;class Fs{constructor(t,i,n){var s;this.Om=[],this.Am=0,this.Qa=0,this.e_=0,this.Bm=0,this.Vm=0,this.zm=null,this.Em=!1,this.cp=new k,this.dp=new k,this.xc=new k,this.Im=null,this.Lm=null,this.Nm=t,this._n=i,this.N_=n,this.dm=document.createElement("div"),this.dm.classList.add("tv-lightweight-charts"),this.dm.style.overflow="hidden",this.dm.style.direction="ltr",this.dm.style.width="100%",this.dm.style.height="100%",(s=this.dm).style.userSelect="none",s.style.webkitUserSelect="none",s.style.msUserSelect="none",s.style.MozUserSelect="none",s.style.webkitTapHighlightColor="transparent",this.Fm=document.createElement("table"),this.Fm.setAttribute("cellspacing","0"),this.dm.appendChild(this.Fm),this.Wm=this.jm.bind(this),Ws(this._n)&&this.Hm(!0),this.Hi=new An(this.yc.bind(this),this._n,n),this.$t().jc().l(this.$m.bind(this),this),this.Um=new Is(this,this.N_),this.Fm.appendChild(this.Um.Hv());const e=i.autoSize&&this.qm();let r=this._n.width,h=this._n.height;if(e||0===r||0===h){const i=t.getBoundingClientRect();r=r||i.width,h=h||i.height}this.Ym(r,h),this.Xm(),t.appendChild(this.dm),this.Km(),this.Hi.St().Gu().l(this.Hi.$l.bind(this.Hi),this),this.Hi.f_().l(this.Hi.$l.bind(this.Hi),this)}$t(){return this.Hi}W(){return this._n}Zm(){return this.Om}Gm(){return this.Um}S(){this.Hm(!1),0!==this.Am&&window.cancelAnimationFrame(this.Am),this.Hi.jc().p(this),this.Hi.St().Gu().p(this),this.Hi.f_().p(this),this.Hi.S();for(const t of this.Om)this.Fm.removeChild(t.Hv()),t.Wp().p(this),t.jp().p(this),t.S();this.Om=[],f(this.Um).S(),null!==this.dm.parentElement&&this.dm.parentElement.removeChild(this.dm),this.xc.S(),this.cp.S(),this.dp.S(),this.Jm()}Ym(t,i,n=!1){if(this.Qa===i&&this.e_===t)return;const s=function(t){const i=Math.floor(t.width),n=Math.floor(t.height);return Gn({width:i-i%2,height:n-n%2})}(Gn({width:t,height:i}));this.Qa=s.height,this.e_=s.width;const e=this.Qa+"px",r=this.e_+"px";f(this.dm).style.height=e,f(this.dm).style.width=r,this.Fm.style.height=e,this.Fm.style.width=r,n?this.Qm(lt.ns(),performance.now()):this.Hi.$l()}Gv(t){void 0===t&&(t=lt.ns());for(let i=0;i{let s=0;for(let e=0;e{f("left"===i?this.Um.wm():this.Um.gm()).rp(f(t),n,s)};if(this._n.timeScale.visible){const i=this.Um.ep();if(null!==t){let e=0;this.eb()&&(r("left",e,n),e=f(s.Gp()).ep().width),this.Um.rp(t,e,n),e+=i.width,this.rb()&&r("right",e,n)}n+=i.height}return Gn({width:i,height:n})}_b(){let t=0,i=0,n=0;for(const s of this.Om)this.eb()&&(i=Math.max(i,f(s.Gp()).Uv(),this._n.leftPriceScale.minimumWidth)),this.rb()&&(n=Math.max(n,f(s.Jp()).Uv(),this._n.rightPriceScale.minimumWidth)),t+=s.v_();i=ls(i),n=ls(n);const s=this.e_,e=this.Qa,r=Math.max(s-i-n,0),h=this._n.timeScale.visible;let l=h?Math.max(this.Um.Sm(),this._n.timeScale.minimumHeight):0;var a;l=(a=l)+a%2;const o=0+l,_=e{t.Dp()})),3===(null===(n=this.zm)||void 0===n?void 0:n.Fn())&&(this.zm.Jn(t),this.cb(),this.fb(this.zm),this.vb(this.zm,i),t=this.zm,this.zm=null)),this.Gv(t)}vb(t,i){for(const n of t.Gn())this.Qn(n,i)}fb(t){const i=this.Hi.Nc();for(let n=0;n{if(this.Em=!1,this.Am=0,null!==this.zm){const i=this.zm;this.zm=null,this.Qm(i,t);for(const n of i.Gn())if(5===n.$n&&!n.Ot.Yu(t)){this.$t().qn(n.Ot);break}}})))}cb(){this.Xm()}Xm(){const t=this.Hi.Nc(),i=t.length,n=this.Om.length;for(let t=i;t{const n=i.Bn().il(t);null!==n&&e.set(i,n)}))}let r;if(null!==t){const i=null===(s=this.Hi.St().$i(t))||void 0===s?void 0:s.originalTime;void 0!==i&&(r=i)}const h=this.$t().Vc(),l=null!==h&&h.Ec instanceof qi?h.Ec:void 0,a=null!==h&&void 0!==h.mv?h.mv.mr:void 0;return{wb:r,ie:null!=t?t:void 0,gb:null!=i?i:void 0,Mb:l,xb:e,Sb:a,yb:null!=n?n:void 0}}pb(t,i,n){this.cp.m((()=>this.bb(t,i,n)))}mb(t,i,n){this.dp.m((()=>this.bb(t,i,n)))}$m(t,i,n){this.xc.m((()=>this.bb(t,i,n)))}Km(){const t=this._n.timeScale.visible?"":"none";this.Um.Hv().style.display=t}eb(){return this.Om[0].Zv().S_().W().visible}rb(){return this.Om[0].Zv().y_().W().visible}qm(){return"ResizeObserver"in window&&(this.Im=new ResizeObserver((t=>{const i=t.find((t=>t.target===this.Nm));i&&this.Ym(i.contentRect.width,i.contentRect.height)})),this.Im.observe(this.Nm,{box:"border-box"}),!0)}Jm(){null!==this.Im&&this.Im.disconnect(),this.Im=null}}function Ws(t){return Boolean(t.handleScroll.mouseWheel||t.handleScale.mouseWheel)}function js(t,i){var n={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&i.indexOf(s)<0&&(n[s]=t[s]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var e=0;for(s=Object.getOwnPropertySymbols(t);efunction(t,i){return i?i(t):void 0===(n=t).open&&void 0===n.value;var n}(s,h)?Zs({ot:i,ie:n,wb:e},s):Zs(t(i,n,s,e,r),s)}function Js(t){return{Candlestick:Gs(Ys),Bar:Gs(qs),Area:Gs($s),Baseline:Gs(Us),Histogram:Gs(Hs),Line:Gs(Hs),Custom:Gs(Xs)}[t]}function Qs(t){return{ie:0,Cb:new Map,ia:t}}function te(t,i){if(void 0!==t&&0!==t.length)return{Tb:i.key(t[0].ot),Pb:i.key(t[t.length-1].ot)}}function ie(t){let i;return t.forEach((t=>{void 0===i&&(i=t.wb)})),d(i)}class ne{constructor(t){this.Rb=new Map,this.Db=new Map,this.Ob=new Map,this.Ab=[],this.N_=t}S(){this.Rb.clear(),this.Db.clear(),this.Ob.clear(),this.Ab=[]}Bb(t,i){let n=0!==this.Rb.size,s=!1;const e=this.Db.get(t);if(void 0!==e)if(1===this.Db.size)n=!1,s=!0,this.Rb.clear();else for(const i of this.Ab)i.pointData.Cb.delete(t)&&(s=!0);let r=[];if(0!==i.length){const n=i.map((t=>t.time)),e=this.N_.createConverterToInternalObj(i),h=Js(t.Yh()),l=t.ga(),a=t.Ma();r=i.map(((i,r)=>{const o=e(i.time),_=this.N_.key(o);let u=this.Rb.get(_);void 0===u&&(u=Qs(o),this.Rb.set(_,u),s=!0);const c=h(o,u.ie,i,n[r],l,a);return u.Cb.set(t,c),c}))}n&&this.Vb(),this.zb(t,r);let h=-1;if(s){const t=[];this.Rb.forEach((i=>{t.push({timeWeight:0,time:i.ia,pointData:i,originalTime:ie(i.Cb)})})),t.sort(((t,i)=>this.N_.key(t.time)-this.N_.key(i.time))),h=this.Eb(t)}return this.Ib(t,h,function(t,i,n){const s=te(t,n),e=te(i,n);if(void 0!==s&&void 0!==e)return{Xl:s.Pb>=e.Pb&&s.Tb>=e.Tb}}(this.Db.get(t),e,this.N_))}ld(t){return this.Bb(t,[])}Lb(t,i){const n=i;!function(t){void 0===t.wb&&(t.wb=t.time)}(n),this.N_.preprocessData(i);const s=this.N_.createConverterToInternalObj([i])(i.time),e=this.Ob.get(t);if(void 0!==e&&this.N_.key(s)this.N_.key(t.time)this.N_.key(s.ot)?Ks(i)&&n.push(i):Ks(i)?n[n.length-1]=i:n.splice(-1,1),this.Ob.set(t,i.ot)}zb(t,i){0!==i.length?(this.Db.set(t,i.filter(Ks)),this.Ob.set(t,i[i.length-1].ot)):(this.Db.delete(t),this.Ob.delete(t))}Vb(){for(const t of this.Ab)0===t.pointData.Cb.size&&this.Rb.delete(this.N_.key(t.time))}Eb(t){let i=-1;for(let n=0;n{0!==i.length&&(t=Math.max(t,i[i.length-1].ie))})),t}Ib(t,i,n){const s={Wb:new Map,St:{Au:this.Fb()}};if(-1!==i)this.Db.forEach(((i,e)=>{s.Wb.set(e,{We:i,jb:e===t?n:void 0})})),this.Db.has(t)||s.Wb.set(t,{We:[],jb:n}),s.St.Hb=this.Ab,s.St.$b=i;else{const i=this.Db.get(t);s.Wb.set(t,{We:i||[],jb:n})}return s}}function se(t,i){t.ie=i,t.Cb.forEach((t=>{t.ie=i}))}function ee(t){const i={value:t.Ot[3],time:t.wb};return void 0!==t.kb&&(i.customValues=t.kb),i}function re(t){const i=ee(t);return void 0!==t.O&&(i.color=t.O),i}function he(t){const i=ee(t);return void 0!==t.lt&&(i.lineColor=t.lt),void 0!==t.ks&&(i.topColor=t.ks),void 0!==t.Cs&&(i.bottomColor=t.Cs),i}function le(t){const i=ee(t);return void 0!==t.Ce&&(i.topLineColor=t.Ce),void 0!==t.Te&&(i.bottomLineColor=t.Te),void 0!==t.Me&&(i.topFillColor1=t.Me),void 0!==t.xe&&(i.topFillColor2=t.xe),void 0!==t.Se&&(i.bottomFillColor1=t.Se),void 0!==t.ye&&(i.bottomFillColor2=t.ye),i}function ae(t){const i={open:t.Ot[0],high:t.Ot[1],low:t.Ot[2],close:t.Ot[3],time:t.wb};return void 0!==t.kb&&(i.customValues=t.kb),i}function oe(t){const i=ae(t);return void 0!==t.O&&(i.color=t.O),i}function _e(t){const i=ae(t),{O:n,At:s,Hh:e}=t;return void 0!==n&&(i.color=n),void 0!==s&&(i.borderColor=s),void 0!==e&&(i.wickColor=e),i}function ue(t){return{Area:he,Line:re,Baseline:le,Histogram:re,Bar:oe,Candlestick:_e,Custom:ce}[t]}function ce(t){const i=t.wb;return Object.assign(Object.assign({},t.We),{time:i})}const de={vertLine:{color:"#9598A1",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:"#131722"},horzLine:{color:"#9598A1",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:"#131722"},mode:1},fe={vertLines:{color:"#D6DCDE",style:0,visible:!0},horzLines:{color:"#D6DCDE",style:0,visible:!0}},ve={background:{type:"solid",color:"#FFFFFF"},textColor:"#191919",fontSize:12,fontFamily:V},pe={autoScale:!0,mode:0,invertScale:!1,alignLabels:!0,borderVisible:!0,borderColor:"#2B2B43",entireTextOnly:!1,visible:!1,ticksVisible:!1,scaleMargins:{bottom:.1,top:.2},minimumWidth:0},me={rightOffset:0,barSpacing:6,minBarSpacing:.5,fixLeftEdge:!1,fixRightEdge:!1,lockVisibleTimeRangeOnResize:!1,rightBarStaysOnScroll:!1,borderVisible:!0,borderColor:"#2B2B43",visible:!0,timeVisible:!1,secondsVisible:!0,shiftVisibleRangeOnNewBar:!0,allowShiftVisibleRangeOnWhitespaceReplacement:!1,ticksVisible:!1,uniformDistribution:!1,minimumHeight:0,allowBoldLabels:!0},be={color:"rgba(0, 0, 0, 0)",visible:!1,fontSize:48,fontFamily:V,fontStyle:"",text:"",horzAlign:"center",vertAlign:"center"};function we(){return{width:0,height:0,autoSize:!1,layout:ve,crosshair:de,grid:fe,overlayPriceScales:Object.assign({},pe),leftPriceScale:Object.assign(Object.assign({},pe),{visible:!1}),rightPriceScale:Object.assign(Object.assign({},pe),{visible:!0}),timeScale:me,watermark:be,localization:{locale:es?navigator.language:"",dateFormat:"dd MMM 'yy"},handleScroll:{mouseWheel:!0,pressedMouseMove:!0,horzTouchDrag:!0,vertTouchDrag:!0},handleScale:{axisPressedMouseMove:{time:!0,price:!0},axisDoubleClickReset:{time:!0,price:!0},mouseWheel:!0,pinch:!0},kineticScroll:{mouse:!1,touch:!0},trackingMode:{exitMode:1}}}class ge{constructor(t,i){this.Ub=t,this.qb=i}applyOptions(t){this.Ub.$t().Ic(this.qb,t)}options(){return this.Ei().W()}width(){return ht(this.qb)?this.Ub.sb(this.qb):0}Ei(){return f(this.Ub.$t().Lc(this.qb)).Dt}}function Me(t,i,n){const s=js(t,["time","originalTime"]),e=Object.assign({time:i},s);return void 0!==n&&(e.originalTime=n),e}const xe={color:"#FF0000",price:0,lineStyle:2,lineWidth:1,lineVisible:!0,axisLabelVisible:!0,title:"",axisLabelColor:"",axisLabelTextColor:""};class Se{constructor(t){this.Bh=t}applyOptions(t){this.Bh.Lh(t)}options(){return this.Bh.W()}Yb(){return this.Bh}}class ye{constructor(t,i,n,s,e){this.Xb=new k,this.zs=t,this.Kb=i,this.Zb=n,this.N_=e,this.Gb=s}S(){this.Xb.S()}priceFormatter(){return this.zs.ca()}priceToCoordinate(t){const i=this.zs.Ct();return null===i?null:this.zs.Dt().Rt(t,i.Ot)}coordinateToPrice(t){const i=this.zs.Ct();return null===i?null:this.zs.Dt().fn(t,i.Ot)}barsInLogicalRange(t){if(null===t)return null;const i=new gn(new mn(t.from,t.to)).iu(),n=this.zs.Bn();if(n.Li())return null;const s=n.il(i.Rs(),1),e=n.il(i.ui(),-1),r=f(n.Jh()),h=f(n.An());if(null!==s&&null!==e&&s.ie>e.ie)return{barsBefore:t.from-r,barsAfter:h-t.to};const l={barsBefore:null===s||s.ie===r?t.from-r:s.ie-r,barsAfter:null===e||e.ie===h?h-t.to:h-e.ie};return null!==s&&null!==e&&(l.from=s.wb,l.to=e.wb),l}setData(t){this.N_,this.zs.Yh(),this.Kb.Jb(this.zs,t),this.Qb("full")}update(t){this.zs.Yh(),this.Kb.tw(this.zs,t),this.Qb("update")}dataByIndex(t,i){const n=this.zs.Bn().il(t,i);if(null===n)return null;return ue(this.seriesType())(n)}data(){const t=ue(this.seriesType());return this.zs.Bn().Qs().map((i=>t(i)))}subscribeDataChanged(t){this.Xb.l(t)}unsubscribeDataChanged(t){this.Xb.v(t)}setMarkers(t){this.N_;const i=t.map((t=>Me(t,this.N_.convertHorzItemToInternal(t.time),t.time)));this.zs.Zl(i)}markers(){return this.zs.Gl().map((t=>Me(t,t.originalTime,void 0)))}applyOptions(t){this.zs.Lh(t)}options(){return O(this.zs.W())}priceScale(){return this.Zb.priceScale(this.zs.Dt().xa())}createPriceLine(t){const i=C(O(xe),t),n=this.zs.Jl(i);return new Se(n)}removePriceLine(t){this.zs.Ql(t.Yb())}seriesType(){return this.zs.Yh()}attachPrimitive(t){this.zs.ba(t),t.attached&&t.attached({chart:this.Gb,series:this,requestUpdate:()=>this.zs.$t().$l()})}detachPrimitive(t){this.zs.wa(t),t.detached&&t.detached()}Qb(t){this.Xb.M()&&this.Xb.m(t)}}class ke{constructor(t,i,n){this.iw=new k,this.uu=new k,this.um=new k,this.Hi=t,this.wl=t.St(),this.Um=i,this.wl.Ku().l(this.nw.bind(this)),this.wl.Zu().l(this.sw.bind(this)),this.Um.Mm().l(this.ew.bind(this)),this.N_=n}S(){this.wl.Ku().p(this),this.wl.Zu().p(this),this.Um.Mm().p(this),this.iw.S(),this.uu.S(),this.um.S()}scrollPosition(){return this.wl.Iu()}scrollToPosition(t,i){i?this.wl.qu(t,1e3):this.Hi.Zn(t)}scrollToRealTime(){this.wl.Uu()}getVisibleRange(){const t=this.wl.ku();return null===t?null:{from:t.from.originalTime,to:t.to.originalTime}}setVisibleRange(t){const i={from:this.N_.convertHorzItemToInternal(t.from),to:this.N_.convertHorzItemToInternal(t.to)},n=this.wl.Ru(i);this.Hi.ad(n)}getVisibleLogicalRange(){const t=this.wl.yu();return null===t?null:{from:t.Rs(),to:t.ui()}}setVisibleLogicalRange(t){c(t.from<=t.to,"The from index cannot be after the to index."),this.Hi.ad(t)}resetTimeScale(){this.Hi.Xn()}fitContent(){this.Hi.Qu()}logicalToCoordinate(t){const i=this.Hi.St();return i.Li()?null:i.zt(t)}coordinateToLogical(t){return this.wl.Li()?null:this.wl.Bu(t)}timeToCoordinate(t){const i=this.N_.convertHorzItemToInternal(t),n=this.wl.ka(i,!1);return null===n?null:this.wl.zt(n)}coordinateToTime(t){const i=this.Hi.St(),n=i.Bu(t),s=i.$i(n);return null===s?null:s.originalTime}width(){return this.Um.Up().width}height(){return this.Um.Up().height}subscribeVisibleTimeRangeChange(t){this.iw.l(t)}unsubscribeVisibleTimeRangeChange(t){this.iw.v(t)}subscribeVisibleLogicalRangeChange(t){this.uu.l(t)}unsubscribeVisibleLogicalRangeChange(t){this.uu.v(t)}subscribeSizeChange(t){this.um.l(t)}unsubscribeSizeChange(t){this.um.v(t)}applyOptions(t){this.wl.Lh(t)}options(){return Object.assign(Object.assign({},O(this.wl.W())),{barSpacing:this.wl.ee()})}nw(){this.iw.M()&&this.iw.m(this.getVisibleRange())}sw(){this.uu.M()&&this.uu.m(this.getVisibleLogicalRange())}ew(t){this.um.m(t.width,t.height)}}function Ce(t){if(void 0===t||"custom"===t.type)return;const i=t;void 0!==i.minMove&&void 0===i.precision&&(i.precision=function(t){if(t>=1)return 0;let i=0;for(;i<8;i++){const n=Math.round(t);if(Math.abs(n-t)<1e-8)return i;t*=10}return i}(i.minMove))}function Te(t){return function(t){if(D(t.handleScale)){const i=t.handleScale;t.handleScale={axisDoubleClickReset:{time:i,price:i},axisPressedMouseMove:{time:i,price:i},mouseWheel:i,pinch:i}}else if(void 0!==t.handleScale){const{axisPressedMouseMove:i,axisDoubleClickReset:n}=t.handleScale;D(i)&&(t.handleScale.axisPressedMouseMove={time:i,price:i}),D(n)&&(t.handleScale.axisDoubleClickReset={time:n,price:n})}const i=t.handleScroll;D(i)&&(t.handleScroll={horzTouchDrag:i,vertTouchDrag:i,mouseWheel:i,pressedMouseMove:i})}(t),t}class Pe{constructor(t,i,n){this.rw=new Map,this.hw=new Map,this.lw=new k,this.aw=new k,this.ow=new k,this._w=new ne(i);const s=void 0===n?O(we()):C(O(we()),Te(n));this.N_=i,this.Ub=new Fs(t,s,i),this.Ub.Wp().l((t=>{this.lw.M()&&this.lw.m(this.uw(t()))}),this),this.Ub.jp().l((t=>{this.aw.M()&&this.aw.m(this.uw(t()))}),this),this.Ub.jc().l((t=>{this.ow.M()&&this.ow.m(this.uw(t()))}),this);const e=this.Ub.$t();this.cw=new ke(e,this.Ub.Gm(),this.N_)}remove(){this.Ub.Wp().p(this),this.Ub.jp().p(this),this.Ub.jc().p(this),this.cw.S(),this.Ub.S(),this.rw.clear(),this.hw.clear(),this.lw.S(),this.aw.S(),this.ow.S(),this._w.S()}resize(t,i,n){this.autoSizeActive()||this.Ub.Ym(t,i,n)}addCustomSeries(t,i){const n=v(t),s=Object.assign(Object.assign({},h),n.defaultOptions());return this.dw("Custom",s,i,n)}addAreaSeries(t){return this.dw("Area",s,t)}addBaselineSeries(t){return this.dw("Baseline",e,t)}addBarSeries(t){return this.dw("Bar",i,t)}addCandlestickSeries(i={}){return function(t){void 0!==t.borderColor&&(t.borderUpColor=t.borderColor,t.borderDownColor=t.borderColor),void 0!==t.wickColor&&(t.wickUpColor=t.wickColor,t.wickDownColor=t.wickColor)}(i),this.dw("Candlestick",t,i)}addHistogramSeries(t){return this.dw("Histogram",r,t)}addLineSeries(t){return this.dw("Line",n,t)}removeSeries(t){const i=d(this.rw.get(t)),n=this._w.ld(i);this.Ub.$t().ld(i),this.fw(n),this.rw.delete(t),this.hw.delete(i)}Jb(t,i){this.fw(this._w.Bb(t,i))}tw(t,i){this.fw(this._w.Lb(t,i))}subscribeClick(t){this.lw.l(t)}unsubscribeClick(t){this.lw.v(t)}subscribeCrosshairMove(t){this.ow.l(t)}unsubscribeCrosshairMove(t){this.ow.v(t)}subscribeDblClick(t){this.aw.l(t)}unsubscribeDblClick(t){this.aw.v(t)}priceScale(t){return new ge(this.Ub,t)}timeScale(){return this.cw}applyOptions(t){this.Ub.Lh(Te(t))}options(){return this.Ub.W()}takeScreenshot(){return this.Ub.ib()}autoSizeActive(){return this.Ub.hb()}chartElement(){return this.Ub.lb()}paneSize(){const t=this.Ub.ob();return{height:t.height,width:t.width}}setCrosshairPosition(t,i,n){const s=this.rw.get(n);if(void 0===s)return;const e=this.Ub.$t()._r(s);null!==e&&this.Ub.$t().td(t,i,e)}clearCrosshairPosition(){this.Ub.$t().nd(!0)}dw(t,i,n={},s){Ce(n.priceFormat);const e=C(O(l),O(i),n),r=this.Ub.$t().rd(t,e,s),h=new ye(r,this,this,this,this.N_);return this.rw.set(h,r),this.hw.set(r,h),h}fw(t){const i=this.Ub.$t();i.sd(t.St.Au,t.St.Hb,t.St.$b),t.Wb.forEach(((t,i)=>i.J(t.We,t.jb))),i.zu()}pw(t){return d(this.hw.get(t))}uw(t){const i=new Map;t.xb.forEach(((t,n)=>{const s=n.Yh(),e=ue(s)(t);if("Custom"!==s)c(function(t){return void 0!==t.open||void 0!==t.value}(e));else{const t=n.Ma();c(!t||!1===t(e))}i.set(this.pw(n),e)}));const n=void 0===t.Mb?void 0:this.pw(t.Mb);return{time:t.wb,logical:t.ie,point:t.gb,hoveredSeries:n,hoveredObjectId:t.Sb,seriesData:i,sourceEvent:t.yb}}}function Re(t,i,n){let s;if(R(t)){const i=document.getElementById(t);c(null!==i,`Cannot find element in DOM with id=${t}`),s=i}else s=t;const e=new Pe(s,i,n);return i.setOptions(e.options()),e}const De=Object.assign(Object.assign({},l),h);var Oe=Object.freeze({__proto__:null,get ColorType(){return Dn},get CrosshairMode(){return et},get LastPriceAnimationMode(){return Pn},get LineStyle(){return o},get LineType(){return a},get MismatchDirection(){return Ai},get PriceLineSource(){return Rn},get PriceScaleMode(){return un},get TickMarkType(){return On},get TrackingModeExitMode(){return Tn},createChart:function(t,i){return Re(t,new Zn,Zn.Pd(i))},createChartEx:Re,customSeriesDefaultOptions:De,isBusinessDay:Bn,isUTCTimestamp:Vn,version:function(){return"4.1.3"}});window.LightweightCharts=Oe}(); \ No newline at end of file diff --git a/v2realbot/static/js/utils/utils.js b/v2realbot/static/js/utils/utils.js index 689e0ce..72ebc89 100644 --- a/v2realbot/static/js/utils/utils.js +++ b/v2realbot/static/js/utils/utils.js @@ -371,9 +371,10 @@ function initialize_chart() { } chart = LightweightCharts.createChart(document.getElementById('chart'), chartOptions); - chart.applyOptions({ timeScale: { visible: true, timeVisible: true, secondsVisible: true }, crosshair: { + chart.applyOptions({ timeScale: { visible: true, timeVisible: true, secondsVisible: true, minBarSpacing: 0.003}, crosshair: { mode: LightweightCharts.CrosshairMode.Normal, labelVisible: true }}) + console.log("chart intiialized") } //mozna atributy last value visible diff --git a/v2realbot/tools/loadbatch.py b/v2realbot/tools/loadbatch.py index 7f7257f..e5b2e7a 100644 --- a/v2realbot/tools/loadbatch.py +++ b/v2realbot/tools/loadbatch.py @@ -9,7 +9,7 @@ from typing import List from enum import Enum import numpy as np import v2realbot.controller.services as cs -from rich import print +from rich import print as richprint from v2realbot.common.model import AnalyzerInputs from v2realbot.common.PrescribedTradeModel import TradeDirection, TradeStatus, Trade, TradeStoplossType from v2realbot.utils.utils import isrising, isfalling,zoneNY, price2dec, safe_get#, print @@ -94,7 +94,11 @@ def convert_to_dataframe(ohlcv): return df -def load_batch(runner_ids: List = None, batch_id: str = None, space_resolution_evenly = False, main_session_only = True, merge_ind2bars = True, bars_columns = ['Open', 'High', 'Low', 'Close', 'Volume', 'Vwap'], indicators_columns = []) -> Tuple[int, dict]: +def print(v, *args, **kwargs): + if v: + richprint(*args, **kwargs) + +def load_batch(runner_ids: List = None, batch_id: str = None, space_resolution_evenly = False, main_session_only = True, merge_ind2bars = True, bars_columns = ['Open', 'High', 'Low', 'Close', 'Volume', 'Vwap'], indicators_columns = [], verbose = False) -> Tuple[int, dict]: """Load batches (all runners from single batch) into pandas dataframes Args: @@ -136,7 +140,7 @@ def load_batch(runner_ids: List = None, batch_id: str = None, space_resolution_e if resolution is None: resolution = sada["bars"]["resolution"][0] - print(f"Resolution : {resolution}") + print(verbose, f"Resolution : {resolution}") #add daily bars limited to required columns, we keep updated as its mapping column to indicators bars = convert_to_dataframe(sada["bars"])[bars_columns + ["updated"]] @@ -169,11 +173,11 @@ def load_batch(runner_ids: List = None, batch_id: str = None, space_resolution_e num_duplicates = concat_df.index.duplicated().sum() if num_duplicates > 0: - print(f"NOTE: DUPLICATES {num_duplicates}/{len(concat_df)} in {key}. REMOVING.") + print(verbose, f"NOTE: DUPLICATES {num_duplicates}/{len(concat_df)} in {key}. REMOVING.") concat_df = concat_df[~concat_df.index.duplicated()] num_duplicates = concat_df.index.duplicated().sum() - print(f"Now there are {num_duplicates}/{len(concat_df)}") + print(verbose, f"Now there are {num_duplicates}/{len(concat_df)}") if space_resolution_evenly and key != "cbar_indicators": # Apply rounding to the datetime index according to resolution (in seconds) diff --git a/v2realbot/utils/config_handler.py b/v2realbot/utils/config_handler.py index 042dec1..400c9ba 100644 --- a/v2realbot/utils/config_handler.py +++ b/v2realbot/utils/config_handler.py @@ -5,6 +5,7 @@ from alpaca.data.enums import DataFeed import v2realbot.utils.config_defaults as config_defaults from v2realbot.enums.enums import FillCondition from rich import print +# from v2realbot.utils.utils import print def aggregate_configurations(module): return {key: getattr(module, key) for key in dir(module) if key.isupper()} @@ -48,8 +49,8 @@ class ConfigHandler: self.active_config = self.default_config.copy() self.active_config.update(override_configuration) self.active_profile = profile_name - print(f"Profile {profile_name} loaded successfully.") - print("Current values:", self.active_config) + #print(f"Profile {profile_name} loaded successfully.") + #print("Current values:", self.active_config) else: print(f"Profile {profile_name} does not exist in config item: {config_directive}") except Exception as e: @@ -102,8 +103,8 @@ class ConfigHandler: # Global configuratio - it is imported by modules that need it. In the future can be changed to Dependency Ingestion (each service will have the config instance as input parameter) config_handler = ConfigHandler() -print(f"{config_handler.active_profile=}") -print("config handler initialized") +#print(f"{config_handler.active_profile=}") +#print("config handler initialized") #this is how to get value #config_handler.get_val('BT_FILL_PRICE_MARKET_ORDER_PREMIUM')