From 615757ff279f09c107b2e0b6e636eba061d53456 Mon Sep 17 00:00:00 2001 From: archmoj Date: Tue, 5 May 2020 15:09:49 -0400 Subject: [PATCH 1/4] improve handling of gaps in distinctVals --- src/lib/search.js | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/src/lib/search.js b/src/lib/search.js index 46298ef3cb6..8309cc5e90a 100644 --- a/src/lib/search.js +++ b/src/lib/search.js @@ -12,6 +12,7 @@ var isNumeric = require('fast-isnumeric'); var loggers = require('./loggers'); var identity = require('./identity'); +var BADNUM = require('../constants/numerical').BADNUM; // don't trust floating point equality - fraction of bin size to call // "on the line" and ensure that they go the right way specified by @@ -74,20 +75,39 @@ exports.distinctVals = function(valsIn) { var vals = valsIn.slice(); // otherwise we sort the original array... vals.sort(exports.sorterAsc); - var l = vals.length - 1; - var minDiff = (vals[l] - vals[0]) || 1; - var errDiff = minDiff / (l || 1) / 10000; - var v2 = [vals[0]]; + var first; + for(first = 0; first < vals.length; first++) { + if(vals[first] !== BADNUM) break; + } + + var last; + for(last = vals.length - 1; last > -1; last--) { + if(vals[last] !== BADNUM) break; + } + + var minDiff = (vals[last] - vals[first]) || 1; + var errDiff = minDiff / ((last - first) || 1) / 10000; + var newVals = []; + var preV; + for(var i = first; i <= last; i++) { + var v = vals[i]; + if(v === BADNUM) continue; - for(var i = 0; i < l; i++) { // make sure values aren't just off by a rounding error - if(vals[i + 1] > vals[i] + errDiff) { - minDiff = Math.min(minDiff, vals[i + 1] - vals[i]); - v2.push(vals[i + 1]); + var diff = v - preV; + + if(preV === undefined) { + newVals.push(v); + preV = v; + } else if(diff > errDiff) { + minDiff = Math.min(minDiff, diff); + + newVals.push(v); + preV = v; } } - return {vals: v2, minDiff: minDiff}; + return {vals: newVals, minDiff: minDiff}; }; /** From 97f6b7b4db2eb47e4e000437de7f0b3095480fb8 Mon Sep 17 00:00:00 2001 From: archmoj Date: Tue, 5 May 2020 16:54:13 -0400 Subject: [PATCH 2/4] add new mock to lock issue 4742 --- .../baselines/axes_breaks-candlestick.png | Bin 0 -> 17391 bytes test/image/mocks/axes_breaks-candlestick.json | 75 ++++++++++++++++++ test/jasmine/tests/mock_test.js | 2 + 3 files changed, 77 insertions(+) create mode 100644 test/image/baselines/axes_breaks-candlestick.png create mode 100644 test/image/mocks/axes_breaks-candlestick.json diff --git a/test/image/baselines/axes_breaks-candlestick.png b/test/image/baselines/axes_breaks-candlestick.png new file mode 100644 index 0000000000000000000000000000000000000000..edb0d947459bfe084fe5730d964512eaecd1a949 GIT binary patch literal 17391 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 CI2N-2 literal 0 HcmV?d00001 diff --git a/test/image/mocks/axes_breaks-candlestick.json b/test/image/mocks/axes_breaks-candlestick.json new file mode 100644 index 00000000000..d79607a1402 --- /dev/null +++ b/test/image/mocks/axes_breaks-candlestick.json @@ -0,0 +1,75 @@ +{ + "data": [ + { + "type": "candlestick", + "x": [ + "2020-01-02 17:00", + "2020-01-02 17:10", + "2020-01-02 17:20", + "2020-01-02 17:30", + "2020-01-02 17:40", + "2020-01-02 17:50", + "2020-01-02 18:00", + "2020-01-02 18:10" + ], + "open": [ + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10 + ], + "high": [ + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 14 + ], + "low": [ + 8, + 8, + 8, + 8, + 8, + 8, + 3, + 8 + ], + "close": [ + 12, + 7, + 11, + 10.5, + 9, + 8.5, + 3, + 14 + ] + } + ], + "layout": { + "width": 600, + "height": 400, + "title": { + "text": "Candlestick with rangebreaks" + }, + "xaxis": { + "rangebreaks": [ + { + "pattern": "hour", + "bounds": [ + 18, + 9 + ] + } + ] + } + } +} diff --git a/test/jasmine/tests/mock_test.js b/test/jasmine/tests/mock_test.js index 884553d52aa..e0b8b47ab6e 100644 --- a/test/jasmine/tests/mock_test.js +++ b/test/jasmine/tests/mock_test.js @@ -50,6 +50,7 @@ var list = [ 'autorange-tozero-rangemode', 'axes_booleans', 'axes_breaks', + 'axes_breaks-candlestick', 'axes_breaks-finance', 'axes_breaks-gridlines', 'axes_breaks-night_autorange-reversed', @@ -1078,6 +1079,7 @@ figs['automargin-title-standoff'] = require('@mocks/automargin-title-standoff'); figs['autorange-tozero-rangemode'] = require('@mocks/autorange-tozero-rangemode'); // figs['axes_booleans'] = require('@mocks/axes_booleans'); figs['axes_breaks'] = require('@mocks/axes_breaks'); +figs['axes_breaks-candlestick'] = require('@mocks/axes_breaks-candlestick'); figs['axes_breaks-finance'] = require('@mocks/axes_breaks-finance'); figs['axes_breaks-gridlines'] = require('@mocks/axes_breaks-gridlines'); figs['axes_breaks-night_autorange-reversed'] = require('@mocks/axes_breaks-night_autorange-reversed'); From 8a4bae3333621ff4d75d1b82defe2613c959fbc8 Mon Sep 17 00:00:00 2001 From: archmoj Date: Wed, 6 May 2020 20:23:30 -0400 Subject: [PATCH 3/4] add new candlestick mock with rangebreaks - issue 4795 --- .../baselines/axes_breaks-candlestick2.png | Bin 0 -> 39486 bytes .../image/mocks/axes_breaks-candlestick2.json | 23 ++++++++++++++++++ test/jasmine/tests/mock_test.js | 2 ++ 3 files changed, 25 insertions(+) create mode 100644 test/image/baselines/axes_breaks-candlestick2.png create mode 100644 test/image/mocks/axes_breaks-candlestick2.json diff --git a/test/image/baselines/axes_breaks-candlestick2.png b/test/image/baselines/axes_breaks-candlestick2.png new file mode 100644 index 0000000000000000000000000000000000000000..326bf1dd07191be20d8d2c164279e7bdfb73660a GIT binary patch literal 39486 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 Tn~(Ao_@^NA^l{;%7vBF1V;4Pc literal 0 HcmV?d00001 diff --git a/test/image/mocks/axes_breaks-candlestick2.json b/test/image/mocks/axes_breaks-candlestick2.json new file mode 100644 index 00000000000..276fc727399 --- /dev/null +++ b/test/image/mocks/axes_breaks-candlestick2.json @@ -0,0 +1,23 @@ +{ + "data": [{ + "type": "candlestick", + "open": [ 279, 279.65, 279.27, 279.48, 279.31, 279.42, 279.6, 279.67, 279.42, 279.7, 279, 279, 278.95, 278.74, 279.19, 279.34, 279.35, 279.15, 279, 278.5, 278.4, 278.81, 278.5999, 278.45, 278.32, 278.41, 278.3, 277.95, 277.8, 278.62, 277.76, 279.58, 279.5108, 278.59, 279.1, 278.85, 278.29, 278.53, 278.58, 279.36, 279.88, 279.9916, 280.35, 281.07, 280.9, 280.96, 281.59, 281.185, 280.87, 281.14, 281.11, 280.6, 280.412, 280.56, 280.26, 280.25, 281.03, 280.66, 280.395, 280.3211, 280.27, 279.975, 280.43, 280.0776, 279.67, 279.82, 279.5271, 280.13, 280.36, 280, 280.17, 279.925, 279.56, 278.835, 278.78, 278.82, 279.24, 278.619, 279.35, 279.1, 279.21, 279.45, 279.82, 280.126, 280.03, 280, 279.935, 279.1901, 278.7799, 278.75, 278.5171, 278.96, 279.26, 279.239, 279.49, 278.449, 277.95, 277.935, 278.21, 278.39, 277.8431, 278.41, 278.3, 278.81, 278.02, 277.85, 278.41, 277.66, 276.86, 276.75, 276.45, 276.26, 276.46, 276.47, 276.3, 276.64, 276.5, 276.5, 276.6, 276.55, 276.4, 276.38, 276.21, 276.38, 276.38, 276.4599, 276.44, 276.3, 276.43, 276.3, 276.43, 276.4, 276.85, 276.67, 276.8, 276.78, 276.53, 276.72, 277.49, 277.5, 277.3, 277.45, 277.51, 277.65, 277.7, 277.75, 277.7, 277.6, 277.66, 277.65, 277.48, 277.33, 277.48, 277.05, 277.15, 274.88, 275.29, 275.2, 275.07, 275, 274.9, 274.97, 275.08, 274.65, 274.8, 274.55, 274.08, 274, 274.4, 274.21, 274, 273.89, 273.89, 273.9, 273.44, 272.5, 272, 271.8, 272.52, 272.61, 272.5, 272.47, 272.05, 272.86, 272.99, 272.75, 272.85, 272.9, 273.13, 272.7, 272.43, 272.41, 271.95, 272, 272.5, 272.15, 272, 271.75, 272, 271.98, 273.98, 276.5, 277.1, 276.55, 275.9, 275.384, 276.05, 274.85, 274.51, 274.75, 274.94, 274.65, 275.49, 276.28, 274.17, 272.37, 272.39, 272.9099, 272.81, 273.18, 273.1512, 272.37, 272.3, 270.84, 271.07, 270.65, 269.54, 269.185, 269.18, 268.1801, 268.655, 268.92, 268.76, 269.7, 268.28, 268.4004, 268.42, 267.8, 267.705, 266.55, 265.6999, 267.01, 267.7, 267.72, 266.9103, 267.15, 266.8599, 266.724, 266.51, 267, 266.84, 266.62, 266.53, 267.24, 267.49, 267.8948, 268.12, 268.085, 268.4388, 268.89, 269.12, 269.43, 269.27, 270.0841, 269.95, 268.8, 269.27, 268.98, 269.11, 270.06, 270.3442, 269.9572, 271.04, 270.64, 269.825, 268.92, 268.68, 268.54, 268.725, 268.83, 269.63, 268.65, 269.8963, 270.78, 270.305, 269.88, 269.89, 270.87, 269.6, 269.09, 268.27, 268.37, 268.52, 268.5, 268.735, 268.7, 268.5, 268.58, 268.68, 268.5, 268.55, 268.6, 268.74, 268.74, 268.6498, 269.13, 269.22, 269.3, 269.18, 269.45, 269.74, 269.67, 269.5, 269.47, 269.55, 269.73, 269.68, 269.78, 269.5, 269.59, 270.09, 270.2, 270.2, 270.23, 268.37, 270.05, 269.65, 269.76, 269.55, 269.2, 269.18, 269.29, 269.68, 269.3, 269.7, 269.8, 269.78, 269.62, 269.58, 271.98, 271.7, 271.7, 272.24, 272.43, 272.66, 272.94, 273, 273.1, 272.63, 273.3, 273.12, 273.4, 273.5, 273.7, 273.6, 273.6, 273.1, 273, 272.79, 272.8, 272.8, 273.05, 273.1, 273.08, 272.77, 272.65, 272.87, 272.72, 272.7, 272.51, 272.94, 272.72, 272.2, 272.46, 272.5, 272.4, 272.39, 272.33, 272.78, 272.72, 272.5, 272.0201, 272.18, 272.34, 272.5, 272.74, 272.8, 272.9, 273.3802, 273.3995, 273.5, 273.6, 273.65, 273.31, 273.67, 273.56, 273.45, 273.55, 273.885, 274.37, 273.48, 273.08, 272.9399, 273.68, 273.14, 273.27, 273.46, 273.86, 274.19, 273.26, 273.17, 273.64, 273.51, 273.348, 273.045, 272.72, 272.6428, 272.5634, 273.09, 273.2801, 273.28, 273.5, 273.62, 273.605, 273.75, 273.8071, 273.835, 273.62, 274.19, 274.11, 274.34, 274.54, 274.38, 274.2367, 274.17, 274.52, 274.5, 274.26, 274.08, 274.19, 274.2091, 274.16, 274.38, 274.64, 274.69, 274.88, 274.633, 274.576, 274.88, 275.38, 275.64, 275.765, 275.41, 275.4701, 275.65, 275.65, 276.01, 275.59, 275.9, 275.75, 276.51, 276.79, 276.74, 277.39, 277.23, 276.86, 276.41, 276.98, 276.9, 276.755, 276.92, 277.02, 277.36, 277.26, 277.12, 276.1, 275.73, 275.75, 275.79, 275.56, 275.67, 275.52, 275.69, 275.65, 275.65, 275.6, 275.78, 275.6, 276.1, 275.6, 275.73, 275.7, 275.7, 275.65, 275.66, 275.73, 275.8, 275.95, 276, 276, 275.2, 275.47, 275.6, 275.35, 275.35, 275.2, 275.06, 275, 274.9, 274.57, 274.51, 274.63, 274.43, 274.41, 274.4, 274.29, 274.02, 274.15, 274.28, 274.1, 274.28, 274.2, 274.37, 274.26, 274.2, 274.8, 275.4, 275.52, 275.69, 275.96, 275.8, 275.56, 275.1, 274, 274.3, 274.5, 274.5, 274.74, 274.99, 274.89, 275.35, 275.4, 275.25, 275.32, 275.42, 275.4, 275.32, 275.02, 275.14, 275.17, 275.36, 274.8, 274.6, 274.9, 275.04, 275, 275.51, 275.79, 276.05, 276.05, 276.2001, 276.25, 276.29, 275.9, 276.2, 276.32, 276.7, 276.51, 275.92, 277.75, 277.97, 278.578, 278.26, 278.09, 278.53, 279.3, 279.78, 279.68, 280.27, 280.8199, 280.59, 281.4, 281.14, 281.3996, 280.93, 280.68, 280.77, 280.411, 280.12, 280.27, 280.28, 280.035, 280.53, 279.9, 279.74, 279.83, 279.38, 279.41, 279.685, 279.4472, 279.61, 279.865, 279.692, 279.88, 280.24, 280.22, 280.22, 278.38, 278.1253, 277.71, 278.5, 279.1138, 279, 279.215, 278.6099, 277.7545, 277.43, 277.92, 277.47, 276.47, 276.06, 275.745, 276.52, 276.62, 275.71, 276.01, 276.3118, 276.93, 276.92, 277.2636, 276.78, 277.15, 277.06, 277.6794, 277.8, 277.75, 277.71, 276.78, 275.77, 276.2, 276.28, 276.22, 276.15, 276.02, 276.51, 275.77, 275.03, 274.98, 274.68, 274.08, 274, 274.07, 274.16, 274.08, 274.1, 274.6, 274.5102, 274.6, 274.51, 274.38, 274.38, 274.45, 274.29, 274.01, 274.08, 274.24, 274.05, 274.2, 274.15, 274.29, 274.22, 274.35, 274.25, 274.62, 274.3, 274.12, 274.06, 273.37, 273.49, 273.23, 273.31, 273.47, 273.49, 273.4, 273.2, 273.37, 273.15, 273.16, 273.32, 273.18, 273.25, 273.25, 273.12, 272.8, 273.3, 273.25, 273.2, 273.15, 273.1, 273.59, 273.52, 274.68, 276.1, 275.57, 275.2, 276, 275.75, 275.65, 275.66, 276, 275.99, 275.82, 275.61, 275.95, 276.08, 275.63, 275.5, 276.1, 276.1, 276.13, 276.2, 275.9, 275.87, 275.7, 275.8, 275.67, 275.8, 275.9, 276.14, 276.2, 276.36, 276.58, 276.6, 276.98, 277.3499, 276.98, 276.6427, 276.6, 276.27, 276.33, 276.1, 276.44, 277.25, 278, 278.705, 278.53, 278.29, 278.145, 277.442, 278.14, 278.05, 279.29, 279.69, 279.675, 279.5, 279.9806, 280.24, 279.99, 279.7, 279.75, 279.45, 278.5199, 278.48, 278.47, 279.1, 279.2999, 278.98, 278.62, 279.2206, 279.01, 279.45, 279.19, 278.8699, 279.273, 279.46, 279.2107, 279.4, 279.71, 280.12, 279.8757, 280.1226, 280.3998, 280.66, 280.44, 280.47, 280.57, 280.865, 280.7104, 280.75, 280.55, 280.81, 280.8, 280.92, 281.08, 281.03, 281.07, 281.3, 281.25, 281.5801, 281.63, 281.7501, 281.27, 281.27, 281.1, 281.5474, 281.4, 281.6, 281.2333, 281.21, 280.74, 281.4599, 281.37, 281.82, 281.91, 281.98, 281.76, 281.95, 282.645, 282.63, 282.73, 282.96, 282.86, 282.95, 282.95, 280.7611, 282.89, 282.92, 282.89, 282.95, 282.9, 282.9, 282.99, 282.91, 282.9, 282.88, 282.71, 282.7, 282.61, 282.52, 282.2, 282.12, 282.25, 282.3, 282.35, 282.4, 282.25, 282.28, 282.25, 282.25, 282.1, 282.09, 282.33, 282.12, 282.14, 282.06, 282.18, 282.16, 282.29, 282.25, 282.15, 282.2, 282.12, 282.15, 282.35, 282.21, 281.99], + "high": [ 279.74, 279.74, 279.63, 279.54, 279.4, 279.8, 279.7, 279.75, 279.56, 279.7, 279, 279.05, 279.39, 279.17, 279.49, 279.4399, 279.35, 279.4, 279, 278.7, 278.99, 278.82, 278.5999, 278.55, 278.49, 278.5, 278.35, 277.96, 278.73, 278.8, 280.25, 279.615, 279.75, 279.71, 279.11, 279.0499, 278.67, 278.76, 279.55, 279.93, 280.16, 280.65, 281.23, 281.4, 281.12, 281.68, 281.61, 281.46, 281.3, 281.54, 281.29, 280.79, 280.8473, 280.76, 280.3, 281.249, 281.17, 280.76, 280.4755, 280.58, 280.3967, 280.5, 280.7, 280.39, 279.885, 280, 280.3, 280.445, 280.465, 280.21, 280.24, 280.07, 279.5933, 278.9807, 279.15, 279.38, 279.24, 279.54, 279.38, 279.23, 279.6, 279.85, 280.15, 280.2, 280.3, 280.25, 280.0828, 279.27, 279, 278.9, 279.44, 279.4397, 279.4437, 279.565, 279.49, 278.58, 278.4, 278.439, 278.58, 278.827, 278.5, 278.49, 278.97, 278.81, 278.3799, 278.49, 278.54, 277.98, 277.12, 276.75, 276.93, 276.93, 276.93, 276.47, 276.66, 276.66, 276.93, 276.6, 276.6, 276.6, 276.93, 276.4, 276.21, 276.4, 276.38, 276.4599, 276.44, 276.43, 276.43, 276.3, 276.45, 276.87, 276.85, 276.93, 276.89, 276.88, 276.72, 277.86, 277.75, 277.5, 277.51, 277.75, 277.75, 277.8, 277.7, 277.87, 277.77, 277.89, 277.89, 277.65, 277.48, 277.48, 277.48, 277.1, 277.2, 275.38, 275.29, 275.23, 275.07, 275, 274.97, 275, 275.1, 274.65, 274.8, 274.55, 274.08, 274, 274.4, 274.21, 274, 273.89, 273.89, 273.9, 273.44, 272.5, 272.25, 272.22, 272.6, 272.61, 272.73, 272.47, 272.07, 273.3, 272.99, 273, 272.89, 273.1, 273.15, 272.8, 272.66, 272.41, 272.29, 272.35, 272.5, 272.15, 272, 272, 272.21, 274.27, 277.88, 277.07, 278.48, 276.99, 275.91, 276.24, 276.3, 275, 274.98, 274.85, 274.95, 275.73, 276.4, 277.25, 274.4639, 273.43, 273.48, 273, 273.5, 273.28, 273.42, 272.8388, 272.44, 271.14, 271.13, 270.765, 269.759, 269.5586, 269.49, 268.81, 269.2, 269.46, 269.8, 269.79, 268.41, 268.85, 268.63, 268.35, 267.74, 266.58, 267.065, 267.7983, 267.97, 267.85, 267.26, 267.6, 267.0999, 267.1, 267.34, 267.16, 267.09, 266.96, 267.3, 267.7, 267.92, 268.38, 268.2899, 268.88, 268.95, 269.555, 269.5, 269.48, 270.15, 270.0841, 270.06, 269.36, 269.32, 269.2, 270.29, 270.49, 270.55, 271.35, 271.38, 270.85, 269.97, 269.27, 268.8, 269, 269.0658, 269.6267, 269.66, 269.95, 270.87, 271.2571, 270.59, 270.1, 271.02, 270.915, 269.8302, 269.39, 269.18, 269.17, 268.65, 268.8498, 268.9746, 268.8, 268.6, 268.8, 268.69, 268.55, 268.55, 268.74, 268.77, 268.78, 269, 269.3, 269.22, 269.3, 269.2, 269.45, 269.86, 269.67, 269.55, 269.47, 269.7, 269.98, 269.89, 269.78, 269.74, 270.12, 270.1, 270.2, 270.2999, 270.29, 270.2, 270.2, 269.65, 269.8, 269.55, 269.3, 269.3, 269.74, 269.7, 269.75, 269.8, 269.8, 269.9, 269.75, 270.25, 271.98, 271.74, 272.98, 272.43, 272.65, 272.66, 272.94, 273, 273.24, 272.63, 273.3, 273.2, 273.64, 273.52, 273.9, 273.6, 273.6, 273.1, 273, 272.79, 272.8, 273.06, 273.45, 273.1, 273.08, 272.78, 272.84, 272.9, 273.3, 272.99, 272.9, 273, 272.73, 272.45, 272.66, 272.5, 272.44, 272.6, 272.7, 272.85, 272.72, 272.5, 272.18, 272.42, 272.5, 272.79, 272.85, 272.89, 273.54, 273.45, 273.56, 273.74, 273.8, 273.69, 273.7, 273.74, 273.64, 273.77, 274.69, 274.88, 274.85, 274.06, 273.44, 274, 274.02, 273.694, 274, 273.95, 274.4, 274.39, 273.93, 273.805, 273.99, 273.685, 273.53, 273.28, 273, 273, 273.13, 273.49, 273.4299, 273.84, 273.9, 273.68, 274.03, 273.85, 273.95, 273.8899, 274.25, 274.2, 274.43, 274.58, 274.6, 274.4, 274.3099, 274.54, 274.92, 274.635, 274.32, 274.22, 274.35, 274.42, 274.53, 274.72, 274.85, 274.93, 274.96, 274.75, 274.915, 275.5, 275.9, 275.8559, 275.85, 275.63, 275.8, 275.7399, 276.1, 276.035, 275.98, 275.9, 276.5382, 276.91, 277.1, 277.58, 277.58, 277.3, 276.98, 277.1, 277.39, 277.32, 277.27, 277.1, 277.49, 277.4, 277.9, 277.16, 276.1, 275.8, 275.88, 276.1, 276.1, 275.67, 276.1, 275.69, 275.69, 275.66, 275.65, 275.78, 275.65, 276.1, 275.7, 276.1, 275.7, 275.7, 275.72, 275.7, 275.8, 275.95, 276.09, 276.09, 276.1, 275.5, 275.5, 275.6, 275.44, 275.35, 275.2, 275.06, 275, 274.9, 274.7, 274.51, 274.63, 274.5, 274.41, 274.41, 274.29, 274.29, 274.28, 274.29, 274.15, 274.29, 274.29, 274.37, 274.26, 274.2, 274.8, 275.69, 275.52, 275.69, 275.96, 275.8, 275.56, 275.1, 274, 274.3, 274.5, 274.76, 274.74, 274.99, 275.27, 275.51, 275.4, 275.4, 275.51, 275.51, 275.4, 275.37, 275.27, 275.14, 275.31, 275.36, 275.05, 275, 275, 275.15, 275.51, 276.39, 276.24, 276.05, 276.42, 276.4899, 276.44, 276.3, 276.27, 276.67, 276.68, 276.8, 276.77, 277.87, 278.9298, 279.01, 278.8, 278.6, 278.6, 279.45, 280.09, 279.9, 280.33, 280.88, 280.8486, 281.64, 281.4, 281.75, 281.47, 281.11, 281.0118, 280.79, 280.42, 280.4, 280.62, 280.4501, 280.61, 280.585, 280.15, 280.02, 279.83, 279.715, 279.73, 279.7, 279.66, 279.9099, 280.06, 279.9399, 280.34, 280.25, 280.3178, 280.26, 279.07, 278.15, 278.83, 279.49, 279.27, 279.39, 279.56, 278.75, 277.763, 277.9185, 278.23, 277.68, 276.95, 276.445, 276.5999, 276.7901, 276.65, 276.1, 276.75, 276.94, 277.309, 277.48, 277.3699, 277.34, 277.28, 277.69, 278.09, 277.93, 277.92, 277.73, 276.94, 276.29, 276.5, 276.37, 276.3298, 276.6828, 276.79, 276.66, 275.82, 275.45, 275.03, 275.03, 274.24, 274.22, 274.15, 274.16, 274.0998, 275.45, 274.63, 274.6, 274.65, 274.51, 274.38, 274.38, 274.45, 274.29, 274.01, 274.24, 274.34, 274.3, 274.2, 274.2, 274.3, 274.89, 274.59, 274.59, 274.62, 274.51, 274.27, 274.06, 273.5, 273.51, 273.33, 273.31, 273.5, 273.5, 273.4, 273.25, 273.37, 273.35, 273.48, 273.32, 273.39, 273.25, 273.25, 273.2, 272.81, 273.3, 273.25, 273.2, 273.15, 273.1, 273.59, 273.52, 276.48, 276.1, 275.57, 276, 276, 275.75, 275.65, 275.66, 276.39, 275.99, 276.54, 276.44, 276.3, 276.08, 275.65, 275.89, 276.15, 276.32, 276.13, 276.2, 275.9, 275.96, 275.72, 275.85, 275.91, 275.98, 276.06, 276.25, 276.4, 276.9, 276.7, 276.97, 277.37, 277.3499, 277, 276.89, 276.6515, 276.5, 276.53, 276.37, 277.3, 278.56, 278.88, 279.49, 278.74, 278.91, 278.17, 278.58, 278.9, 279.39, 279.75, 280.26, 279.8799, 280.02, 280.49, 280.49, 280.1597, 279.89, 280.019, 279.45, 278.89, 278.68, 279.15, 279.44, 279.48, 279.3, 279.2949, 279.25, 279.52, 279.52, 279.23, 279.3185, 279.505, 279.465, 279.45, 279.8, 280.14, 280.12, 280.23, 280.65, 280.8202, 280.7296, 280.59, 280.75, 281, 280.87, 280.79, 280.75, 280.8129, 280.95, 280.92, 281.11, 281.1, 281.11, 281.37, 281.45, 281.73, 281.73, 282, 281.84, 281.42, 281.35, 281.59, 281.6, 281.74, 281.67, 281.4508, 281.23, 281.55, 281.59, 281.93, 281.91, 281.98, 282, 282.14, 282.68, 282.84, 283.01, 282.97, 282.99, 282.96, 282.97, 282.97, 282.9, 282.93, 282.96, 282.99, 282.99, 282.9, 282.98, 283, 282.92, 282.97, 282.88, 282.71, 282.7, 282.62, 282.52, 282.21, 282.49, 282.35, 282.35, 282.45, 282.4, 282.39, 282.3, 282.28, 282.28, 282.1, 282.09, 282.39, 282.26, 282.14, 282.16, 282.18, 282.25, 282.3, 282.3, 282.24, 282.2, 282.33, 282.31, 282.35, 282.3, 282.12 ], + "low": [ 278.6, 279.24, 279.21, 279.18, 279.23, 279.42, 279.36, 279.4, 279.35, 278.9, 278.55, 278.71, 278.8, 278.4, 279.05, 279.07, 279, 279.11, 278.3, 278.37, 278.35, 278.46, 278.19, 278.31, 278.03, 278.2, 277.89, 277.7, 277.74, 277.58, 277.5625, 278.76, 278.4, 278.5, 278.29, 278.02, 278.02, 277.92, 278.54, 278.9, 279.59, 279.8816, 280.31, 280.83, 280.54, 280.9001, 281.1, 280.8617, 280.56, 281.02, 280.6, 280.1, 280.26, 280.105, 279.8, 280.23, 280.581, 280.222, 280.1544, 280.1, 279.85, 279.94, 279.97, 279.65, 279.55, 279.42, 279.3682, 279.8301, 279.88, 279.75, 279.83, 279.43, 278.64, 278.46, 278.69, 278.7027, 278.58, 278.5867, 278.9, 278.75, 279.15, 279.3968, 279.75, 279.81, 279.74, 279.81, 278.832, 278.63, 278.48, 278.38, 278.47, 278.83, 278.71, 278.7197, 278.38, 277.75, 277.92, 277.3, 277.91, 277.83, 277.82, 277.92, 277.98, 277.95, 277.4411, 277.62, 277.5, 276.85, 276.8, 276.28, 276.17, 276.11, 276.38, 276, 276.3, 276.05, 276.5, 276.49, 276.5, 276.4, 276.39, 276.2, 276.2, 276.38, 276.35, 276.43, 276.31, 276.25, 276.41, 276.3, 276.43, 276.4, 276.65, 276.67, 276.55, 276.55, 276.53, 276.72, 277.47, 277.3, 277.25, 277.45, 277.5, 277.65, 277.6, 277.75, 277.68, 277.6, 277.65, 277.5, 277.25, 277.24, 277.07, 277.05, 277.1, 274.76, 275.06, 275.15, 275, 274.98, 274.9, 274.97, 275.08, 274.65, 274.62, 274.5, 274.08, 274, 274.4, 274.21, 273.8, 273.89, 273.89, 273.9, 272.71, 271.98, 271.5, 271.8, 272.5, 272.5, 272.5, 272.47, 272.05, 272.05, 272.62, 272.4, 272.7, 272.71, 272.71, 272.43, 272.41, 271.91, 271.95, 271.82, 272.01, 271.84, 271.55, 271.61, 271.78, 271.98, 273.41, 275.24, 276.38, 275.51, 274.845, 275.3, 274.31, 274.4, 274.51, 274, 274.55, 274.65, 275.45, 274.1838, 272.21, 272.02, 271.82, 271.96, 272.5527, 272.3, 272.261, 272.11, 270.826, 270.1701, 270.2, 269.3507, 268.94, 268.76, 267.9, 268.171, 268.42, 268.3715, 268.63, 268.0757, 267.53, 268.28, 267.39, 267.52, 266.34, 265.43, 265.66, 266.6, 267.33, 266.91, 266.75, 266.83, 266.42, 266.42, 266.5015, 266.67, 266.5301, 266.342, 266.35, 267.01, 267.49, 267.66, 267.74, 267.995, 268.2, 268.8, 268.96, 268.97, 269.12, 269.71, 268.69, 268.8, 268.75, 268.32, 268.91, 269.76, 269.6155, 269.74, 270.57, 269.8, 268.72, 268.33, 268.25, 268.12, 268.4409, 268.83, 268.04, 268.65, 269.835, 270.25, 269.5, 269.36, 269.77, 269.57, 269.08, 268.02, 268.24, 268.35, 268.37, 268.37, 268.37, 268.37, 268.5, 268.5799, 268.5, 268.37, 268.55, 268.6, 268.5, 268.5223, 268.6498, 269.1, 269.18, 269.13, 269.18, 269.36, 269.6, 269.5, 269.5, 269.47, 269.55, 269.59, 269.68, 269.5, 269.5, 269.59, 270, 270.02, 270.2, 270.2, 268.37, 269.6, 269.61, 269.61, 269.25, 269.19, 269, 269.29, 269.3, 269.3, 269.7, 269.64, 269.78, 269.4, 269.57, 271.98, 271.49, 271.7, 272.11, 272.43, 272.66, 272.94, 273, 272.97, 272.63, 273.3, 273.12, 273.4, 273.5, 273.7, 273.6, 273.3, 273.03, 273, 272.7, 272.8, 272.8, 273.05, 273, 273, 272.5, 272.5, 272.87, 272.5, 272.4, 272.51, 272.55, 272.32, 272.1, 272.35, 272.2, 272.23, 272.11, 272.25, 272.69, 272, 272.02, 272.01, 271.8, 272.2, 272.5, 272.7, 272.69, 272.9, 273.35, 273.31, 273.5, 273.4, 273.3, 273.3, 273.6, 273.5, 273.41, 273.26, 273.77, 273.36, 272.695, 272.43, 272.848, 273.11, 273.06, 273.26, 273.37, 273.75, 273.11, 273.17, 272.92, 273.35, 273.06, 272.97, 272.6, 272.2, 272.31, 272.37, 273.09, 273.02, 273.23, 273.33, 273.31, 273.34, 273.51, 273.66, 273.38, 273.6101, 273.8201, 274.0801, 274.2429, 274.193, 274.07, 274.06, 274.031, 274.49, 274.2, 273.94, 273.82, 274.071, 274.03, 274.1, 274.38, 274.55, 274.64, 274.54, 274.52, 274.54, 274.75, 275.17, 275.51, 275.38, 275.15, 275.24, 275.4607, 275.65, 275.56, 275.57, 275.5901, 275.7, 276.33, 276.68, 276.72, 276.8805, 276.54, 276.37, 276.26, 276.74, 276.6528, 276.68, 276.71, 276.92, 276.62, 276.71, 275.71, 275.69, 275.52, 275.62, 275.61, 275.55, 275.44, 275.52, 275.5, 275.5, 275.65, 275.6, 275.55, 275.6, 276.1, 275.6, 275.73, 275.7, 275.65, 275.63, 275.66, 275.63, 275.8, 275.81, 276, 275.2, 275.1, 275.35, 275.5, 275.35, 275.25, 275.2, 274.8, 274.85, 274.7, 274.51, 274.5, 274.51, 274.34, 274.1, 274.3, 274.03, 274.02, 274.11, 274.02, 274.1, 274.12, 274.2, 274.1, 274.26, 274.2, 274.7, 275.4, 275.52, 275.69, 275.96, 275.8, 275.55, 274.8, 274, 274.01, 274.13, 274.5, 274.74, 274.33, 274.89, 275.24, 275.15, 275.2, 275.32, 275.42, 275.33, 275.23, 275, 274.9, 275.17, 274.95, 274.6, 274.6, 274.9, 275.01, 275, 275.25, 275.58, 275.71, 275.9, 275.9, 275.96, 275.85, 275.76, 276.12, 276.32, 276.51, 275.85, 275.17, 277.75, 277.71, 277.96, 277.75, 277.86, 278.53, 279.26, 279.28, 279.31, 280.1, 280.31, 280.58, 281, 281.06, 280.7619, 280.6, 280.62, 280.34, 279.74, 279.92, 280.2502, 279.95, 280.01, 279.74, 279.705, 279.65, 279.13, 279.3, 279.39, 279.33, 279.41, 279.5299, 279.68, 279.495, 279.79, 280.05, 279.95, 278.02, 275.96, 276.57, 277.63, 278.3226, 278.77, 278.9181, 278.5946, 277.64, 276.89, 277.2, 277.45, 276.31, 275.95, 275.58, 275.62, 276.2, 275.71, 275.1, 275.93, 276.28, 276.72, 276.7669, 276.732, 276.7691, 276.85, 276.9, 277.52, 277.45, 277.6, 276.6, 275.73, 275.39, 275.9301, 275.56, 275.85, 275.92, 275.98, 275.34, 274.87, 274.94, 274.73, 274, 274, 273.9, 274.01, 273.9, 274.03, 274.1, 274.6, 274.5102, 274.53, 274.38, 274.38, 274.05, 274.02, 274.28, 274.01, 274.08, 274.24, 274, 274.2, 274.15, 274.25, 273.78, 274.32, 274.25, 274.05, 274.06, 274.12, 273.35, 273.2, 273.24, 273.13, 273.2, 273.4, 273.49, 273.17, 273.2, 273.18, 273.15, 273.16, 273.18, 273.15, 273.24, 273.12, 273.1, 272.8, 273.3, 273.2, 273.2, 273.1, 273.1, 273.59, 273.52, 274.68, 276.1, 275, 275.2, 276, 275.75, 275.65, 275.66, 276, 275.99, 275.15, 275.59, 275.95, 275.1, 275.6, 275.5, 276, 276.1, 276.02, 275.9, 275.78, 275.75, 275.66, 275.5, 275.67, 275.8, 275.85, 275.9, 276.19, 276.16, 276.36, 276.6, 276.82, 276.82, 276.67, 276.64, 276.2, 276.2, 276, 276.05, 276.22, 277, 277.69, 278.37, 277.79, 277.93, 277.1811, 277.442, 277.91, 278.01, 278.95, 279.37, 279.19, 279.35, 279.9101, 279.65, 279.47, 279.49, 279.41, 278.46, 278.23, 278.0068, 278.41, 279.1, 278.92, 278.27, 278.62, 278.82, 278.84, 279.18, 278.85, 278.48, 279.16, 279.16, 279.11, 279.03, 279.67, 279.72, 279.69, 280.04, 280.289, 280.27, 280.24, 280.24, 280.57, 280.32, 280.37, 280.39, 280.425, 280.72, 280.71, 280.88, 280.95, 280.87, 280.68, 281.06, 281.21, 281.38, 281.58, 281.21, 281.07, 281.09, 281.1, 281.179, 281.35, 281.18, 281.17, 280.61, 280.71, 280.85, 281.21, 281.48, 281.69, 281.62, 281.75, 281.95, 282.26, 281.86, 282.4, 282.6, 282.86, 282.9, 282.87, 280.7611, 282.85, 282.8902, 282.89, 282.89, 282.84, 282.9, 282.91, 282.91, 282.81, 282.75, 282.65, 282.6, 282.5, 282.18, 282.0301, 282.05, 282.21, 282.29, 282.3, 282.31, 282.25, 282.28, 282.25, 282.1, 282, 282.08, 282.33, 282.06, 282.06, 282.06, 282.18, 282.14, 282.25, 282.15, 282.14, 282.13, 282.09, 282.09, 282.35, 281.96, 281.8 ], + "close": [ 279.74, 279.26, 279.5, 279.3, 279.34, 279.59, 279.7, 279.42, 279.56, 279, 279, 278.93, 279, 279.17, 279.31, 279.35, 279, 279.15, 278.5, 278.37, 278.81, 278.47, 278.35, 278.4, 278.49, 278.4, 277.91, 277.8, 278.5, 277.76, 279.63, 279.5, 278.62, 279.1, 278.83, 278.27, 278.525, 278.6199, 279.37, 279.89, 279.98, 280.35, 281.08, 280.9, 280.955, 281.5901, 281.17, 280.89, 281.1768, 281.12, 280.62, 280.42, 280.5615, 280.28, 280.23, 281.039, 280.67, 280.4058, 280.281, 280.2723, 279.98, 280.44, 280.07, 279.65, 279.82, 279.53, 280.12, 280.355, 280.0129, 280.1924, 279.9272, 279.56, 278.8124, 278.7731, 278.8499, 279.2612, 278.6009, 279.3309, 279.08, 279.22, 279.45, 279.8, 280.11, 280.0599, 280, 279.92, 279.1501, 278.78, 278.7485, 278.49, 278.98, 279.22, 279.25, 279.47, 278.4, 277.92, 277.93, 278.19, 278.39, 277.83, 278.4256, 278.29, 278.83, 278.01, 277.8571, 278.43, 277.65, 276.85, 276.8, 276.28, 276.24, 276.41, 276.47, 276.28, 276.55, 276.5, 276.93, 276.6, 276.55, 276.4, 276.39, 276.2, 276.2, 276.38, 276.35, 276.43, 276.31, 276.43, 276.41, 276.3, 276.45, 276.87, 276.65, 276.8, 276.86, 276.88, 276.72, 277.47, 277.47, 277.3, 277.5, 277.75, 277.75, 277.8, 277.6, 277.77, 277.7, 277.89, 277.65, 277.5, 277.34, 277.45, 277.07, 277.06, 277.1, 275.3, 275.06, 275.15, 275, 275, 274.97, 275, 275.1, 274.65, 274.62, 274.5, 274.08, 274, 274.4, 274.21, 273.8, 273.89, 273.89, 273.9, 272.71, 271.98, 271.5, 272.22, 272.6, 272.5, 272.73, 272.47, 272.07, 273.01, 272.75, 272.85, 272.7, 273.1, 272.72, 272.43, 272.41, 271.91, 271.99, 272.35, 272.392, 272, 271.75, 272, 271.98, 274.27, 276.5, 277.01, 276.52, 275.7, 275.4, 276, 275, 274.5, 274.51, 274.75, 274.6, 275.2, 276.26, 274.195, 272.38, 272.37, 272.85, 272.83, 273.18, 273.1, 272.37, 272.31, 270.8447, 271.07, 270.655, 269.525, 269.19, 269.2476, 268.19, 268.62, 268.94, 268.73, 269.72, 268.2764, 268.3901, 268.42, 267.81, 267.7101, 266.52, 265.68, 267.0101, 267.72, 267.7201, 266.94, 267.12, 266.83, 266.72, 266.49, 267, 266.8312, 266.59, 266.52, 267.25, 267.4899, 267.8965, 268.11, 268.09, 268.45, 268.88, 269.09, 269.43, 269.27, 270.09, 270.0249, 268.7962, 269.26, 268.96, 269.11, 270.08, 270.3401, 269.9402, 271.04, 270.6298, 269.8373, 268.8701, 268.7, 268.54, 268.72, 268.85, 269.5801, 268.67, 269.91, 270.8286, 270.305, 269.88, 269.9, 270.84, 269.6111, 269.11, 268.24, 268.4438, 268.35, 268.5, 268.8398, 268.75, 268.6, 268.5007, 268.68, 268.5153, 268.5, 268.55, 268.74, 268.77, 268.65, 269, 269.11, 269.22, 269.13, 269.2, 269.4, 269.75, 269.5, 269.55, 269.47, 269.58, 269.6, 269.89, 269.5, 269.74, 270.1, 270.1, 270.13, 270.29, 270.29, 270.05, 269.6, 269.61, 269.69, 269.25, 269.3, 269, 269.74, 269.7, 269.67, 269.8, 269.64, 269.83, 269.57, 270.2499, 271.98, 271.49, 272.98, 272.43, 272.64, 272.66, 272.94, 273, 272.98, 272.63, 273.3, 273.2, 273.64, 273.52, 273.75, 273.6, 273.3, 273.03, 273, 272.7, 272.8, 273.05, 273.22, 273, 273, 272.71, 272.5, 272.9, 272.63, 272.5, 272.9, 272.55, 272.32, 272.2, 272.65, 272.21, 272.3, 272.33, 272.7, 272.72, 272.5, 272.02, 272.18, 272.3, 272.4, 272.78, 272.84, 272.89, 273.4, 273.4, 273.56, 273.73, 273.69, 273.31, 273.62, 273.74, 273.5, 273.52, 273.92, 274.36, 273.525, 273.04, 272.8575, 273.66, 273.177, 273.27, 273.4132, 273.865, 274.21, 273.23, 273.1873, 273.6, 273.485, 273.3601, 273.045, 272.69, 272.6501, 272.54, 273.04, 273.31, 273.276, 273.51, 273.65, 273.6, 273.733, 273.8, 273.85, 273.6, 274.19, 274.085, 274.32, 274.54, 274.4, 274.23, 274.19, 274.53, 274.5199, 274.2435, 274.07, 274.17, 274.22, 274.19, 274.39, 274.65, 274.69, 274.87, 274.62, 274.57, 274.88, 275.39, 275.6599, 275.74, 275.412, 275.455, 275.67, 275.6372, 276.0036, 275.5761, 275.87, 275.77, 276.5195, 276.81, 276.75, 277.39, 277.22, 276.8585, 276.42, 276.99, 276.88, 276.7538, 276.91, 277.01, 277.41, 277.21, 277.18, 276.1, 275.77, 275.79, 275.62, 275.61, 275.8, 275.44, 275.7, 275.52, 275.69, 275.65, 275.6, 275.6, 275.65, 276.1, 275.7, 275.73, 275.7, 275.65, 275.72, 275.7, 275.8, 275.95, 276, 276.09, 275.3, 275.5, 275.35, 275.5, 275.44, 275.26, 275.2, 275, 275, 274.7, 274.51, 274.51, 274.51, 274.35, 274.41, 274.3, 274.2, 274.29, 274.28, 274.1, 274.1, 274.12, 274.29, 274.25, 274.26, 274.2, 274.7, 275.6, 275.52, 275.69, 275.96, 275.8, 275.55, 274.8, 274, 274.01, 274.13, 274.76, 274.74, 274.7, 275.25, 275.51, 275.15, 275.4, 275.45, 275.51, 275.33, 275.23, 275.09, 275.12, 275.31, 274.95, 274.62, 275, 274.94, 275.01, 275.51, 275.61, 276.19, 276, 276.32, 276.4, 276.02, 275.9698, 276.27, 276.31, 276.55, 276.7, 275.85, 277.75, 277.91, 278.61, 278.27, 278.12, 278.56, 279.305, 279.83, 279.6718, 280.28, 280.82, 280.58, 281.4, 281.14, 281.3903, 280.94, 280.66, 280.72, 280.4, 280.135, 280.24, 280.2702, 280.0707, 280.52, 279.9, 279.7597, 279.82, 279.38, 279.42, 279.68, 279.47, 279.5915, 279.85, 279.71, 279.925, 280.235, 280.2101, 280.23, 278.345, 278.1, 277.75, 278.4964, 279.11, 278.985, 279.18, 278.5946, 277.73, 277.4503, 277.9112, 277.5, 276.494, 276.0256, 275.78, 276.56, 276.64, 275.71, 276.02, 276.29, 276.938, 276.9, 277.29, 276.76, 277.12, 276.97, 277.68, 277.76, 277.74, 277.6997, 276.755, 275.77, 276.215, 276.3094, 276.195, 276.15, 276.02, 276.4796, 275.8, 274.97, 274.94, 274.73, 275.03, 274, 274.18, 274.02, 274.1, 274.03, 274.46, 274.63, 274.55, 274.53, 274.5, 274.38, 274.05, 274.15, 274.28, 274.01, 274.24, 274.3, 274.3, 274.2, 274.2, 274.25, 274.89, 274.39, 274.59, 274.24, 274.06, 274.27, 273.35, 273.4, 273.35, 273.33, 273.3, 273.42, 273.5, 273.17, 273.25, 273.2, 273.34, 273.41, 273.18, 273.15, 273.25, 273.12, 273.1, 272.81, 273.3, 273.2, 273.2, 273.11, 273.1, 273.59, 273.52, 276.01, 276.1, 275, 276, 276, 275.75, 275.65, 275.66, 276.39, 275.99, 276.06, 275.96, 276.19, 275.1, 275.6, 275.89, 276.1, 276.2, 276.12, 275.9, 275.89, 275.75, 275.66, 275.52, 275.91, 275.91, 276.06, 276.01, 276.29, 276.64, 276.6, 276.82, 277.1, 276.87, 276.77, 276.7, 276.34, 276.35, 276.07, 276.28, 277.25, 278.02, 278.47, 278.56, 278.3, 278.13, 277.45, 278.1147, 278.017, 279.29, 279.7, 279.71, 279.49, 279.99, 280.245, 279.97, 279.67, 279.76, 279.46, 278.5199, 278.5, 278.44, 279.1036, 279.28, 278.98, 278.63, 279.215, 279.015, 279.4699, 279.18, 278.8501, 279.28, 279.45, 279.23, 279.414, 279.7, 280.12, 279.88, 280.13, 280.395, 280.64, 280.43, 280.47, 280.55, 280.87, 280.75, 280.73, 280.5673, 280.8, 280.79, 280.9, 281.09, 281.03, 281.0759, 281.29, 281.23, 281.6, 281.64, 281.76, 281.2601, 281.26, 281.11, 281.55, 281.4, 281.57, 281.24, 281.24, 280.7592, 281.4501, 281.38, 281.82, 281.896, 281.9701, 281.7674, 281.95, 282.64, 282.62, 282.725, 282.95, 282.91, 282.95, 282.95, 282.87, 282.86, 282.89, 282.95, 282.94, 282.89, 282.85, 282.98, 282.98, 282.92, 282.9, 282.8, 282.71, 282.6, 282.5, 282.19, 282.1, 282.22, 282.3, 282.35, 282.44, 282.31, 282.29, 282.3, 282.28, 282.1, 282.1, 282.08, 282.33, 282.1, 282.06, 282.16, 282.18, 282.25, 282.25, 282.15, 282.2, 282.13, 282.09, 282.3, 282.35, 282, 281.9 ], + "x": [ "2020-04-20 07:00:00", "2020-04-20 07:05:00", "2020-04-20 07:10:00", "2020-04-20 07:15:00", "2020-04-20 07:20:00", "2020-04-20 07:25:00", "2020-04-20 07:30:00", "2020-04-20 07:35:00", "2020-04-20 07:40:00", "2020-04-20 07:45:00", "2020-04-20 07:50:00", "2020-04-20 07:55:00", "2020-04-20 08:00:00", "2020-04-20 08:05:00", "2020-04-20 08:10:00", "2020-04-20 08:15:00", "2020-04-20 08:20:00", "2020-04-20 08:25:00", "2020-04-20 08:30:00", "2020-04-20 08:35:00", "2020-04-20 08:40:00", "2020-04-20 08:45:00", "2020-04-20 08:50:00", "2020-04-20 08:55:00", "2020-04-20 09:00:00", "2020-04-20 09:05:00", "2020-04-20 09:10:00", "2020-04-20 09:15:00", "2020-04-20 09:20:00", "2020-04-20 09:25:00", "2020-04-20 09:30:00", "2020-04-20 09:35:00", "2020-04-20 09:40:00", "2020-04-20 09:45:00", "2020-04-20 09:50:00", "2020-04-20 09:55:00", "2020-04-20 10:00:00", "2020-04-20 10:05:00", "2020-04-20 10:10:00", "2020-04-20 10:15:00", "2020-04-20 10:20:00", "2020-04-20 10:25:00", "2020-04-20 10:30:00", "2020-04-20 10:35:00", "2020-04-20 10:40:00", "2020-04-20 10:45:00", "2020-04-20 10:50:00", "2020-04-20 10:55:00", "2020-04-20 11:00:00", "2020-04-20 11:05:00", "2020-04-20 11:10:00", "2020-04-20 11:15:00", "2020-04-20 11:20:00", "2020-04-20 11:25:00", "2020-04-20 11:30:00", "2020-04-20 11:35:00", "2020-04-20 11:40:00", "2020-04-20 11:45:00", "2020-04-20 11:50:00", "2020-04-20 11:55:00", "2020-04-20 12:00:00", "2020-04-20 12:05:00", "2020-04-20 12:10:00", "2020-04-20 12:15:00", "2020-04-20 12:20:00", "2020-04-20 12:25:00", "2020-04-20 12:30:00", "2020-04-20 12:35:00", "2020-04-20 12:40:00", "2020-04-20 12:45:00", "2020-04-20 12:50:00", "2020-04-20 12:55:00", "2020-04-20 13:00:00", "2020-04-20 13:05:00", "2020-04-20 13:10:00", "2020-04-20 13:15:00", "2020-04-20 13:20:00", "2020-04-20 13:25:00", "2020-04-20 13:30:00", "2020-04-20 13:35:00", "2020-04-20 13:40:00", "2020-04-20 13:45:00", "2020-04-20 13:50:00", "2020-04-20 13:55:00", "2020-04-20 14:00:00", "2020-04-20 14:05:00", "2020-04-20 14:10:00", "2020-04-20 14:15:00", "2020-04-20 14:20:00", "2020-04-20 14:25:00", "2020-04-20 14:30:00", "2020-04-20 14:35:00", "2020-04-20 14:40:00", "2020-04-20 14:45:00", "2020-04-20 14:50:00", "2020-04-20 14:55:00", "2020-04-20 15:00:00", "2020-04-20 15:05:00", "2020-04-20 15:10:00", "2020-04-20 15:15:00", "2020-04-20 15:20:00", "2020-04-20 15:25:00", "2020-04-20 15:30:00", "2020-04-20 15:35:00", "2020-04-20 15:40:00", "2020-04-20 15:45:00", "2020-04-20 15:50:00", "2020-04-20 15:55:00", "2020-04-20 16:00:00", "2020-04-20 16:05:00", "2020-04-20 16:10:00", "2020-04-20 16:15:00", "2020-04-20 16:20:00", "2020-04-20 16:25:00", "2020-04-20 16:30:00", "2020-04-20 16:35:00", "2020-04-20 16:40:00", "2020-04-20 16:45:00", "2020-04-20 16:50:00", "2020-04-20 16:55:00", "2020-04-20 17:00:00", "2020-04-20 17:05:00", "2020-04-20 17:10:00", "2020-04-20 17:15:00", "2020-04-20 17:20:00", "2020-04-20 17:25:00", "2020-04-20 17:30:00", "2020-04-20 17:35:00", "2020-04-20 17:40:00", "2020-04-20 17:45:00", "2020-04-20 17:55:00", "2020-04-20 18:00:00", "2020-04-20 18:05:00", "2020-04-20 18:10:00", "2020-04-20 18:15:00", "2020-04-20 18:20:00", "2020-04-20 18:25:00", "2020-04-20 18:30:00", "2020-04-20 18:35:00", "2020-04-20 18:40:00", "2020-04-20 18:45:00", "2020-04-20 18:50:00", "2020-04-20 18:55:00", "2020-04-20 19:00:00", "2020-04-20 19:05:00", "2020-04-20 19:10:00", "2020-04-20 19:15:00", "2020-04-20 19:20:00", "2020-04-20 19:25:00", "2020-04-20 19:30:00", "2020-04-20 19:35:00", "2020-04-20 19:40:00", "2020-04-20 19:45:00", "2020-04-20 19:50:00", "2020-04-20 19:55:00", "2020-04-21 04:00:00", "2020-04-21 04:05:00", "2020-04-21 04:15:00", "2020-04-21 04:20:00", "2020-04-21 04:25:00", "2020-04-21 04:45:00", "2020-04-21 04:50:00", "2020-04-21 05:00:00", "2020-04-21 05:10:00", "2020-04-21 05:15:00", "2020-04-21 05:25:00", "2020-04-21 05:30:00", "2020-04-21 05:35:00", "2020-04-21 05:40:00", "2020-04-21 05:45:00", "2020-04-21 05:50:00", "2020-04-21 05:55:00", "2020-04-21 06:00:00", "2020-04-21 06:05:00", "2020-04-21 06:10:00", "2020-04-21 06:15:00", "2020-04-21 06:20:00", "2020-04-21 06:30:00", "2020-04-21 06:35:00", "2020-04-21 06:40:00", "2020-04-21 06:45:00", "2020-04-21 06:50:00", "2020-04-21 06:55:00", "2020-04-21 07:00:00", "2020-04-21 07:05:00", "2020-04-21 07:10:00", "2020-04-21 07:15:00", "2020-04-21 07:20:00", "2020-04-21 07:25:00", "2020-04-21 07:30:00", "2020-04-21 07:35:00", "2020-04-21 07:40:00", "2020-04-21 07:45:00", "2020-04-21 07:50:00", "2020-04-21 07:55:00", "2020-04-21 08:00:00", "2020-04-21 08:05:00", "2020-04-21 08:10:00", "2020-04-21 08:15:00", "2020-04-21 08:20:00", "2020-04-21 08:25:00", "2020-04-21 08:30:00", "2020-04-21 08:35:00", "2020-04-21 08:40:00", "2020-04-21 08:45:00", "2020-04-21 08:50:00", "2020-04-21 08:55:00", "2020-04-21 09:00:00", "2020-04-21 09:05:00", "2020-04-21 09:10:00", "2020-04-21 09:15:00", "2020-04-21 09:20:00", "2020-04-21 09:25:00", "2020-04-21 09:30:00", "2020-04-21 09:35:00", "2020-04-21 09:40:00", "2020-04-21 09:45:00", "2020-04-21 09:50:00", "2020-04-21 09:55:00", "2020-04-21 10:00:00", "2020-04-21 10:05:00", "2020-04-21 10:10:00", "2020-04-21 10:15:00", "2020-04-21 10:20:00", "2020-04-21 10:25:00", "2020-04-21 10:30:00", "2020-04-21 10:35:00", "2020-04-21 10:40:00", "2020-04-21 10:45:00", "2020-04-21 10:50:00", "2020-04-21 10:55:00", "2020-04-21 11:00:00", "2020-04-21 11:05:00", "2020-04-21 11:10:00", "2020-04-21 11:15:00", "2020-04-21 11:20:00", "2020-04-21 11:25:00", "2020-04-21 11:30:00", "2020-04-21 11:35:00", "2020-04-21 11:40:00", "2020-04-21 11:45:00", "2020-04-21 11:50:00", "2020-04-21 11:55:00", "2020-04-21 12:00:00", "2020-04-21 12:05:00", "2020-04-21 12:10:00", "2020-04-21 12:15:00", "2020-04-21 12:20:00", "2020-04-21 12:25:00", "2020-04-21 12:30:00", "2020-04-21 12:35:00", "2020-04-21 12:40:00", "2020-04-21 12:45:00", "2020-04-21 12:50:00", "2020-04-21 12:55:00", "2020-04-21 13:00:00", "2020-04-21 13:05:00", "2020-04-21 13:10:00", "2020-04-21 13:15:00", "2020-04-21 13:20:00", "2020-04-21 13:25:00", "2020-04-21 13:30:00", "2020-04-21 13:35:00", "2020-04-21 13:40:00", "2020-04-21 13:45:00", "2020-04-21 13:50:00", "2020-04-21 13:55:00", "2020-04-21 14:00:00", "2020-04-21 14:05:00", "2020-04-21 14:10:00", "2020-04-21 14:15:00", "2020-04-21 14:20:00", "2020-04-21 14:25:00", "2020-04-21 14:30:00", "2020-04-21 14:35:00", "2020-04-21 14:40:00", "2020-04-21 14:45:00", "2020-04-21 14:50:00", "2020-04-21 14:55:00", "2020-04-21 15:00:00", "2020-04-21 15:05:00", "2020-04-21 15:10:00", "2020-04-21 15:15:00", "2020-04-21 15:20:00", "2020-04-21 15:25:00", "2020-04-21 15:30:00", "2020-04-21 15:35:00", "2020-04-21 15:40:00", "2020-04-21 15:45:00", "2020-04-21 15:50:00", "2020-04-21 15:55:00", "2020-04-21 16:00:00", "2020-04-21 16:05:00", "2020-04-21 16:10:00", "2020-04-21 16:15:00", "2020-04-21 16:20:00", "2020-04-21 16:25:00", "2020-04-21 16:30:00", "2020-04-21 16:35:00", "2020-04-21 16:40:00", "2020-04-21 16:45:00", "2020-04-21 16:50:00", "2020-04-21 16:55:00", "2020-04-21 17:00:00", "2020-04-21 17:05:00", "2020-04-21 17:10:00", "2020-04-21 17:15:00", "2020-04-21 17:20:00", "2020-04-21 17:25:00", "2020-04-21 17:30:00", "2020-04-21 17:35:00", "2020-04-21 17:40:00", "2020-04-21 17:45:00", "2020-04-21 17:50:00", "2020-04-21 17:55:00", "2020-04-21 18:00:00", "2020-04-21 18:05:00", "2020-04-21 18:10:00", "2020-04-21 18:15:00", "2020-04-21 18:20:00", "2020-04-21 18:25:00", "2020-04-21 18:30:00", "2020-04-21 18:35:00", "2020-04-21 18:40:00", "2020-04-21 18:45:00", "2020-04-21 18:50:00", "2020-04-21 18:55:00", "2020-04-21 19:00:00", "2020-04-21 19:05:00", "2020-04-21 19:10:00", "2020-04-21 19:15:00", "2020-04-21 19:20:00", "2020-04-21 19:25:00", "2020-04-21 19:30:00", "2020-04-21 19:35:00", "2020-04-21 19:40:00", "2020-04-21 19:45:00", "2020-04-21 19:50:00", "2020-04-21 19:55:00", "2020-04-22 04:00:00", "2020-04-22 04:05:00", "2020-04-22 04:10:00", "2020-04-22 04:15:00", "2020-04-22 04:20:00", "2020-04-22 04:25:00", "2020-04-22 04:30:00", "2020-04-22 04:35:00", "2020-04-22 04:40:00", "2020-04-22 04:45:00", "2020-04-22 05:00:00", "2020-04-22 05:05:00", "2020-04-22 05:10:00", "2020-04-22 05:20:00", "2020-04-22 05:25:00", "2020-04-22 05:30:00", "2020-04-22 06:00:00", "2020-04-22 06:05:00", "2020-04-22 06:10:00", "2020-04-22 06:15:00", "2020-04-22 06:20:00", "2020-04-22 06:25:00", "2020-04-22 06:30:00", "2020-04-22 06:35:00", "2020-04-22 06:40:00", "2020-04-22 06:45:00", "2020-04-22 06:50:00", "2020-04-22 06:55:00", "2020-04-22 07:00:00", "2020-04-22 07:05:00", "2020-04-22 07:10:00", "2020-04-22 07:15:00", "2020-04-22 07:20:00", "2020-04-22 07:25:00", "2020-04-22 07:30:00", "2020-04-22 07:35:00", "2020-04-22 07:40:00", "2020-04-22 07:45:00", "2020-04-22 07:50:00", "2020-04-22 07:55:00", "2020-04-22 08:00:00", "2020-04-22 08:05:00", "2020-04-22 08:10:00", "2020-04-22 08:15:00", "2020-04-22 08:20:00", "2020-04-22 08:25:00", "2020-04-22 08:30:00", "2020-04-22 08:35:00", "2020-04-22 08:40:00", "2020-04-22 08:45:00", "2020-04-22 08:50:00", "2020-04-22 08:55:00", "2020-04-22 09:00:00", "2020-04-22 09:05:00", "2020-04-22 09:10:00", "2020-04-22 09:15:00", "2020-04-22 09:20:00", "2020-04-22 09:25:00", "2020-04-22 09:30:00", "2020-04-22 09:35:00", "2020-04-22 09:40:00", "2020-04-22 09:45:00", "2020-04-22 09:50:00", "2020-04-22 09:55:00", "2020-04-22 10:00:00", "2020-04-22 10:05:00", "2020-04-22 10:10:00", "2020-04-22 10:15:00", "2020-04-22 10:20:00", "2020-04-22 10:25:00", "2020-04-22 10:30:00", "2020-04-22 10:35:00", "2020-04-22 10:40:00", "2020-04-22 10:45:00", "2020-04-22 10:50:00", "2020-04-22 10:55:00", "2020-04-22 11:00:00", "2020-04-22 11:05:00", "2020-04-22 11:10:00", "2020-04-22 11:15:00", "2020-04-22 11:20:00", "2020-04-22 11:25:00", "2020-04-22 11:30:00", "2020-04-22 11:35:00", "2020-04-22 11:40:00", "2020-04-22 11:45:00", "2020-04-22 11:50:00", "2020-04-22 11:55:00", "2020-04-22 12:00:00", "2020-04-22 12:05:00", "2020-04-22 12:10:00", "2020-04-22 12:15:00", "2020-04-22 12:20:00", "2020-04-22 12:25:00", "2020-04-22 12:30:00", "2020-04-22 12:35:00", "2020-04-22 12:40:00", "2020-04-22 12:45:00", "2020-04-22 12:50:00", "2020-04-22 12:55:00", "2020-04-22 13:00:00", "2020-04-22 13:05:00", "2020-04-22 13:10:00", "2020-04-22 13:15:00", "2020-04-22 13:20:00", "2020-04-22 13:25:00", "2020-04-22 13:30:00", "2020-04-22 13:35:00", "2020-04-22 13:40:00", "2020-04-22 13:45:00", "2020-04-22 13:50:00", "2020-04-22 13:55:00", "2020-04-22 14:00:00", "2020-04-22 14:05:00", "2020-04-22 14:10:00", "2020-04-22 14:15:00", "2020-04-22 14:20:00", "2020-04-22 14:25:00", "2020-04-22 14:30:00", "2020-04-22 14:35:00", "2020-04-22 14:40:00", "2020-04-22 14:45:00", "2020-04-22 14:50:00", "2020-04-22 14:55:00", "2020-04-22 15:00:00", "2020-04-22 15:05:00", "2020-04-22 15:10:00", "2020-04-22 15:15:00", "2020-04-22 15:20:00", "2020-04-22 15:25:00", "2020-04-22 15:30:00", "2020-04-22 15:35:00", "2020-04-22 15:40:00", "2020-04-22 15:45:00", "2020-04-22 15:50:00", "2020-04-22 15:55:00", "2020-04-22 16:00:00", "2020-04-22 16:05:00", "2020-04-22 16:10:00", "2020-04-22 16:15:00", "2020-04-22 16:20:00", "2020-04-22 16:25:00", "2020-04-22 16:30:00", "2020-04-22 16:35:00", "2020-04-22 16:40:00", "2020-04-22 16:45:00", "2020-04-22 16:50:00", "2020-04-22 16:55:00", "2020-04-22 17:00:00", "2020-04-22 17:05:00", "2020-04-22 17:10:00", "2020-04-22 17:15:00", "2020-04-22 17:20:00", "2020-04-22 17:25:00", "2020-04-22 17:30:00", "2020-04-22 17:35:00", "2020-04-22 17:40:00", "2020-04-22 17:45:00", "2020-04-22 17:50:00", "2020-04-22 17:55:00", "2020-04-22 18:00:00", "2020-04-22 18:05:00", "2020-04-22 18:10:00", "2020-04-22 18:15:00", "2020-04-22 18:20:00", "2020-04-22 18:25:00", "2020-04-22 18:30:00", "2020-04-22 18:35:00", "2020-04-22 18:40:00", "2020-04-22 18:45:00", "2020-04-22 18:50:00", "2020-04-22 18:55:00", "2020-04-22 19:00:00", "2020-04-22 19:05:00", "2020-04-22 19:10:00", "2020-04-22 19:15:00", "2020-04-22 19:20:00", "2020-04-22 19:25:00", "2020-04-22 19:30:00", "2020-04-22 19:35:00", "2020-04-22 19:40:00", "2020-04-22 19:45:00", "2020-04-22 19:50:00", "2020-04-22 19:55:00", "2020-04-23 04:00:00", "2020-04-23 04:05:00", "2020-04-23 05:00:00", "2020-04-23 05:20:00", "2020-04-23 05:25:00", "2020-04-23 05:30:00", "2020-04-23 05:35:00", "2020-04-23 06:00:00", "2020-04-23 06:05:00", "2020-04-23 06:15:00", "2020-04-23 06:20:00", "2020-04-23 06:30:00", "2020-04-23 06:40:00", "2020-04-23 06:45:00", "2020-04-23 06:50:00", "2020-04-23 07:00:00", "2020-04-23 07:05:00", "2020-04-23 07:10:00", "2020-04-23 07:15:00", "2020-04-23 07:20:00", "2020-04-23 07:25:00", "2020-04-23 07:30:00", "2020-04-23 07:35:00", "2020-04-23 07:40:00", "2020-04-23 07:45:00", "2020-04-23 07:50:00", "2020-04-23 07:55:00", "2020-04-23 08:00:00", "2020-04-23 08:05:00", "2020-04-23 08:10:00", "2020-04-23 08:15:00", "2020-04-23 08:20:00", "2020-04-23 08:25:00", "2020-04-23 08:30:00", "2020-04-23 08:35:00", "2020-04-23 08:40:00", "2020-04-23 08:45:00", "2020-04-23 08:50:00", "2020-04-23 08:55:00", "2020-04-23 09:00:00", "2020-04-23 09:05:00", "2020-04-23 09:10:00", "2020-04-23 09:15:00", "2020-04-23 09:20:00", "2020-04-23 09:25:00", "2020-04-23 09:30:00", "2020-04-23 09:35:00", "2020-04-23 09:40:00", "2020-04-23 09:45:00", "2020-04-23 09:50:00", "2020-04-23 09:55:00", "2020-04-23 10:00:00", "2020-04-23 10:05:00", "2020-04-23 10:10:00", "2020-04-23 10:15:00", "2020-04-23 10:20:00", "2020-04-23 10:25:00", "2020-04-23 10:30:00", "2020-04-23 10:35:00", "2020-04-23 10:40:00", "2020-04-23 10:45:00", "2020-04-23 10:50:00", "2020-04-23 10:55:00", "2020-04-23 11:00:00", "2020-04-23 11:05:00", "2020-04-23 11:10:00", "2020-04-23 11:15:00", "2020-04-23 11:20:00", "2020-04-23 11:25:00", "2020-04-23 11:30:00", "2020-04-23 11:35:00", "2020-04-23 11:40:00", "2020-04-23 11:45:00", "2020-04-23 11:50:00", "2020-04-23 11:55:00", "2020-04-23 12:00:00", "2020-04-23 12:05:00", "2020-04-23 12:10:00", "2020-04-23 12:15:00", "2020-04-23 12:20:00", "2020-04-23 12:25:00", "2020-04-23 12:30:00", "2020-04-23 12:35:00", "2020-04-23 12:40:00", "2020-04-23 12:45:00", "2020-04-23 12:50:00", "2020-04-23 12:55:00", "2020-04-23 13:00:00", "2020-04-23 13:05:00", "2020-04-23 13:10:00", "2020-04-23 13:15:00", "2020-04-23 13:20:00", "2020-04-23 13:25:00", "2020-04-23 13:30:00", "2020-04-23 13:35:00", "2020-04-23 13:40:00", "2020-04-23 13:45:00", "2020-04-23 13:50:00", "2020-04-23 13:55:00", "2020-04-23 14:00:00", "2020-04-23 14:05:00", "2020-04-23 14:10:00", "2020-04-23 14:15:00", "2020-04-23 14:20:00", "2020-04-23 14:25:00", "2020-04-23 14:30:00", "2020-04-23 14:35:00", "2020-04-23 14:40:00", "2020-04-23 14:45:00", "2020-04-23 14:50:00", "2020-04-23 14:55:00", "2020-04-23 15:00:00", "2020-04-23 15:05:00", "2020-04-23 15:10:00", "2020-04-23 15:15:00", "2020-04-23 15:20:00", "2020-04-23 15:25:00", "2020-04-23 15:30:00", "2020-04-23 15:35:00", "2020-04-23 15:40:00", "2020-04-23 15:45:00", "2020-04-23 15:50:00", "2020-04-23 15:55:00", "2020-04-23 16:00:00", "2020-04-23 16:05:00", "2020-04-23 16:10:00", "2020-04-23 16:15:00", "2020-04-23 16:20:00", "2020-04-23 16:25:00", "2020-04-23 16:30:00", "2020-04-23 16:35:00", "2020-04-23 16:40:00", "2020-04-23 16:45:00", "2020-04-23 16:50:00", "2020-04-23 16:55:00", "2020-04-23 17:00:00", "2020-04-23 17:05:00", "2020-04-23 17:10:00", "2020-04-23 17:15:00", "2020-04-23 17:20:00", "2020-04-23 17:25:00", "2020-04-23 17:30:00", "2020-04-23 17:35:00", "2020-04-23 17:40:00", "2020-04-23 17:45:00", "2020-04-23 17:50:00", "2020-04-23 17:55:00", "2020-04-23 18:00:00", "2020-04-23 18:05:00", "2020-04-23 18:10:00", "2020-04-23 18:15:00", "2020-04-23 18:20:00", "2020-04-23 18:25:00", "2020-04-23 18:35:00", "2020-04-23 18:40:00", "2020-04-23 18:45:00", "2020-04-23 18:50:00", "2020-04-23 18:55:00", "2020-04-23 19:00:00", "2020-04-23 19:05:00", "2020-04-23 19:10:00", "2020-04-23 19:15:00", "2020-04-23 19:20:00", "2020-04-23 19:25:00", "2020-04-23 19:30:00", "2020-04-23 19:35:00", "2020-04-23 19:40:00", "2020-04-23 19:45:00", "2020-04-23 19:50:00", "2020-04-23 19:55:00", "2020-04-24 04:00:00", "2020-04-24 04:05:00", "2020-04-24 04:15:00", "2020-04-24 04:20:00", "2020-04-24 04:30:00", "2020-04-24 04:35:00", "2020-04-24 04:50:00", "2020-04-24 05:00:00", "2020-04-24 05:25:00", "2020-04-24 05:55:00", "2020-04-24 06:10:00", "2020-04-24 06:15:00", "2020-04-24 06:20:00", "2020-04-24 06:25:00", "2020-04-24 06:30:00", "2020-04-24 06:40:00", "2020-04-24 06:45:00", "2020-04-24 06:50:00", "2020-04-24 06:55:00", "2020-04-24 07:00:00", "2020-04-24 07:05:00", "2020-04-24 07:10:00", "2020-04-24 07:15:00", "2020-04-24 07:20:00", "2020-04-24 07:25:00", "2020-04-24 07:30:00", "2020-04-24 07:35:00", "2020-04-24 07:40:00", "2020-04-24 07:45:00", "2020-04-24 07:50:00", "2020-04-24 07:55:00", "2020-04-24 08:00:00", "2020-04-24 08:05:00", "2020-04-24 08:10:00", "2020-04-24 08:15:00", "2020-04-24 08:20:00", "2020-04-24 08:25:00", "2020-04-24 08:30:00", "2020-04-24 08:35:00", "2020-04-24 08:40:00", "2020-04-24 08:45:00", "2020-04-24 08:50:00", "2020-04-24 08:55:00", "2020-04-24 09:00:00", "2020-04-24 09:05:00", "2020-04-24 09:10:00", "2020-04-24 09:15:00", "2020-04-24 09:20:00", "2020-04-24 09:25:00", "2020-04-24 09:30:00", "2020-04-24 09:35:00", "2020-04-24 09:40:00", "2020-04-24 09:45:00", "2020-04-24 09:50:00", "2020-04-24 09:55:00", "2020-04-24 10:00:00", "2020-04-24 10:05:00", "2020-04-24 10:10:00", "2020-04-24 10:15:00", "2020-04-24 10:20:00", "2020-04-24 10:25:00", "2020-04-24 10:30:00", "2020-04-24 10:35:00", "2020-04-24 10:40:00", "2020-04-24 10:45:00", "2020-04-24 10:50:00", "2020-04-24 10:55:00", "2020-04-24 11:00:00", "2020-04-24 11:05:00", "2020-04-24 11:10:00", "2020-04-24 11:15:00", "2020-04-24 11:20:00", "2020-04-24 11:25:00", "2020-04-24 11:30:00", "2020-04-24 11:35:00", "2020-04-24 11:40:00", "2020-04-24 11:45:00", "2020-04-24 11:50:00", "2020-04-24 11:55:00", "2020-04-24 12:00:00", "2020-04-24 12:05:00", "2020-04-24 12:10:00", "2020-04-24 12:15:00", "2020-04-24 12:20:00", "2020-04-24 12:25:00", "2020-04-24 12:30:00", "2020-04-24 12:35:00", "2020-04-24 12:40:00", "2020-04-24 12:45:00", "2020-04-24 12:50:00", "2020-04-24 12:55:00", "2020-04-24 13:00:00", "2020-04-24 13:05:00", "2020-04-24 13:10:00", "2020-04-24 13:15:00", "2020-04-24 13:20:00", "2020-04-24 13:25:00", "2020-04-24 13:30:00", "2020-04-24 13:35:00", "2020-04-24 13:40:00", "2020-04-24 13:45:00", "2020-04-24 13:50:00", "2020-04-24 13:55:00", "2020-04-24 14:00:00", "2020-04-24 14:05:00", "2020-04-24 14:10:00", "2020-04-24 14:15:00", "2020-04-24 14:20:00", "2020-04-24 14:25:00", "2020-04-24 14:30:00", "2020-04-24 14:35:00", "2020-04-24 14:40:00", "2020-04-24 14:45:00", "2020-04-24 14:50:00", "2020-04-24 14:55:00", "2020-04-24 15:00:00", "2020-04-24 15:05:00", "2020-04-24 15:10:00", "2020-04-24 15:15:00", "2020-04-24 15:20:00", "2020-04-24 15:25:00", "2020-04-24 15:30:00", "2020-04-24 15:35:00", "2020-04-24 15:40:00", "2020-04-24 15:45:00", "2020-04-24 15:50:00", "2020-04-24 15:55:00", "2020-04-24 16:00:00", "2020-04-24 16:05:00", "2020-04-24 16:10:00", "2020-04-24 16:15:00", "2020-04-24 16:20:00", "2020-04-24 16:25:00", "2020-04-24 16:30:00", "2020-04-24 16:35:00", "2020-04-24 16:40:00", "2020-04-24 16:45:00", "2020-04-24 16:50:00", "2020-04-24 16:55:00", "2020-04-24 17:00:00", "2020-04-24 17:05:00", "2020-04-24 17:10:00", "2020-04-24 17:15:00", "2020-04-24 17:20:00", "2020-04-24 17:25:00", "2020-04-24 17:30:00", "2020-04-24 17:35:00", "2020-04-24 17:40:00", "2020-04-24 17:45:00", "2020-04-24 17:50:00", "2020-04-24 17:55:00", "2020-04-24 18:00:00", "2020-04-24 18:05:00", "2020-04-24 18:10:00", "2020-04-24 18:15:00", "2020-04-24 18:20:00", "2020-04-24 18:25:00", "2020-04-24 18:30:00", "2020-04-24 18:35:00", "2020-04-24 18:50:00", "2020-04-24 18:55:00", "2020-04-24 19:00:00", "2020-04-24 19:05:00", "2020-04-24 19:10:00", "2020-04-24 19:15:00", "2020-04-24 19:20:00", "2020-04-24 19:25:00", "2020-04-24 19:30:00", "2020-04-24 19:35:00", "2020-04-24 19:40:00", "2020-04-24 19:45:00", "2020-04-24 19:50:00", "2020-04-24 19:55:00" ] + }], + "layout": { + "width": 1000, + "height": 500, + "xaxis": { + "rangebreaks": [ + {"pattern": "day of week", "bounds": [6, 1]}, + {"pattern": "hour", "bounds": [16, 9.5]} + ] + }, + "yaxis": { + "range": [250, 300] + } + } +} diff --git a/test/jasmine/tests/mock_test.js b/test/jasmine/tests/mock_test.js index e0b8b47ab6e..3c2e7de2959 100644 --- a/test/jasmine/tests/mock_test.js +++ b/test/jasmine/tests/mock_test.js @@ -51,6 +51,7 @@ var list = [ 'axes_booleans', 'axes_breaks', 'axes_breaks-candlestick', + 'axes_breaks-candlestick2', 'axes_breaks-finance', 'axes_breaks-gridlines', 'axes_breaks-night_autorange-reversed', @@ -1080,6 +1081,7 @@ figs['autorange-tozero-rangemode'] = require('@mocks/autorange-tozero-rangemode' // figs['axes_booleans'] = require('@mocks/axes_booleans'); figs['axes_breaks'] = require('@mocks/axes_breaks'); figs['axes_breaks-candlestick'] = require('@mocks/axes_breaks-candlestick'); +figs['axes_breaks-candlestick2'] = require('@mocks/axes_breaks-candlestick2'); figs['axes_breaks-finance'] = require('@mocks/axes_breaks-finance'); figs['axes_breaks-gridlines'] = require('@mocks/axes_breaks-gridlines'); figs['axes_breaks-night_autorange-reversed'] = require('@mocks/axes_breaks-night_autorange-reversed'); From 2f3b098f78180ecb36ed36f27b96c35c13352d96 Mon Sep 17 00:00:00 2001 From: archmoj Date: Thu, 7 May 2020 14:42:15 -0400 Subject: [PATCH 4/4] BADNUM values sorted at the end - no need for first - tested in IE11 --- src/lib/search.js | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/lib/search.js b/src/lib/search.js index 8309cc5e90a..de1d634160a 100644 --- a/src/lib/search.js +++ b/src/lib/search.js @@ -73,25 +73,19 @@ exports.sorterDes = function(a, b) { return b - a; }; */ exports.distinctVals = function(valsIn) { var vals = valsIn.slice(); // otherwise we sort the original array... - vals.sort(exports.sorterAsc); - - var first; - for(first = 0; first < vals.length; first++) { - if(vals[first] !== BADNUM) break; - } + vals.sort(exports.sorterAsc); // undefined listed in the end - also works on IE11 var last; for(last = vals.length - 1; last > -1; last--) { if(vals[last] !== BADNUM) break; } - var minDiff = (vals[last] - vals[first]) || 1; - var errDiff = minDiff / ((last - first) || 1) / 10000; + var minDiff = (vals[last] - vals[0]) || 1; + var errDiff = minDiff / (last || 1) / 10000; var newVals = []; var preV; - for(var i = first; i <= last; i++) { + for(var i = 0; i <= last; i++) { var v = vals[i]; - if(v === BADNUM) continue; // make sure values aren't just off by a rounding error var diff = v - preV;