''' JUICE orbit using SPICE
.. warning::
Deprecated and replaced by :mod:`irfpy.juice.jspice`.
The JUICE orbit information from SPICE.
Presently (2012-01-14), only preliminary data is considered.
The kernel is not in the repository, because they are very large in size
and this may not used for future investigations.
Thus, the kernel files should be prepared separately.
Refer to Futaana for the kernel files with statement ``Futaana to refer to folder 111125-juice-orbit.```
.. todo::
Archive the data, not in the repository but not in the master repository.
Some other way is better.
.. todo::
At least, spice kernel files and associated modules must be re-sorted
and re-factored for future simplicity.
'''
import os
import glob
import logging
logging.basicConfig()
import datetime
import dateutil.parser
import bisect
from pkg_resources import resource_filename
import numpy as np
try:
import spiceypy as spice
except ImportError:
import spice
import warnings
warnings.warn('This module is deprecated and replced by irfpy.juice.jspice module.',
DeprecationWarning)
from irfpy.util import timeinterval
[docs]class JuiceSpice:
__default_instance = None
juice_id = -999
juice_name = "JUICE_SPACECRAFT"
[docs] @classmethod
def get_default_instance(cls):
if cls.__default_instance == None:
cls.__default_instance = JuiceSpice()
cls.__default_instance.load_default_kernels()
return cls.__default_instance
def __init__(self):
self.logger = logging.getLogger('JuiceSpice')
self.logger.setLevel(logging.INFO)
# self.logger.setLevel(logging.DEBUG)
[docs] def load_kernel(self, kernel_filename):
''' Load a kernel.
Wrapper to spice.furnsh().
'''
self.logger.info('Furnsh: %s' % kernel_filename)
spice.furnsh(kernel_filename)
[docs] def load_default_kernels(self):
''' Load default kernels.
'''
### Use pkg_resource while kernel files are not in the repository.
kernsdir = resource_filename(__name__, os.path.join('spice_juice'))
kerns = ['naif0010.tls', 'pck00009.tpc', 'mantra.jgo_2020_001_ipc_cal_pso_res_e40_562_200.bsp',
'de405.bsp', 'jup230.bsp']
for k in kerns:
kern = os.path.join(kernsdir, k)
self.load_kernel(kern)
kernsdir = resource_filename(__name__, os.path.join('spice'))
kern = os.path.join(kernsdir, 'jse_111130.tf')
self.load_kernel(kern)
self.logger.info("Define JUICE_SPACECRAFT")
spice.boddef(self.juice_name, self.juice_id)
[docs] def get_position(self, t, relative_to="JUPITER", frame="JSE"):
self.logger.debug('%s -> ' % (t.strftime('%FT%T')))
et0 = spice.str2et(t.strftime('%FT%T'))
self.logger.debug(' %.3f' % (et0))
self.logger.debug(' -> %s' % spice.et2utc(et0, "ISOC", 3))
relative_to_id = spice.bodn2c(relative_to)
try:
posvel, lt = spice.spkez(-999, et0, frame, "LT+S", relative_to_id)
except spice.SpiceException as e:
self.logger.warn('Spice returned exception. t=%s. et=%.3f.\n### %s' % (
t, et0, e))
return np.array([np.nan, np.nan, np.nan])
return np.array(posvel[0:3])
[docs] def get_velocity(self, t, relative_to="JUPITER", frame="JSE"):
''' Return the Juice orbiter's velocity vector.
:param t: Time
:type t: ``datetime.datetime``
:keyword relative_to: The SPICE name of the body to calculate the relative velocity
:type relative_to: String
:keyword frame: Frame of the velocity vector
:type frame: String
:returns: Return the Juice orbiter's velocity vector in the given frame
:rtype: ``np.array``
'''
et0 = spice.str2et(t.strftime('%FT%T'))
posvel, lt = spice.spkezr('JUICE SPACECRAFT', et0, frame, 'LT+S', relative_to)
return np.array(posvel[3:])
[docs] def get_positions(self, tlist):
return np.array([self.get_position(t) for t in tlist])
[docs]class OrbitNumber001:
''' Pseudo orbit number data for ``mantra.jgo_2020_001_ipc_cal_pso_res_e40_562_200.bsp`` kernel.
The data is produced from the script in ``../../scripts/juice_ganymede_pseudo_orbitnr.py``.
'''
def __init__(self):
'''
>>> onr = OrbitNumber001()
>>> print(onr.get_starttime(50))
2028-10-15 17:05:00
>>> print(onr.get_stoptime(49))
2028-10-15 17:05:00
>>> print(onr.get_orbitnumber(datetime.datetime(2028, 9, 25, 10, 28)))
7
>>> print(onr.get_orbitnumber(datetime.datetime(2028, 9, 25, 10, 29)))
8
>>> print(onr.get_orbitnumber(datetime.datetime(2028, 9, 25, 10, 30)))
8
'''
pseudo_onr_dict = {
1: dateutil.parser.parse("2028-09-21 23:29:00"),
2: dateutil.parser.parse("2028-09-22 11:19:00"),
3: dateutil.parser.parse("2028-09-22 23:02:00"),
4: dateutil.parser.parse("2028-09-23 10:46:00"),
5: dateutil.parser.parse("2028-09-23 22:37:00"),
6: dateutil.parser.parse("2028-09-24 10:34:00"),
7: dateutil.parser.parse("2028-09-24 22:33:00"),
8: dateutil.parser.parse("2028-09-25 10:29:00"),
9: dateutil.parser.parse("2028-09-25 22:18:00"),
10: dateutil.parser.parse("2028-09-26 10:03:00"),
11: dateutil.parser.parse("2028-09-26 21:49:00"),
12: dateutil.parser.parse("2028-09-27 09:39:00"),
13: dateutil.parser.parse("2028-09-27 21:34:00"),
14: dateutil.parser.parse("2028-09-28 09:31:00"),
15: dateutil.parser.parse("2028-09-28 21:27:00"),
16: dateutil.parser.parse("2028-09-29 09:19:00"),
17: dateutil.parser.parse("2028-09-29 21:06:00"),
18: dateutil.parser.parse("2028-09-30 08:52:00"),
19: dateutil.parser.parse("2028-09-30 20:42:00"),
20: dateutil.parser.parse("2028-10-01 08:36:00"),
21: dateutil.parser.parse("2028-10-01 20:32:00"),
22: dateutil.parser.parse("2028-10-02 08:29:00"),
23: dateutil.parser.parse("2028-10-02 20:22:00"),
24: dateutil.parser.parse("2028-10-03 04:00:00"), # datagap
25: dateutil.parser.parse("2028-10-03 08:11:00"),
26: dateutil.parser.parse("2028-10-03 19:58:00"),
27: dateutil.parser.parse("2028-10-04 07:47:00"),
28: dateutil.parser.parse("2028-10-04 19:40:00"),
29: dateutil.parser.parse("2028-10-05 07:37:00"),
30: dateutil.parser.parse("2028-10-05 19:34:00"),
31: dateutil.parser.parse("2028-10-06 07:28:00"),
32: dateutil.parser.parse("2028-10-06 19:18:00"),
33: dateutil.parser.parse("2028-10-07 07:06:00"),
34: dateutil.parser.parse("2028-10-07 18:55:00"),
35: dateutil.parser.parse("2028-10-08 06:48:00"),
36: dateutil.parser.parse("2028-10-08 18:44:00"),
37: dateutil.parser.parse("2028-10-09 06:41:00"),
38: dateutil.parser.parse("2028-10-09 18:37:00"),
39: dateutil.parser.parse("2028-10-10 06:29:00"),
40: dateutil.parser.parse("2028-10-10 18:18:00"),
41: dateutil.parser.parse("2028-10-11 06:06:00"),
42: dateutil.parser.parse("2028-10-11 17:58:00"),
43: dateutil.parser.parse("2028-10-12 05:54:00"),
44: dateutil.parser.parse("2028-10-12 17:51:00"),
45: dateutil.parser.parse("2028-10-13 05:48:00"),
46: dateutil.parser.parse("2028-10-13 17:41:00"),
47: dateutil.parser.parse("2028-10-14 05:30:00"),
48: dateutil.parser.parse("2028-10-14 17:19:00"),
49: dateutil.parser.parse("2028-10-15 05:10:00"),
50: dateutil.parser.parse("2028-10-15 17:05:00"),
51: dateutil.parser.parse("2028-10-16 05:03:00"),
52: dateutil.parser.parse("2028-10-16 17:00:00"),
53: dateutil.parser.parse("2028-10-17 04:55:00"),
54: dateutil.parser.parse("2028-10-17 16:45:00"),
55: dateutil.parser.parse("2028-10-18 04:34:00"),
56: dateutil.parser.parse("2028-10-18 16:24:00"),
57: dateutil.parser.parse("2028-10-19 04:18:00"),
58: dateutil.parser.parse("2028-10-19 16:16:00"),
59: dateutil.parser.parse("2028-10-20 04:14:00"),
60: dateutil.parser.parse("2028-10-20 16:09:00"),
61: dateutil.parser.parse("2028-10-21 04:00:00"),
62: dateutil.parser.parse("2028-10-21 15:49:00"),
63: dateutil.parser.parse("2028-10-22 03:39:00"),
64: dateutil.parser.parse("2028-10-22 15:32:00"),
65: dateutil.parser.parse("2028-10-23 03:30:00"),
66: dateutil.parser.parse("2028-10-23 11:00:00"), # datagap
67: dateutil.parser.parse("2028-10-23 15:28:00"),
68: dateutil.parser.parse("2028-10-24 03:24:00"),
69: dateutil.parser.parse("2028-10-24 15:16:00"),
70: dateutil.parser.parse("2028-10-25 03:05:00"),
71: dateutil.parser.parse("2028-10-25 14:55:00"),
72: dateutil.parser.parse("2028-10-26 02:47:00"),
73: dateutil.parser.parse("2028-10-26 14:44:00"),
74: dateutil.parser.parse("2028-10-27 02:43:00"),
75: dateutil.parser.parse("2028-10-27 14:39:00"),
76: dateutil.parser.parse("2028-10-28 02:32:00"),
77: dateutil.parser.parse("2028-10-28 14:22:00"),
78: dateutil.parser.parse("2028-10-29 02:11:00"),
79: dateutil.parser.parse("2028-10-29 14:03:00"),
80: dateutil.parser.parse("2028-10-30 01:59:00"),
81: dateutil.parser.parse("2028-10-30 13:57:00"),
82: dateutil.parser.parse("2028-10-31 01:55:00"),
83: dateutil.parser.parse("2028-10-31 13:49:00"),
84: dateutil.parser.parse("2028-11-01 01:39:00"),
85: dateutil.parser.parse("2028-11-01 13:28:00"),
86: dateutil.parser.parse("2028-11-02 01:19:00"),
87: dateutil.parser.parse("2028-11-02 13:14:00"),
88: dateutil.parser.parse("2028-11-03 01:12:00"),
89: dateutil.parser.parse("2028-11-03 13:10:00"),
90: dateutil.parser.parse("2028-11-04 01:05:00"),
91: dateutil.parser.parse("2028-11-04 12:56:00"),
92: dateutil.parser.parse("2028-11-05 00:45:00"),
93: dateutil.parser.parse("2028-11-05 12:35:00"),
94: dateutil.parser.parse("2028-11-06 00:30:00"),
95: dateutil.parser.parse("2028-11-06 12:28:00"),
96: dateutil.parser.parse("2028-11-07 00:26:00"),
97: dateutil.parser.parse("2028-11-07 12:22:00"),
98: dateutil.parser.parse("2028-11-08 00:13:00"),
99: dateutil.parser.parse("2028-11-08 12:02:00"),
100: dateutil.parser.parse("2028-11-08 23:52:00"),
101: dateutil.parser.parse("2028-11-09 11:46:00"),
102: dateutil.parser.parse("2028-11-09 23:43:00"),
103: dateutil.parser.parse("2028-11-10 11:42:00"),
104: dateutil.parser.parse("2028-11-10 23:38:00"),
105: dateutil.parser.parse("2028-11-11 11:30:00"),
106: dateutil.parser.parse("2028-11-11 23:20:00"),
107: dateutil.parser.parse("2028-11-12 11:09:00"),
108: dateutil.parser.parse("2028-11-12 19:00:00"), # datagap
109: dateutil.parser.parse("2028-11-12 23:02:00"),
110: dateutil.parser.parse("2028-11-13 10:58:00"),
111: dateutil.parser.parse("2028-11-13 22:57:00"),
112: dateutil.parser.parse("2028-11-14 10:54:00"),
113: dateutil.parser.parse("2028-11-14 22:47:00"),
114: dateutil.parser.parse("2028-11-15 10:37:00"),
115: dateutil.parser.parse("2028-11-15 22:26:00"),
116: dateutil.parser.parse("2028-11-16 10:18:00"),
117: dateutil.parser.parse("2028-11-16 22:14:00"),
118: dateutil.parser.parse("2028-11-17 10:13:00"),
119: dateutil.parser.parse("2028-11-17 22:10:00"),
120: dateutil.parser.parse("2028-11-18 10:04:00"),
121: dateutil.parser.parse("2028-11-18 21:55:00"),
122: dateutil.parser.parse("2028-11-19 09:44:00"),
123: dateutil.parser.parse("2028-11-19 21:35:00"),
124: dateutil.parser.parse("2028-11-20 09:30:00"),
125: dateutil.parser.parse("2028-11-20 21:28:00"),
126: dateutil.parser.parse("2028-11-21 09:26:00"),
127: dateutil.parser.parse("2028-11-21 21:21:00"),
128: dateutil.parser.parse("2028-11-22 09:12:00"),
129: dateutil.parser.parse("2028-11-22 21:01:00"),
130: dateutil.parser.parse("2028-11-23 08:52:00"),
131: dateutil.parser.parse("2028-11-23 20:46:00"),
132: dateutil.parser.parse("2028-11-24 08:44:00"),
133: dateutil.parser.parse("2028-11-24 20:42:00"),
134: dateutil.parser.parse("2028-11-25 08:38:00"),
135: dateutil.parser.parse("2028-11-25 20:29:00"),
136: dateutil.parser.parse("2028-11-26 08:19:00"),
137: dateutil.parser.parse("2028-11-26 20:08:00"),
138: dateutil.parser.parse("2028-11-27 08:02:00"),
139: dateutil.parser.parse("2028-11-27 19:59:00"),
140: dateutil.parser.parse("2028-11-28 07:58:00"),
141: dateutil.parser.parse("2028-11-28 19:54:00"),
142: dateutil.parser.parse("2028-11-29 07:47:00"),
143: dateutil.parser.parse("2028-11-29 19:36:00"),
144: dateutil.parser.parse("2028-11-30 07:26:00"),
145: dateutil.parser.parse("2028-11-30 19:18:00"),
146: dateutil.parser.parse("2028-12-01 07:15:00"),
147: dateutil.parser.parse("2028-12-01 19:13:00"),
148: dateutil.parser.parse("2028-12-02 07:11:00"),
149: dateutil.parser.parse("2028-12-02 19:04:00"),
150: dateutil.parser.parse("2028-12-03 02:00:00"), # datagap
151: dateutil.parser.parse("2028-12-03 06:54:00"),
152: dateutil.parser.parse("2028-12-03 18:43:00"),
153: dateutil.parser.parse("2028-12-04 06:34:00"),
154: dateutil.parser.parse("2028-12-04 18:30:00"),
155: dateutil.parser.parse("2028-12-05 06:29:00"),
156: dateutil.parser.parse("2028-12-05 18:27:00"),
157: dateutil.parser.parse("2028-12-06 06:21:00"),
158: dateutil.parser.parse("2028-12-06 18:11:00"),
159: dateutil.parser.parse("2028-12-07 06:00:00"),
160: dateutil.parser.parse("2028-12-07 17:51:00"),
161: dateutil.parser.parse("2028-12-08 05:46:00"),
162: dateutil.parser.parse("2028-12-08 17:44:00"),
163: dateutil.parser.parse("2028-12-09 05:42:00"),
164: dateutil.parser.parse("2028-12-09 17:37:00"),
165: dateutil.parser.parse("2028-12-10 05:28:00"),
166: dateutil.parser.parse("2028-12-10 17:17:00"),
167: dateutil.parser.parse("2028-12-11 05:08:00"),
168: dateutil.parser.parse("2028-12-11 17:02:00"),
169: dateutil.parser.parse("2028-12-12 05:00:00"),
170: dateutil.parser.parse("2028-12-12 16:58:00"),
171: dateutil.parser.parse("2028-12-13 04:54:00"),
172: dateutil.parser.parse("2028-12-13 16:45:00"),
173: dateutil.parser.parse("2028-12-14 04:35:00"),
174: dateutil.parser.parse("2028-12-14 16:24:00"),
175: dateutil.parser.parse("2028-12-15 04:18:00"),
176: dateutil.parser.parse("2028-12-15 16:15:00"),
177: dateutil.parser.parse("2028-12-16 04:13:00"),
178: dateutil.parser.parse("2028-12-16 16:10:00"),
179: dateutil.parser.parse("2028-12-17 04:02:00"),
180: dateutil.parser.parse("2028-12-17 15:52:00"),
181: dateutil.parser.parse("2028-12-18 03:41:00"),
182: dateutil.parser.parse("2028-12-18 15:33:00"),
183: dateutil.parser.parse("2028-12-19 03:30:00"),
184: dateutil.parser.parse("2028-12-19 15:28:00"),
185: dateutil.parser.parse("2028-12-20 03:25:00"),
186: dateutil.parser.parse("2028-12-20 15:19:00"),
187: dateutil.parser.parse("2028-12-21 03:09:00"),
188: dateutil.parser.parse("2028-12-21 14:58:00"),
189: dateutil.parser.parse("2028-12-22 02:49:00"),
190: dateutil.parser.parse("2028-12-22 14:45:00"),
191: dateutil.parser.parse("2028-12-23 02:43:00"),
192: dateutil.parser.parse("2028-12-23 10:00:00"), # datagap
193: dateutil.parser.parse("2028-12-23 14:41:00"),
194: dateutil.parser.parse("2028-12-24 02:35:00"),
195: dateutil.parser.parse("2028-12-24 14:25:00"),
196: dateutil.parser.parse("2028-12-25 02:14:00"),
197: dateutil.parser.parse("2028-12-25 14:04:00"),
198: dateutil.parser.parse("2028-12-26 01:59:00"),
199: dateutil.parser.parse("2028-12-26 13:57:00"),
200: dateutil.parser.parse("2028-12-27 01:55:00"),
201: dateutil.parser.parse("2028-12-27 13:50:00"),
202: dateutil.parser.parse("2028-12-28 01:41:00"),
203: dateutil.parser.parse("2028-12-28 13:30:00"),
204: dateutil.parser.parse("2028-12-29 01:20:00"),
205: dateutil.parser.parse("2028-12-29 13:13:00"),
206: dateutil.parser.parse("2028-12-30 01:10:00"),
207: dateutil.parser.parse("2028-12-30 13:08:00"),
208: dateutil.parser.parse("2028-12-31 01:04:00"),
209: dateutil.parser.parse("2028-12-31 12:56:00"),
210: dateutil.parser.parse("2029-01-01 00:44:00"),
211: dateutil.parser.parse("2029-01-01 12:34:00"),
212: dateutil.parser.parse("2029-01-02 00:26:00"),
213: dateutil.parser.parse("2029-01-02 12:23:00"),
214: dateutil.parser.parse("2029-01-03 00:21:00"),
215: dateutil.parser.parse("2029-01-03 12:17:00"),
216: dateutil.parser.parse("2029-01-04 00:09:00"),
217: dateutil.parser.parse("2029-01-04 11:58:00"),
218: dateutil.parser.parse("2029-01-04 23:47:00"),
219: dateutil.parser.parse("2029-01-05 11:38:00"),
220: dateutil.parser.parse("2029-01-05 23:34:00"),
221: dateutil.parser.parse("2029-01-06 11:31:00"),
222: dateutil.parser.parse("2029-01-06 23:28:00"),
223: dateutil.parser.parse("2029-01-07 11:21:00"),
224: dateutil.parser.parse("2029-01-07 23:10:00"),
225: dateutil.parser.parse("2029-01-08 10:58:00"),
226: dateutil.parser.parse("2029-01-08 22:49:00"),
227: dateutil.parser.parse("2029-01-09 10:43:00"),
228: dateutil.parser.parse("2029-01-09 22:40:00"),
229: dateutil.parser.parse("2029-01-10 10:37:00"),
230: dateutil.parser.parse("2029-01-10 22:30:00"),
231: dateutil.parser.parse("2029-01-11 10:20:00"),
232: dateutil.parser.parse("2029-01-11 22:08:00"),
233: dateutil.parser.parse("2029-01-12 09:57:00"),
234: dateutil.parser.parse("2029-01-12 18:30:00"), # datagap
235: dateutil.parser.parse("2029-01-12 21:50:00"),
236: dateutil.parser.parse("2029-01-13 09:46:00"),
237: dateutil.parser.parse("2029-01-13 21:43:00"),
238: dateutil.parser.parse("2029-01-14 09:37:00"),
239: dateutil.parser.parse("2029-01-14 21:27:00"),
240: dateutil.parser.parse("2029-01-15 09:14:00"),
241: dateutil.parser.parse("2029-01-15 21:02:00"),
242: dateutil.parser.parse("2029-01-16 08:53:00"),
243: dateutil.parser.parse("2029-01-16 20:48:00"),
244: dateutil.parser.parse("2029-01-17 08:46:00"),
245: dateutil.parser.parse("2029-01-17 20:41:00"),
246: dateutil.parser.parse("2029-01-18 08:32:00"),
247: dateutil.parser.parse("2029-01-18 20:19:00"),
248: dateutil.parser.parse("2029-01-19 08:04:00"),
249: dateutil.parser.parse("2029-01-19 19:53:00"),
250: dateutil.parser.parse("2029-01-20 07:48:00"),
251: dateutil.parser.parse("2029-01-20 19:46:00"),
252: dateutil.parser.parse("2029-01-21 07:43:00"),
253: dateutil.parser.parse("2029-01-21 19:34:00"),
254: dateutil.parser.parse("2029-01-22 07:20:00"),
255: dateutil.parser.parse("2029-01-22 19:04:00"),
256: dateutil.parser.parse("2029-01-23 06:51:00"),
257: dateutil.parser.parse("2029-01-23 18:47:00"),
258: dateutil.parser.parse("2029-01-23 23:42:00"),
259: dateutil.parser.parse("2029-01-24 04:38:00"),
260: dateutil.parser.parse("2029-01-24 09:33:00"),
261: dateutil.parser.parse("2029-01-24 14:28:00"),
262: dateutil.parser.parse("2029-01-24 19:23:00"),
263: dateutil.parser.parse("2029-01-25 00:18:00"),
264: dateutil.parser.parse("2029-01-25 05:13:00"),
265: dateutil.parser.parse("2029-01-25 10:07:00"),
266: dateutil.parser.parse("2029-01-25 15:02:00"),
267: dateutil.parser.parse("2029-01-25 19:57:00"),
268: dateutil.parser.parse("2029-01-25 23:02:00"),
269: dateutil.parser.parse("2029-01-26 02:06:00"),
270: dateutil.parser.parse("2029-01-26 05:11:00"),
271: dateutil.parser.parse("2029-01-26 08:16:00"),
272: dateutil.parser.parse("2029-01-26 11:20:00"),
273: dateutil.parser.parse("2029-01-26 14:25:00"),
274: dateutil.parser.parse("2029-01-26 17:29:00"),
275: dateutil.parser.parse("2029-01-26 20:34:00"),
276: dateutil.parser.parse("2029-01-26 23:38:00"),
277: dateutil.parser.parse("2029-01-27 02:43:00"),
278: dateutil.parser.parse("2029-01-27 05:48:00"),
279: dateutil.parser.parse("2029-01-27 08:52:00"),
280: dateutil.parser.parse("2029-01-27 11:57:00"),
281: dateutil.parser.parse("2029-01-27 15:02:00"),
282: dateutil.parser.parse("2029-01-27 18:06:00"),
283: dateutil.parser.parse("2029-01-27 21:11:00"),
284: dateutil.parser.parse("2029-01-28 00:16:00"),
285: dateutil.parser.parse("2029-01-28 03:20:00"),
286: dateutil.parser.parse("2029-01-28 06:25:00"),
287: dateutil.parser.parse("2029-01-28 09:30:00"),
288: dateutil.parser.parse("2029-01-28 12:34:00"),
289: dateutil.parser.parse("2029-01-28 15:39:00"),
290: dateutil.parser.parse("2029-01-28 18:43:00"),
291: dateutil.parser.parse("2029-01-28 21:48:00"),
292: dateutil.parser.parse("2029-01-29 00:52:00"),
293: dateutil.parser.parse("2029-01-29 03:57:00"),
294: dateutil.parser.parse("2029-01-29 07:01:00"),
295: dateutil.parser.parse("2029-01-29 10:06:00"),
296: dateutil.parser.parse("2029-01-29 13:10:00"),
297: dateutil.parser.parse("2029-01-29 16:15:00"),
298: dateutil.parser.parse("2029-01-29 19:20:00"),
299: dateutil.parser.parse("2029-01-29 22:24:00"),
300: dateutil.parser.parse("2029-01-30 01:29:00"),
301: dateutil.parser.parse("2029-01-30 04:33:00"),
302: dateutil.parser.parse("2029-01-30 07:38:00"),
303: dateutil.parser.parse("2029-01-30 10:42:00"),
304: dateutil.parser.parse("2029-01-30 13:47:00"),
305: dateutil.parser.parse("2029-01-30 16:51:00"),
306: dateutil.parser.parse("2029-01-30 19:56:00"),
307: dateutil.parser.parse("2029-01-30 23:01:00"),
308: dateutil.parser.parse("2029-01-31 02:05:00"),
309: dateutil.parser.parse("2029-01-31 05:10:00"),
310: dateutil.parser.parse("2029-01-31 08:15:00"),
311: dateutil.parser.parse("2029-01-31 11:19:00"),
312: dateutil.parser.parse("2029-01-31 14:24:00"),
313: dateutil.parser.parse("2029-01-31 17:29:00"),
314: dateutil.parser.parse("2029-01-31 20:33:00"),
315: dateutil.parser.parse("2029-01-31 23:38:00"),
316: dateutil.parser.parse("2029-02-01 02:43:00"),
317: dateutil.parser.parse("2029-02-01 05:47:00"),
318: dateutil.parser.parse("2029-02-01 08:52:00"),
319: dateutil.parser.parse("2029-02-01 11:56:00"),
320: dateutil.parser.parse("2029-02-01 15:01:00"),
321: dateutil.parser.parse("2029-02-01 18:05:00"),
322: dateutil.parser.parse("2029-02-01 21:10:00"),
323: dateutil.parser.parse("2029-02-02 00:14:00"),
324: dateutil.parser.parse("2029-02-02 03:19:00"),
325: dateutil.parser.parse("2029-02-02 06:24:00"),
326: dateutil.parser.parse("2029-02-02 09:28:00"),
327: dateutil.parser.parse("2029-02-02 12:33:00"),
328: dateutil.parser.parse("2029-02-02 15:37:00"),
329: dateutil.parser.parse("2029-02-02 18:42:00"),
330: dateutil.parser.parse("2029-02-02 21:46:00"),
331: dateutil.parser.parse("2029-02-03 00:51:00"),
332: dateutil.parser.parse("2029-02-03 03:55:00"),
333: dateutil.parser.parse("2029-02-03 07:00:00"),
334: dateutil.parser.parse("2029-02-03 10:05:00"),
335: dateutil.parser.parse("2029-02-03 13:09:00"),
336: dateutil.parser.parse("2029-02-03 16:14:00"),
337: dateutil.parser.parse("2029-02-03 19:19:00"),
338: dateutil.parser.parse("2029-02-03 22:23:00"),
339: dateutil.parser.parse("2029-02-04 01:28:00"),
340: dateutil.parser.parse("2029-02-04 04:33:00"),
341: dateutil.parser.parse("2029-02-04 07:37:00"),
342: dateutil.parser.parse("2029-02-04 10:42:00"),
343: dateutil.parser.parse("2029-02-04 13:47:00"),
344: dateutil.parser.parse("2029-02-04 16:51:00"),
345: dateutil.parser.parse("2029-02-04 19:56:00"),
346: dateutil.parser.parse("2029-02-04 23:00:00"),
347: dateutil.parser.parse("2029-02-05 02:05:00"),
348: dateutil.parser.parse("2029-02-05 05:09:00"),
349: dateutil.parser.parse("2029-02-05 08:14:00"),
350: dateutil.parser.parse("2029-02-05 11:18:00"),
351: dateutil.parser.parse("2029-02-05 14:23:00"),
352: dateutil.parser.parse("2029-02-05 17:27:00"),
353: dateutil.parser.parse("2029-02-05 20:32:00"),
354: dateutil.parser.parse("2029-02-05 23:37:00"),
355: dateutil.parser.parse("2029-02-06 02:41:00"),
356: dateutil.parser.parse("2029-02-06 05:46:00"),
357: dateutil.parser.parse("2029-02-06 08:50:00"),
358: dateutil.parser.parse("2029-02-06 11:55:00"),
359: dateutil.parser.parse("2029-02-06 14:59:00"),
360: dateutil.parser.parse("2029-02-06 18:04:00"),
361: dateutil.parser.parse("2029-02-06 21:09:00"),
362: dateutil.parser.parse("2029-02-07 00:13:00"),
363: dateutil.parser.parse("2029-02-07 03:18:00"),
364: dateutil.parser.parse("2029-02-07 06:22:00"),
365: dateutil.parser.parse("2029-02-07 09:27:00"),
366: dateutil.parser.parse("2029-02-07 12:32:00"),
367: dateutil.parser.parse("2029-02-07 15:37:00"),
368: dateutil.parser.parse("2029-02-07 18:41:00"),
369: dateutil.parser.parse("2029-02-07 21:46:00"),
370: dateutil.parser.parse("2029-02-08 00:50:00"),
371: dateutil.parser.parse("2029-02-08 03:55:00"),
372: dateutil.parser.parse("2029-02-08 07:00:00"),
373: dateutil.parser.parse("2029-02-08 10:04:00"),
374: dateutil.parser.parse("2029-02-08 13:09:00"),
375: dateutil.parser.parse("2029-02-08 16:13:00"),
376: dateutil.parser.parse("2029-02-08 19:18:00"),
377: dateutil.parser.parse("2029-02-08 22:22:00"),
378: dateutil.parser.parse("2029-02-09 01:27:00"),
379: dateutil.parser.parse("2029-02-09 04:32:00"),
380: dateutil.parser.parse("2029-02-09 07:36:00"),
381: dateutil.parser.parse("2029-02-09 10:41:00"),
382: dateutil.parser.parse("2029-02-09 13:45:00"),
383: dateutil.parser.parse("2029-02-09 16:50:00"),
384: dateutil.parser.parse("2029-02-09 19:54:00"),
385: dateutil.parser.parse("2029-02-09 22:59:00"),
386: dateutil.parser.parse("2029-02-10 02:03:00"),
387: dateutil.parser.parse("2029-02-10 05:08:00"),
388: dateutil.parser.parse("2029-02-10 08:12:00"),
389: dateutil.parser.parse("2029-02-10 11:17:00"),
390: dateutil.parser.parse("2029-02-10 14:22:00"),
391: dateutil.parser.parse("2029-02-10 17:26:00"),
392: dateutil.parser.parse("2029-02-10 20:31:00"),
393: dateutil.parser.parse("2029-02-10 23:36:00"),
394: dateutil.parser.parse("2029-02-11 02:40:00"),
395: dateutil.parser.parse("2029-02-11 05:45:00"),
396: dateutil.parser.parse("2029-02-11 08:50:00"),
397: dateutil.parser.parse("2029-02-11 11:54:00"),
398: dateutil.parser.parse("2029-02-11 14:59:00"),
399: dateutil.parser.parse("2029-02-11 18:04:00"),
400: dateutil.parser.parse("2029-02-11 21:08:00"),
401: dateutil.parser.parse("2029-02-12 00:13:00"),
402: dateutil.parser.parse("2029-02-12 03:17:00"),
403: dateutil.parser.parse("2029-02-12 06:22:00"),
404: dateutil.parser.parse("2029-02-12 09:26:00"),
405: dateutil.parser.parse("2029-02-12 12:31:00"),
406: dateutil.parser.parse("2029-02-12 15:36:00"),
407: dateutil.parser.parse("2029-02-12 18:40:00"),
408: dateutil.parser.parse("2029-02-12 21:45:00"),
409: dateutil.parser.parse("2029-02-13 00:49:00"),
410: dateutil.parser.parse("2029-02-13 03:54:00"),
411: dateutil.parser.parse("2029-02-13 06:58:00"),
412: dateutil.parser.parse("2029-02-13 10:03:00"),
413: dateutil.parser.parse("2029-02-13 13:07:00"),
414: dateutil.parser.parse("2029-02-13 16:12:00"),
415: dateutil.parser.parse("2029-02-13 19:16:00"),
416: dateutil.parser.parse("2029-02-13 22:21:00"),
417: dateutil.parser.parse("2029-02-14 01:26:00"),
418: dateutil.parser.parse("2029-02-14 04:30:00"),
419: dateutil.parser.parse("2029-02-14 07:35:00"),
420: dateutil.parser.parse("2029-02-14 10:40:00"),
421: dateutil.parser.parse("2029-02-14 13:44:00"),
422: dateutil.parser.parse("2029-02-14 16:49:00"),
423: dateutil.parser.parse("2029-02-14 19:54:00"),
424: dateutil.parser.parse("2029-02-14 22:58:00"),
425: dateutil.parser.parse("2029-02-15 02:03:00"),
426: dateutil.parser.parse("2029-02-15 05:08:00"),
427: dateutil.parser.parse("2029-02-15 08:12:00"),
428: dateutil.parser.parse("2029-02-15 11:17:00"),
429: dateutil.parser.parse("2029-02-15 14:21:00"),
430: dateutil.parser.parse("2029-02-15 17:26:00"),
431: dateutil.parser.parse("2029-02-15 20:30:00"),
432: dateutil.parser.parse("2029-02-15 23:35:00"),
433: dateutil.parser.parse("2029-02-16 02:40:00"),
434: dateutil.parser.parse("2029-02-16 05:44:00"),
435: dateutil.parser.parse("2029-02-16 08:49:00"),
436: dateutil.parser.parse("2029-02-16 11:53:00"),
437: dateutil.parser.parse("2029-02-16 14:58:00"),
438: dateutil.parser.parse("2029-02-16 18:02:00"),
439: dateutil.parser.parse("2029-02-16 21:07:00"),
440: dateutil.parser.parse("2029-02-17 00:11:00"),
441: dateutil.parser.parse("2029-02-17 03:16:00"),
442: dateutil.parser.parse("2029-02-17 06:20:00"),
443: dateutil.parser.parse("2029-02-17 09:25:00"),
444: dateutil.parser.parse("2029-02-17 12:29:00"),
445: dateutil.parser.parse("2029-02-17 15:34:00"),
446: dateutil.parser.parse("2029-02-17 18:39:00"),
447: dateutil.parser.parse("2029-02-17 21:43:00"),
448: dateutil.parser.parse("2029-02-18 00:48:00"),
449: dateutil.parser.parse("2029-02-18 03:53:00"),
450: dateutil.parser.parse("2029-02-18 06:57:00"),
451: dateutil.parser.parse("2029-02-18 10:02:00"),
452: dateutil.parser.parse("2029-02-18 13:07:00"),
453: dateutil.parser.parse("2029-02-18 16:11:00"),
454: dateutil.parser.parse("2029-02-18 19:16:00"),
455: dateutil.parser.parse("2029-02-18 22:21:00"),
456: dateutil.parser.parse("2029-02-19 01:25:00"),
457: dateutil.parser.parse("2029-02-19 04:30:00"),
458: dateutil.parser.parse("2029-02-19 07:34:00"),
459: dateutil.parser.parse("2029-02-19 10:39:00"),
460: dateutil.parser.parse("2029-02-19 13:43:00"),
461: dateutil.parser.parse("2029-02-19 16:48:00"),
462: dateutil.parser.parse("2029-02-19 19:53:00"),
463: dateutil.parser.parse("2029-02-19 22:57:00"),
464: dateutil.parser.parse("2029-02-20 02:02:00"),
465: dateutil.parser.parse("2029-02-20 05:06:00"),
466: dateutil.parser.parse("2029-02-20 08:11:00"),
467: dateutil.parser.parse("2029-02-20 11:15:00"),
468: dateutil.parser.parse("2029-02-20 14:20:00"),
469: dateutil.parser.parse("2029-02-20 17:24:00"),
470: dateutil.parser.parse("2029-02-20 20:29:00"),
471: dateutil.parser.parse("2029-02-20 23:33:00"),
472: dateutil.parser.parse("2029-02-21 02:38:00"),
473: dateutil.parser.parse("2029-02-21 05:43:00"),
474: dateutil.parser.parse("2029-02-21 08:47:00"),
475: dateutil.parser.parse("2029-02-21 11:52:00"),
476: dateutil.parser.parse("2029-02-21 14:57:00"),
477: dateutil.parser.parse("2029-02-21 18:01:00"),
478: dateutil.parser.parse("2029-02-21 21:06:00"),
479: dateutil.parser.parse("2029-02-22 00:11:00"),
480: dateutil.parser.parse("2029-02-22 03:15:00"),
481: dateutil.parser.parse("2029-02-22 06:20:00"),
482: dateutil.parser.parse("2029-02-22 09:25:00"),
483: dateutil.parser.parse("2029-02-22 12:29:00"),
484: dateutil.parser.parse("2029-02-22 15:34:00"),
485: dateutil.parser.parse("2029-02-22 18:38:00"),
486: dateutil.parser.parse("2029-02-22 21:43:00"),
487: dateutil.parser.parse("2029-02-23 00:47:00"),
488: dateutil.parser.parse("2029-02-23 03:52:00"),
489: dateutil.parser.parse("2029-02-23 06:57:00"),
490: dateutil.parser.parse("2029-02-23 10:01:00"),
491: dateutil.parser.parse("2029-02-23 13:06:00"),
492: dateutil.parser.parse("2029-02-23 16:10:00"),
493: dateutil.parser.parse("2029-02-23 19:15:00"),
494: dateutil.parser.parse("2029-02-23 22:19:00"),
495: dateutil.parser.parse("2029-02-24 01:24:00"),
496: dateutil.parser.parse("2029-02-24 04:28:00"),
497: dateutil.parser.parse("2029-02-24 07:33:00"),
498: dateutil.parser.parse("2029-02-24 10:37:00"),
499: dateutil.parser.parse("2029-02-24 13:42:00"),
500: dateutil.parser.parse("2029-02-24 16:46:00"),
501: dateutil.parser.parse("2029-02-24 19:51:00"),
502: dateutil.parser.parse("2029-02-24 22:56:00"),
503: dateutil.parser.parse("2029-02-25 02:00:00"),
504: dateutil.parser.parse("2029-02-25 05:05:00"),
505: dateutil.parser.parse("2029-02-25 08:10:00"),
506: dateutil.parser.parse("2029-02-25 11:14:00"),
507: dateutil.parser.parse("2029-02-25 14:19:00"),
508: dateutil.parser.parse("2029-02-25 17:24:00"),
509: dateutil.parser.parse("2029-02-25 20:28:00"),
510: dateutil.parser.parse("2029-02-25 23:33:00"),
511: dateutil.parser.parse("2029-02-26 02:38:00"),
512: dateutil.parser.parse("2029-02-26 05:42:00"),
513: dateutil.parser.parse("2029-02-26 08:47:00"),
514: dateutil.parser.parse("2029-02-26 11:51:00"),
515: dateutil.parser.parse("2029-02-26 14:56:00"),
516: dateutil.parser.parse("2029-02-26 18:01:00"),
517: dateutil.parser.parse("2029-02-26 21:05:00"),
518: dateutil.parser.parse("2029-02-27 00:10:00"),
519: dateutil.parser.parse("2029-02-27 03:14:00"),
520: dateutil.parser.parse("2029-02-27 06:19:00"),
521: dateutil.parser.parse("2029-02-27 09:23:00"),
522: dateutil.parser.parse("2029-02-27 12:28:00"),
523: dateutil.parser.parse("2029-02-27 15:32:00"),
524: dateutil.parser.parse("2029-02-27 18:37:00"),
525: dateutil.parser.parse("2029-02-27 21:41:00"),
526: dateutil.parser.parse("2029-02-28 00:46:00"),
527: dateutil.parser.parse("2029-02-28 03:50:00"),
528: dateutil.parser.parse("2029-02-28 06:55:00"),
529: dateutil.parser.parse("2029-02-28 10:00:00"),
530: dateutil.parser.parse("2029-02-28 13:04:00"),
531: dateutil.parser.parse("2029-02-28 16:09:00"),
532: dateutil.parser.parse("2029-02-28 19:14:00"),
533: dateutil.parser.parse("2029-02-28 22:18:00"),
534: dateutil.parser.parse("2029-03-01 01:23:00"),
535: dateutil.parser.parse("2029-03-01 04:28:00"),
536: dateutil.parser.parse("2029-03-01 07:32:00"),
537: dateutil.parser.parse("2029-03-01 10:37:00"),
538: dateutil.parser.parse("2029-03-01 13:42:00"),
539: dateutil.parser.parse("2029-03-01 16:46:00"),
540: dateutil.parser.parse("2029-03-01 18:00:00"), # datagap
541: dateutil.parser.parse("2029-03-01 23:02:00"),
542: dateutil.parser.parse("2029-03-02 02:00:00"),
543: dateutil.parser.parse("2029-03-02 05:04:00"),
544: dateutil.parser.parse("2029-03-02 08:09:00"),
545: dateutil.parser.parse("2029-03-02 11:13:00"),
546: dateutil.parser.parse("2029-03-02 14:18:00"),
547: dateutil.parser.parse("2029-03-02 17:22:00"),
548: dateutil.parser.parse("2029-03-02 20:27:00"),
549: dateutil.parser.parse("2029-03-02 23:31:00"),
550: dateutil.parser.parse("2029-03-03 02:36:00"),
551: dateutil.parser.parse("2029-03-03 05:40:00"),
552: dateutil.parser.parse("2029-03-03 08:45:00"),
553: dateutil.parser.parse("2029-03-03 11:49:00"),
554: dateutil.parser.parse("2029-03-03 14:54:00"),
555: dateutil.parser.parse("2029-03-03 17:58:00"),
556: dateutil.parser.parse("2029-03-03 21:03:00"),
557: dateutil.parser.parse("2029-03-04 00:07:00"),
558: dateutil.parser.parse("2029-03-04 03:12:00"),
559: dateutil.parser.parse("2029-03-04 06:16:00"),
560: dateutil.parser.parse("2029-03-04 09:21:00"),
561: dateutil.parser.parse("2029-03-04 12:26:00"),
562: dateutil.parser.parse("2029-03-04 15:30:00"),
563: dateutil.parser.parse("2029-03-04 18:35:00"),
564: dateutil.parser.parse("2029-03-04 21:40:00"),
565: dateutil.parser.parse("2029-03-05 00:44:00"),
566: dateutil.parser.parse("2029-03-05 03:49:00"),
567: dateutil.parser.parse("2029-03-05 06:53:00"),
568: dateutil.parser.parse("2029-03-05 09:58:00"),
569: dateutil.parser.parse("2029-03-05 13:02:00"),
570: dateutil.parser.parse("2029-03-05 16:07:00"),
571: dateutil.parser.parse("2029-03-05 19:11:00"),
572: dateutil.parser.parse("2029-03-05 22:16:00"),
573: dateutil.parser.parse("2029-03-06 01:20:00"),
574: dateutil.parser.parse("2029-03-06 04:25:00"),
575: dateutil.parser.parse("2029-03-06 07:29:00"),
576: dateutil.parser.parse("2029-03-06 10:34:00"),
577: dateutil.parser.parse("2029-03-06 13:38:00"),
578: dateutil.parser.parse("2029-03-06 16:43:00"),
579: dateutil.parser.parse("2029-03-06 19:47:00"),
580: dateutil.parser.parse("2029-03-06 22:52:00"),
581: dateutil.parser.parse("2029-03-07 01:56:00"),
582: dateutil.parser.parse("2029-03-07 05:01:00"),
583: dateutil.parser.parse("2029-03-07 08:05:00"),
584: dateutil.parser.parse("2029-03-07 11:10:00"),
585: dateutil.parser.parse("2029-03-07 14:14:00"),
586: dateutil.parser.parse("2029-03-07 17:19:00"),
587: dateutil.parser.parse("2029-03-07 20:23:00"),
588: dateutil.parser.parse("2029-03-07 23:28:00"),
589: dateutil.parser.parse("2029-03-08 02:33:00"),
590: dateutil.parser.parse("2029-03-08 05:37:00"),
591: dateutil.parser.parse("2029-03-08 08:42:00"),
592: dateutil.parser.parse("2029-03-08 11:47:00"),
593: dateutil.parser.parse("2029-03-08 14:51:00"),
594: dateutil.parser.parse("2029-03-08 17:56:00"),
595: dateutil.parser.parse("2029-03-08 21:00:00"),
596: dateutil.parser.parse("2029-03-09 00:05:00"),
597: dateutil.parser.parse("2029-03-09 03:09:00"),
598: dateutil.parser.parse("2029-03-09 06:14:00"),
599: dateutil.parser.parse("2029-03-09 09:18:00"),
600: dateutil.parser.parse("2029-03-09 12:23:00"),
601: dateutil.parser.parse("2029-03-09 15:27:00"),
602: dateutil.parser.parse("2029-03-09 18:32:00"),
603: dateutil.parser.parse("2029-03-09 21:36:00"),
604: dateutil.parser.parse("2029-03-10 00:41:00"),
605: dateutil.parser.parse("2029-03-10 03:45:00"),
606: dateutil.parser.parse("2029-03-10 06:50:00"),
607: dateutil.parser.parse("2029-03-10 09:54:00"),
608: dateutil.parser.parse("2029-03-10 12:59:00"),
609: dateutil.parser.parse("2029-03-10 16:03:00"),
610: dateutil.parser.parse("2029-03-10 19:08:00"),
611: dateutil.parser.parse("2029-03-10 22:12:00"),
612: dateutil.parser.parse("2029-03-11 01:17:00"),
613: dateutil.parser.parse("2029-03-11 04:21:00"),
614: dateutil.parser.parse("2029-03-11 07:26:00"),
615: dateutil.parser.parse("2029-03-11 10:30:00"),
616: dateutil.parser.parse("2029-03-11 13:35:00"),
617: dateutil.parser.parse("2029-03-11 16:40:00"),
618: dateutil.parser.parse("2029-03-11 19:44:00"),
619: dateutil.parser.parse("2029-03-11 22:49:00"),
620: dateutil.parser.parse("2029-03-12 01:54:00"),
621: dateutil.parser.parse("2029-03-12 04:58:00"),
622: dateutil.parser.parse("2029-03-12 08:03:00"),
623: dateutil.parser.parse("2029-03-12 11:07:00"),
624: dateutil.parser.parse("2029-03-12 14:12:00"),
625: dateutil.parser.parse("2029-03-12 17:16:00"),
626: dateutil.parser.parse("2029-03-12 20:21:00"),
627: dateutil.parser.parse("2029-03-12 23:25:00"),
628: dateutil.parser.parse("2029-03-13 02:30:00"),
629: dateutil.parser.parse("2029-03-13 05:34:00"),
630: dateutil.parser.parse("2029-03-13 08:39:00"),
631: dateutil.parser.parse("2029-03-13 11:43:00"),
632: dateutil.parser.parse("2029-03-13 14:48:00"),
633: dateutil.parser.parse("2029-03-13 17:52:00"),
634: dateutil.parser.parse("2029-03-13 20:57:00"),
635: dateutil.parser.parse("2029-03-14 00:01:00"),
636: dateutil.parser.parse("2029-03-14 03:06:00"),
637: dateutil.parser.parse("2029-03-14 06:10:00"),
638: dateutil.parser.parse("2029-03-14 09:15:00"),
639: dateutil.parser.parse("2029-03-14 12:19:00"),
640: dateutil.parser.parse("2029-03-14 15:24:00"),
641: dateutil.parser.parse("2029-03-14 18:28:00"),
642: dateutil.parser.parse("2029-03-14 21:33:00"),
643: dateutil.parser.parse("2029-03-15 00:37:00"),
644: dateutil.parser.parse("2029-03-15 03:42:00"),
645: dateutil.parser.parse("2029-03-15 06:47:00"),
646: dateutil.parser.parse("2029-03-15 09:51:00"),
647: dateutil.parser.parse("2029-03-15 12:56:00"),
648: dateutil.parser.parse("2029-03-15 16:01:00"),
649: dateutil.parser.parse("2029-03-15 19:05:00"),
650: dateutil.parser.parse("2029-03-15 22:10:00"),
651: dateutil.parser.parse("2029-03-16 01:14:00"),
652: dateutil.parser.parse("2029-03-16 04:19:00"),
653: dateutil.parser.parse("2029-03-16 07:23:00"),
654: dateutil.parser.parse("2029-03-16 10:28:00"),
655: dateutil.parser.parse("2029-03-16 13:32:00"),
656: dateutil.parser.parse("2029-03-16 16:37:00"),
657: dateutil.parser.parse("2029-03-16 19:41:00"),
658: dateutil.parser.parse("2029-03-16 22:46:00"),
659: dateutil.parser.parse("2029-03-17 01:50:00"),
660: dateutil.parser.parse("2029-03-17 04:55:00"),
661: dateutil.parser.parse("2029-03-17 07:59:00"),
662: dateutil.parser.parse("2029-03-17 11:04:00"),
663: dateutil.parser.parse("2029-03-17 14:08:00"),
664: dateutil.parser.parse("2029-03-17 17:13:00"),
665: dateutil.parser.parse("2029-03-17 20:17:00"),
666: dateutil.parser.parse("2029-03-17 23:22:00"),
667: dateutil.parser.parse("2029-03-18 02:26:00"),
668: dateutil.parser.parse("2029-03-18 05:31:00"),
669: dateutil.parser.parse("2029-03-18 08:35:00"),
670: dateutil.parser.parse("2029-03-18 11:40:00"),
671: dateutil.parser.parse("2029-03-18 14:44:00"),
672: dateutil.parser.parse("2029-03-18 17:49:00"),
673: dateutil.parser.parse("2029-03-18 20:54:00"),
674: dateutil.parser.parse("2029-03-18 23:58:00"),
675: dateutil.parser.parse("2029-03-19 03:03:00"),
676: dateutil.parser.parse("2029-03-19 06:08:00"),
677: dateutil.parser.parse("2029-03-19 09:12:00"),
678: dateutil.parser.parse("2029-03-19 12:17:00"),
679: dateutil.parser.parse("2029-03-19 15:21:00"),
680: dateutil.parser.parse("2029-03-19 18:26:00"),
681: dateutil.parser.parse("2029-03-19 21:30:00"),
682: dateutil.parser.parse("2029-03-20 00:35:00"),
683: dateutil.parser.parse("2029-03-20 03:39:00"),
684: dateutil.parser.parse("2029-03-20 06:44:00"),
685: dateutil.parser.parse("2029-03-20 09:48:00"),
686: dateutil.parser.parse("2029-03-20 12:53:00"),
687: dateutil.parser.parse("2029-03-20 15:57:00"),
688: dateutil.parser.parse("2029-03-20 19:02:00"),
689: dateutil.parser.parse("2029-03-20 22:06:00"),
690: dateutil.parser.parse("2029-03-21 01:11:00"),
691: dateutil.parser.parse("2029-03-21 04:15:00"),
692: dateutil.parser.parse("2029-03-21 07:20:00"),
693: dateutil.parser.parse("2029-03-21 10:24:00"),
694: dateutil.parser.parse("2029-03-21 13:29:00"),
695: dateutil.parser.parse("2029-03-21 16:33:00"),
696: dateutil.parser.parse("2029-03-21 19:38:00"),
697: dateutil.parser.parse("2029-03-21 22:42:00"),
698: dateutil.parser.parse("2029-03-22 01:47:00"),
699: dateutil.parser.parse("2029-03-22 04:52:00"),
700: dateutil.parser.parse("2029-03-22 07:56:00"),
701: dateutil.parser.parse("2029-03-22 11:01:00"),
702: dateutil.parser.parse("2029-03-22 14:05:00"),
703: dateutil.parser.parse("2029-03-22 17:10:00"),
704: dateutil.parser.parse("2029-03-22 20:15:00"),
705: dateutil.parser.parse("2029-03-22 23:19:00"),
706: dateutil.parser.parse("2029-03-23 02:24:00"),
707: dateutil.parser.parse("2029-03-23 05:28:00"),
708: dateutil.parser.parse("2029-03-23 08:33:00"),
709: dateutil.parser.parse("2029-03-23 11:37:00"),
710: dateutil.parser.parse("2029-03-23 14:42:00"),
711: dateutil.parser.parse("2029-03-23 17:46:00"),
712: dateutil.parser.parse("2029-03-23 20:51:00"),
713: dateutil.parser.parse("2029-03-23 23:55:00"),
714: dateutil.parser.parse("2029-03-24 03:00:00"),
715: dateutil.parser.parse("2029-03-24 06:04:00"),
716: dateutil.parser.parse("2029-03-24 09:09:00"),
717: dateutil.parser.parse("2029-03-24 12:13:00"),
718: dateutil.parser.parse("2029-03-24 15:18:00"),
719: dateutil.parser.parse("2029-03-24 18:22:00"),
720: dateutil.parser.parse("2029-03-24 21:27:00"),
721: dateutil.parser.parse("2029-03-25 00:31:00"),
722: dateutil.parser.parse("2029-03-25 03:36:00"),
723: dateutil.parser.parse("2029-03-25 06:40:00"),
724: dateutil.parser.parse("2029-03-25 09:45:00"),
725: dateutil.parser.parse("2029-03-25 12:49:00"),
726: dateutil.parser.parse("2029-03-25 15:54:00"),
727: dateutil.parser.parse("2029-03-25 18:59:00"),
728: dateutil.parser.parse("2029-03-25 22:03:00"),
729: dateutil.parser.parse("2029-03-26 01:08:00"),
730: dateutil.parser.parse("2029-03-26 04:12:00"),
731: dateutil.parser.parse("2029-03-26 07:17:00"),
732: dateutil.parser.parse("2029-03-26 10:22:00"),
733: dateutil.parser.parse("2029-03-26 13:26:00"),
734: dateutil.parser.parse("2029-03-26 16:31:00"),
735: dateutil.parser.parse("2029-03-26 19:35:00"),
736: dateutil.parser.parse("2029-03-26 22:40:00"),
737: dateutil.parser.parse("2029-03-27 01:44:00"),
738: dateutil.parser.parse("2029-03-27 04:49:00"),
739: dateutil.parser.parse("2029-03-27 07:53:00"),
740: dateutil.parser.parse("2029-03-27 10:58:00"),
741: dateutil.parser.parse("2029-03-27 14:02:00"),
742: dateutil.parser.parse("2029-03-27 17:07:00"),
743: dateutil.parser.parse("2029-03-27 20:11:00"),
744: dateutil.parser.parse("2029-03-27 23:16:00"),
745: dateutil.parser.parse("2029-03-28 02:20:00"),
746: dateutil.parser.parse("2029-03-28 05:25:00"),
747: dateutil.parser.parse("2029-03-28 08:29:00"),
748: dateutil.parser.parse("2029-03-28 11:33:00"),
749: dateutil.parser.parse("2029-03-28 14:38:00"),
750: dateutil.parser.parse("2029-03-28 17:43:00"),
751: dateutil.parser.parse("2029-03-28 20:47:00"),
752: dateutil.parser.parse("2029-03-28 23:52:00"),
753: dateutil.parser.parse("2029-03-29 02:56:00"),
754: dateutil.parser.parse("2029-03-29 06:01:00"),
755: dateutil.parser.parse("2029-03-29 09:06:00"),
756: dateutil.parser.parse("2029-03-29 12:10:00"),
757: dateutil.parser.parse("2029-03-29 15:15:00"),
758: dateutil.parser.parse("2029-03-29 18:19:00"),
759: dateutil.parser.parse("2029-03-29 21:24:00"),
760: dateutil.parser.parse("2029-03-30 00:29:00"),
761: dateutil.parser.parse("2029-03-30 03:33:00"),
762: dateutil.parser.parse("2029-03-30 06:38:00"),
763: dateutil.parser.parse("2029-03-30 09:42:00"),
764: dateutil.parser.parse("2029-03-30 12:47:00"),
765: dateutil.parser.parse("2029-03-30 15:51:00"),
766: dateutil.parser.parse("2029-03-30 18:56:00"),
767: dateutil.parser.parse("2029-03-30 22:00:00"),
768: dateutil.parser.parse("2029-03-31 01:05:00"),
769: dateutil.parser.parse("2029-03-31 04:09:00"),
770: dateutil.parser.parse("2029-03-31 07:14:00"),
771: dateutil.parser.parse("2029-03-31 10:18:00"),
772: dateutil.parser.parse("2029-03-31 13:23:00"),
773: dateutil.parser.parse("2029-03-31 16:27:00"),
774: dateutil.parser.parse("2029-03-31 19:32:00"),
775: dateutil.parser.parse("2029-03-31 22:36:00"),
776: dateutil.parser.parse("2029-04-01 01:41:00"),
777: dateutil.parser.parse("2029-04-01 04:45:00"),
778: dateutil.parser.parse("2029-04-01 07:50:00"),
779: dateutil.parser.parse("2029-04-01 10:54:00"),
780: dateutil.parser.parse("2029-04-01 13:59:00"),
781: dateutil.parser.parse("2029-04-01 17:03:00"),
782: dateutil.parser.parse("2029-04-01 20:08:00"),
783: dateutil.parser.parse("2029-04-01 23:13:00"),
784: dateutil.parser.parse("2029-04-02 02:17:00"),
785: dateutil.parser.parse("2029-04-02 05:22:00"),
786: dateutil.parser.parse("2029-04-02 08:26:00"),
787: dateutil.parser.parse("2029-04-02 11:31:00"),
788: dateutil.parser.parse("2029-04-02 14:36:00"),
789: dateutil.parser.parse("2029-04-02 17:40:00"),
790: dateutil.parser.parse("2029-04-02 20:45:00"),
791: dateutil.parser.parse("2029-04-02 23:49:00"),
792: dateutil.parser.parse("2029-04-03 02:54:00"),
793: dateutil.parser.parse("2029-04-03 05:58:00"),
794: dateutil.parser.parse("2029-04-03 09:03:00"),
795: dateutil.parser.parse("2029-04-03 12:07:00"),
796: dateutil.parser.parse("2029-04-03 15:12:00"),
797: dateutil.parser.parse("2029-04-03 18:16:00"),
798: dateutil.parser.parse("2029-04-03 21:21:00"),
799: dateutil.parser.parse("2029-04-04 00:25:00"),
800: dateutil.parser.parse("2029-04-04 03:30:00"),
801: dateutil.parser.parse("2029-04-04 06:34:00"),
802: dateutil.parser.parse("2029-04-04 09:39:00"),
803: dateutil.parser.parse("2029-04-04 12:43:00"),
804: dateutil.parser.parse("2029-04-04 15:47:00"),
805: dateutil.parser.parse("2029-04-04 18:52:00"),
806: dateutil.parser.parse("2029-04-04 21:57:00"),
807: dateutil.parser.parse("2029-04-05 01:01:00"),
808: dateutil.parser.parse("2029-04-05 04:06:00"),
809: dateutil.parser.parse("2029-04-05 07:10:00"),
810: dateutil.parser.parse("2029-04-05 10:15:00"),
811: dateutil.parser.parse("2029-04-05 13:20:00"),
812: dateutil.parser.parse("2029-04-05 16:24:00"),
813: dateutil.parser.parse("2029-04-05 18:00:00"), # datagap
814: dateutil.parser.parse("2029-04-05 22:33:00"),
815: dateutil.parser.parse("2029-04-06 01:38:00"),
816: dateutil.parser.parse("2029-04-06 04:42:00"),
817: dateutil.parser.parse("2029-04-06 07:47:00"),
818: dateutil.parser.parse("2029-04-06 10:51:00"),
819: dateutil.parser.parse("2029-04-06 13:56:00"),
820: dateutil.parser.parse("2029-04-06 17:00:00"),
821: dateutil.parser.parse("2029-04-06 20:05:00"),
822: dateutil.parser.parse("2029-04-06 23:09:00"),
823: dateutil.parser.parse("2029-04-07 02:14:00"),
824: dateutil.parser.parse("2029-04-07 05:18:00"),
825: dateutil.parser.parse("2029-04-07 08:22:00"),
826: dateutil.parser.parse("2029-04-07 11:27:00"),
827: dateutil.parser.parse("2029-04-07 14:31:00"),
828: dateutil.parser.parse("2029-04-07 17:36:00"),
829: dateutil.parser.parse("2029-04-07 20:40:00"),
830: dateutil.parser.parse("2029-04-07 23:44:00"),
831: dateutil.parser.parse("2029-04-08 02:49:00"),
832: dateutil.parser.parse("2029-04-08 05:53:00"),
833: dateutil.parser.parse("2029-04-08 08:58:00"),
834: dateutil.parser.parse("2029-04-08 12:02:00"),
835: dateutil.parser.parse("2029-04-08 15:07:00"),
836: dateutil.parser.parse("2029-04-08 18:11:00"),
837: dateutil.parser.parse("2029-04-08 21:16:00"),
838: dateutil.parser.parse("2029-04-09 00:20:00"),
839: dateutil.parser.parse("2029-04-09 03:25:00"),
840: dateutil.parser.parse("2029-04-09 06:29:00"),
841: dateutil.parser.parse("2029-04-09 09:34:00"),
842: dateutil.parser.parse("2029-04-09 12:38:00"),
843: dateutil.parser.parse("2029-04-09 15:43:00"),
844: dateutil.parser.parse("2029-04-09 18:47:00"),
845: dateutil.parser.parse("2029-04-09 21:52:00"),
846: dateutil.parser.parse("2029-04-10 00:56:00"),
847: dateutil.parser.parse("2029-04-10 04:01:00"),
848: dateutil.parser.parse("2029-04-10 07:05:00"),
849: dateutil.parser.parse("2029-04-10 10:10:00"),
850: dateutil.parser.parse("2029-04-10 13:14:00"),
851: dateutil.parser.parse("2029-04-10 16:19:00"),
852: dateutil.parser.parse("2029-04-10 19:23:00"),
853: dateutil.parser.parse("2029-04-10 22:27:00"),
854: dateutil.parser.parse("2029-04-11 01:32:00"),
855: dateutil.parser.parse("2029-04-11 04:36:00"),
856: dateutil.parser.parse("2029-04-11 07:40:00"),
857: dateutil.parser.parse("2029-04-11 10:45:00"),
858: dateutil.parser.parse("2029-04-11 13:49:00"),
859: dateutil.parser.parse("2029-04-11 16:54:00"),
860: dateutil.parser.parse("2029-04-11 19:58:00"),
861: dateutil.parser.parse("2029-04-11 23:02:00"),
862: dateutil.parser.parse("2029-04-12 02:07:00"),
863: dateutil.parser.parse("2029-04-12 05:11:00"),
864: dateutil.parser.parse("2029-04-12 08:16:00"),
865: dateutil.parser.parse("2029-04-12 11:20:00"),
866: dateutil.parser.parse("2029-04-12 14:25:00"),
867: dateutil.parser.parse("2029-04-12 17:30:00"),
868: dateutil.parser.parse("2029-04-12 20:34:00"),
869: dateutil.parser.parse("2029-04-12 23:39:00"),
870: dateutil.parser.parse("2029-04-13 02:43:00"),
871: dateutil.parser.parse("2029-04-13 05:48:00"),
872: dateutil.parser.parse("2029-04-13 08:52:00"),
873: dateutil.parser.parse("2029-04-13 11:57:00"),
874: dateutil.parser.parse("2029-04-13 15:01:00"),
875: dateutil.parser.parse("2029-04-13 18:06:00"),
876: dateutil.parser.parse("2029-04-13 21:10:00"),
877: dateutil.parser.parse("2029-04-14 00:15:00"),
878: dateutil.parser.parse("2029-04-14 03:19:00"),
879: dateutil.parser.parse("2029-04-14 06:23:00"),
880: dateutil.parser.parse("2029-04-14 09:28:00"),
881: dateutil.parser.parse("2029-04-14 12:32:00"),
882: dateutil.parser.parse("2029-04-14 15:37:00"),
883: dateutil.parser.parse("2029-04-14 18:41:00"),
884: dateutil.parser.parse("2029-04-14 21:45:00"),
885: dateutil.parser.parse("2029-04-15 00:50:00"),
886: dateutil.parser.parse("2029-04-15 03:54:00"),
887: dateutil.parser.parse("2029-04-15 06:59:00"),
888: dateutil.parser.parse("2029-04-15 10:03:00"),
889: dateutil.parser.parse("2029-04-15 13:07:00"),
890: dateutil.parser.parse("2029-04-15 16:12:00"),
891: dateutil.parser.parse("2029-04-15 19:16:00"),
892: dateutil.parser.parse("2029-04-15 22:21:00"),
893: dateutil.parser.parse("2029-04-16 01:25:00"),
894: dateutil.parser.parse("2029-04-16 04:30:00"),
895: dateutil.parser.parse("2029-04-16 07:34:00"),
896: dateutil.parser.parse("2029-04-16 10:39:00"),
897: dateutil.parser.parse("2029-04-16 13:44:00"),
898: dateutil.parser.parse("2029-04-16 16:48:00"),
899: dateutil.parser.parse("2029-04-16 19:53:00"),
900: dateutil.parser.parse("2029-04-16 22:57:00"),
901: dateutil.parser.parse("2029-04-17 02:02:00"),
902: dateutil.parser.parse("2029-04-17 05:06:00"),
903: dateutil.parser.parse("2029-04-17 08:11:00"),
904: dateutil.parser.parse("2029-04-17 11:15:00"),
905: dateutil.parser.parse("2029-04-17 14:20:00"),
906: dateutil.parser.parse("2029-04-17 17:24:00"),
907: dateutil.parser.parse("2029-04-17 20:28:00"),
908: dateutil.parser.parse("2029-04-17 23:33:00"),
909: dateutil.parser.parse("2029-04-18 02:37:00"),
910: dateutil.parser.parse("2029-04-18 05:41:00"),
911: dateutil.parser.parse("2029-04-18 08:46:00"),
912: dateutil.parser.parse("2029-04-18 11:50:00"),
913: dateutil.parser.parse("2029-04-18 14:55:00"),
914: dateutil.parser.parse("2029-04-18 17:59:00"),
915: dateutil.parser.parse("2029-04-18 21:03:00"),
916: dateutil.parser.parse("2029-04-19 00:08:00"),
917: dateutil.parser.parse("2029-04-19 03:12:00"),
918: dateutil.parser.parse("2029-04-19 06:17:00"),
919: dateutil.parser.parse("2029-04-19 09:21:00"),
920: dateutil.parser.parse("2029-04-19 12:26:00"),
921: dateutil.parser.parse("2029-04-19 15:30:00"),
922: dateutil.parser.parse("2029-04-19 18:35:00"),
923: dateutil.parser.parse("2029-04-19 21:39:00"),
924: dateutil.parser.parse("2029-04-20 00:44:00"),
925: dateutil.parser.parse("2029-04-20 03:49:00"),
926: dateutil.parser.parse("2029-04-20 06:53:00"),
927: dateutil.parser.parse("2029-04-20 09:58:00"),
928: dateutil.parser.parse("2029-04-20 13:02:00"),
929: dateutil.parser.parse("2029-04-20 16:07:00"),
930: dateutil.parser.parse("2029-04-20 19:11:00"),
931: dateutil.parser.parse("2029-04-20 22:16:00"),
932: dateutil.parser.parse("2029-04-21 01:20:00"),
933: dateutil.parser.parse("2029-04-21 04:24:00"),
934: dateutil.parser.parse("2029-04-21 07:29:00"),
935: dateutil.parser.parse("2029-04-21 10:33:00"),
936: dateutil.parser.parse("2029-04-21 13:38:00"),
937: dateutil.parser.parse("2029-04-21 16:42:00"),
938: dateutil.parser.parse("2029-04-21 19:46:00"),
939: dateutil.parser.parse("2029-04-21 22:51:00"),
940: dateutil.parser.parse("2029-04-22 01:55:00"),
941: dateutil.parser.parse("2029-04-22 05:00:00"),
942: dateutil.parser.parse("2029-04-22 08:04:00"),
943: dateutil.parser.parse("2029-04-22 11:08:00"),
944: dateutil.parser.parse("2029-04-22 14:13:00"),
945: dateutil.parser.parse("2029-04-22 17:17:00"),
946: dateutil.parser.parse("2029-04-22 20:22:00"),
947: dateutil.parser.parse("2029-04-22 23:26:00"),
948: dateutil.parser.parse("2029-04-23 02:31:00"),
949: dateutil.parser.parse("2029-04-23 05:35:00"),
950: dateutil.parser.parse("2029-04-23 08:40:00"),
951: dateutil.parser.parse("2029-04-23 11:44:00"),
952: dateutil.parser.parse("2029-04-23 14:49:00"),
953: dateutil.parser.parse("2029-04-23 17:53:00"),
954: dateutil.parser.parse("2029-04-23 20:58:00"),
955: dateutil.parser.parse("2029-04-24 00:03:00"),
956: dateutil.parser.parse("2029-04-24 03:07:00"),
957: dateutil.parser.parse("2029-04-24 06:12:00"),
958: dateutil.parser.parse("2029-04-24 09:16:00"),
959: dateutil.parser.parse("2029-04-24 12:20:00"),
960: dateutil.parser.parse("2029-04-24 15:25:00"),
961: dateutil.parser.parse("2029-04-24 18:29:00"),
962: dateutil.parser.parse("2029-04-24 21:34:00"),
963: dateutil.parser.parse("2029-04-25 00:38:00"),
964: dateutil.parser.parse("2029-04-25 03:43:00"),
965: dateutil.parser.parse("2029-04-25 06:47:00"),
966: dateutil.parser.parse("2029-04-25 09:51:00"),
967: dateutil.parser.parse("2029-04-25 12:56:00"),
968: dateutil.parser.parse("2029-04-25 16:00:00"),
969: dateutil.parser.parse("2029-04-25 19:04:00"),
970: dateutil.parser.parse("2029-04-25 22:09:00"),
971: dateutil.parser.parse("2029-04-26 01:13:00"),
972: dateutil.parser.parse("2029-04-26 04:18:00"),
973: dateutil.parser.parse("2029-04-26 07:22:00"),
974: dateutil.parser.parse("2029-04-26 10:27:00"),
975: dateutil.parser.parse("2029-04-26 13:31:00"),
976: dateutil.parser.parse("2029-04-26 16:36:00"),
977: dateutil.parser.parse("2029-04-26 19:40:00"),
978: dateutil.parser.parse("2029-04-26 22:45:00"),
979: dateutil.parser.parse("2029-04-27 01:49:00"),
980: dateutil.parser.parse("2029-04-27 04:54:00"),
981: dateutil.parser.parse("2029-04-27 07:58:00"),
982: dateutil.parser.parse("2029-04-27 11:03:00"),
983: dateutil.parser.parse("2029-04-27 14:07:00"),
984: dateutil.parser.parse("2029-04-27 17:12:00"),
985: dateutil.parser.parse("2029-04-27 20:16:00"),
986: dateutil.parser.parse("2029-04-27 23:21:00"),
987: dateutil.parser.parse("2029-04-28 02:25:00"),
988: dateutil.parser.parse("2029-04-28 05:30:00"),
989: dateutil.parser.parse("2029-04-28 08:34:00"),
990: dateutil.parser.parse("2029-04-28 11:39:00"),
991: dateutil.parser.parse("2029-04-28 14:43:00"),
992: dateutil.parser.parse("2029-04-28 17:47:00"),
993: dateutil.parser.parse("2029-04-28 20:52:00"),
994: dateutil.parser.parse("2029-04-28 23:56:00"),
995: dateutil.parser.parse("2029-04-29 03:01:00"),
996: dateutil.parser.parse("2029-04-29 06:05:00"),
997: dateutil.parser.parse("2029-04-29 09:09:00"),
998: dateutil.parser.parse("2029-04-29 12:14:00"),
999: dateutil.parser.parse("2029-04-29 15:18:00"),
1000: dateutil.parser.parse("2029-04-29 18:23:00"),
1001: dateutil.parser.parse("2029-04-29 21:27:00"),
1002: dateutil.parser.parse("2029-04-30 00:32:00"),
1003: dateutil.parser.parse("2029-04-30 03:36:00"),
1004: dateutil.parser.parse("2029-04-30 06:41:00"),
1005: dateutil.parser.parse("2029-04-30 09:45:00"),
1006: dateutil.parser.parse("2029-04-30 12:50:00"),
1007: dateutil.parser.parse("2029-04-30 15:54:00"),
1008: dateutil.parser.parse("2029-04-30 18:59:00"),
1009: dateutil.parser.parse("2029-04-30 22:03:00"),
1010: dateutil.parser.parse("2029-05-01 01:08:00"),
1011: dateutil.parser.parse("2029-05-01 04:12:00"),
1012: dateutil.parser.parse("2029-05-01 07:17:00"),
1013: dateutil.parser.parse("2029-05-01 10:21:00"),
1014: dateutil.parser.parse("2029-05-01 13:26:00"),
1015: dateutil.parser.parse("2029-05-01 16:30:00"),
1016: dateutil.parser.parse("2029-05-01 19:35:00"),
1017: dateutil.parser.parse("2029-05-01 22:39:00"),
1018: dateutil.parser.parse("2029-05-02 01:44:00"),
1019: dateutil.parser.parse("2029-05-02 04:48:00"),
1020: dateutil.parser.parse("2029-05-02 07:52:00"),
1021: dateutil.parser.parse("2029-05-02 10:57:00"),
1022: dateutil.parser.parse("2029-05-02 14:01:00"),
1023: dateutil.parser.parse("2029-05-02 17:05:00"),
1024: dateutil.parser.parse("2029-05-02 20:10:00"),
1025: dateutil.parser.parse("2029-05-02 23:14:00"),
1026: dateutil.parser.parse("2029-05-03 02:19:00"),
1027: dateutil.parser.parse("2029-05-03 05:23:00"),
1028: dateutil.parser.parse("2029-05-03 08:28:00"),
1029: dateutil.parser.parse("2029-05-03 11:32:00"),
1030: dateutil.parser.parse("2029-05-03 14:36:00"),
1031: dateutil.parser.parse("2029-05-03 17:41:00"),
1032: dateutil.parser.parse("2029-05-03 20:46:00"),
1033: dateutil.parser.parse("2029-05-03 23:50:00"),
1034: dateutil.parser.parse("2029-05-04 02:55:00"),
1035: dateutil.parser.parse("2029-05-04 05:59:00"),
1036: dateutil.parser.parse("2029-05-04 09:04:00"),
1037: dateutil.parser.parse("2029-05-04 12:08:00"),
1038: dateutil.parser.parse("2029-05-04 15:13:00"),
1039: dateutil.parser.parse("2029-05-04 18:17:00"),
1040: dateutil.parser.parse("2029-05-04 21:22:00"),
1041: dateutil.parser.parse("2029-05-05 00:26:00"),
1042: dateutil.parser.parse("2029-05-05 03:31:00"),
1043: dateutil.parser.parse("2029-05-05 06:35:00"),
1044: dateutil.parser.parse("2029-05-05 09:40:00"),
1045: dateutil.parser.parse("2029-05-05 12:44:00"),
1046: dateutil.parser.parse("2029-05-05 15:49:00"),
1047: dateutil.parser.parse("2029-05-05 18:53:00"),
1048: dateutil.parser.parse("2029-05-05 21:57:00"),
1049: dateutil.parser.parse("2029-05-06 01:02:00"),
1050: dateutil.parser.parse("2029-05-06 04:06:00"),
1051: dateutil.parser.parse("2029-05-06 07:10:00"),
1052: dateutil.parser.parse("2029-05-06 10:15:00"),
1053: dateutil.parser.parse("2029-05-06 13:19:00"),
1054: dateutil.parser.parse("2029-05-06 16:24:00"),
1055: dateutil.parser.parse("2029-05-06 19:28:00"),
1056: dateutil.parser.parse("2029-05-06 22:32:00"),
1057: dateutil.parser.parse("2029-05-07 01:37:00"),
1058: dateutil.parser.parse("2029-05-07 04:41:00"),
1059: dateutil.parser.parse("2029-05-07 07:46:00"),
1060: dateutil.parser.parse("2029-05-07 10:50:00"),
1061: dateutil.parser.parse("2029-05-07 13:55:00"),
1062: dateutil.parser.parse("2029-05-07 17:00:00"),
1063: dateutil.parser.parse("2029-05-07 20:04:00"),
1064: dateutil.parser.parse("2029-05-07 23:09:00"),
1065: dateutil.parser.parse("2029-05-08 02:13:00"),
1066: dateutil.parser.parse("2029-05-08 05:18:00"),
1067: dateutil.parser.parse("2029-05-08 08:22:00"),
1068: dateutil.parser.parse("2029-05-08 11:27:00"),
1069: dateutil.parser.parse("2029-05-08 14:31:00"),
1070: dateutil.parser.parse("2029-05-08 17:36:00"),
1071: dateutil.parser.parse("2029-05-08 20:40:00"),
1072: dateutil.parser.parse("2029-05-08 23:45:00"),
1073: dateutil.parser.parse("2029-05-09 02:49:00"),
1074: dateutil.parser.parse("2029-05-09 05:53:00"),
1075: dateutil.parser.parse("2029-05-09 08:58:00"),
1076: dateutil.parser.parse("2029-05-09 12:02:00"),
1077: dateutil.parser.parse("2029-05-09 15:07:00"),
1078: dateutil.parser.parse("2029-05-09 18:11:00"),
1079: dateutil.parser.parse("2029-05-09 21:15:00"),
1080: dateutil.parser.parse("2029-05-10 00:20:00"),
1081: dateutil.parser.parse("2029-05-10 03:24:00"),
1082: dateutil.parser.parse("2029-05-10 06:29:00"),
1083: dateutil.parser.parse("2029-05-10 09:33:00"),
1084: dateutil.parser.parse("2029-05-10 12:37:00"),
1085: dateutil.parser.parse("2029-05-10 15:42:00"),
1086: dateutil.parser.parse("2029-05-10 16:00:00"), # datagap
1087: dateutil.parser.parse("2029-05-10 22:02:00"),
1088: dateutil.parser.parse("2029-05-11 00:55:00"),
1089: dateutil.parser.parse("2029-05-11 04:00:00"),
1090: dateutil.parser.parse("2029-05-11 07:05:00"),
1091: dateutil.parser.parse("2029-05-11 10:09:00"),
1092: dateutil.parser.parse("2029-05-11 13:14:00"),
1093: dateutil.parser.parse("2029-05-11 16:18:00"),
1094: dateutil.parser.parse("2029-05-11 19:23:00"),
1095: dateutil.parser.parse("2029-05-11 22:27:00"),
1096: dateutil.parser.parse("2029-05-12 01:32:00"),
1097: dateutil.parser.parse("2029-05-12 04:36:00"),
1098: dateutil.parser.parse("2029-05-12 07:41:00"),
1099: dateutil.parser.parse("2029-05-12 10:45:00"),
1100: dateutil.parser.parse("2029-05-12 13:50:00"),
1101: dateutil.parser.parse("2029-05-12 16:54:00"),
1102: dateutil.parser.parse("2029-05-12 19:59:00"),
1103: dateutil.parser.parse("2029-05-12 23:03:00"),
1104: dateutil.parser.parse("2029-05-13 02:08:00"),
1105: dateutil.parser.parse("2029-05-13 05:12:00"),
1106: dateutil.parser.parse("2029-05-13 08:16:00"),
1107: dateutil.parser.parse("2029-05-13 11:21:00"),
1108: dateutil.parser.parse("2029-05-13 14:25:00"),
1109: dateutil.parser.parse("2029-05-13 17:30:00"),
1110: dateutil.parser.parse("2029-05-13 20:34:00"),
1111: dateutil.parser.parse("2029-05-13 23:39:00"),
1112: dateutil.parser.parse("2029-05-14 02:43:00"),
1113: dateutil.parser.parse("2029-05-14 05:48:00"),
1114: dateutil.parser.parse("2029-05-14 08:52:00"),
1115: dateutil.parser.parse("2029-05-14 11:57:00"),
1116: dateutil.parser.parse("2029-05-14 15:01:00"),
1117: dateutil.parser.parse("2029-05-14 18:06:00"),
1118: dateutil.parser.parse("2029-05-14 21:10:00"),
1119: dateutil.parser.parse("2029-05-15 00:15:00"),
1120: dateutil.parser.parse("2029-05-15 03:19:00"),
1121: dateutil.parser.parse("2029-05-15 06:24:00"),
1122: dateutil.parser.parse("2029-05-15 09:29:00"),
1123: dateutil.parser.parse("2029-05-15 12:33:00"),
1124: dateutil.parser.parse("2029-05-15 15:38:00"),
1125: dateutil.parser.parse("2029-05-15 18:42:00"),
1126: dateutil.parser.parse("2029-05-15 21:47:00"),
1127: dateutil.parser.parse("2029-05-16 00:51:00"),
1128: dateutil.parser.parse("2029-05-16 03:56:00"),
1129: dateutil.parser.parse("2029-05-16 07:00:00"),
1130: dateutil.parser.parse("2029-05-16 10:04:00"),
1131: dateutil.parser.parse("2029-05-16 13:09:00"),
1132: dateutil.parser.parse("2029-05-16 16:13:00"),
1133: dateutil.parser.parse("2029-05-16 19:18:00"),
1134: dateutil.parser.parse("2029-05-16 22:22:00"),
1135: dateutil.parser.parse("2029-05-17 01:26:00"),
1136: dateutil.parser.parse("2029-05-17 04:31:00"),
1137: dateutil.parser.parse("2029-05-17 07:35:00"),
1138: dateutil.parser.parse("2029-05-17 10:40:00"),
1139: dateutil.parser.parse("2029-05-17 13:44:00"),
1140: dateutil.parser.parse("2029-05-17 16:49:00"),
1141: dateutil.parser.parse("2029-05-17 19:53:00"),
1142: dateutil.parser.parse("2029-05-17 22:58:00"),
1143: dateutil.parser.parse("2029-05-18 02:02:00"),
1144: dateutil.parser.parse("2029-05-18 05:07:00"),
1145: dateutil.parser.parse("2029-05-18 08:11:00"),
1146: dateutil.parser.parse("2029-05-18 11:16:00"),
1147: dateutil.parser.parse("2029-05-18 14:20:00"),
1148: dateutil.parser.parse("2029-05-18 17:25:00"),
1149: dateutil.parser.parse("2029-05-18 20:30:00"),
1150: dateutil.parser.parse("2029-05-18 23:34:00"),
1151: dateutil.parser.parse("2029-05-19 02:39:00"),
1152: dateutil.parser.parse("2029-05-19 05:43:00"),
1153: dateutil.parser.parse("2029-05-19 08:48:00"),
1154: dateutil.parser.parse("2029-05-19 11:52:00"),
1155: dateutil.parser.parse("2029-05-19 14:57:00"),
1156: dateutil.parser.parse("2029-05-19 18:01:00"),
1157: dateutil.parser.parse("2029-05-19 21:06:00"),
1158: dateutil.parser.parse("2029-05-20 00:10:00"),
1159: dateutil.parser.parse("2029-05-20 03:15:00"),
1160: dateutil.parser.parse("2029-05-20 06:19:00"),
1161: dateutil.parser.parse("2029-05-20 09:23:00"),
1162: dateutil.parser.parse("2029-05-20 12:28:00"),
1163: dateutil.parser.parse("2029-05-20 15:32:00"),
1164: dateutil.parser.parse("2029-05-20 18:37:00"),
1165: dateutil.parser.parse("2029-05-20 21:41:00"),
1166: dateutil.parser.parse("2029-05-21 00:45:00"),
1167: dateutil.parser.parse("2029-05-21 03:50:00"),
1168: dateutil.parser.parse("2029-05-21 06:54:00"),
1169: dateutil.parser.parse("2029-05-21 09:59:00"),
1170: dateutil.parser.parse("2029-05-21 13:03:00"),
1171: dateutil.parser.parse("2029-05-21 16:08:00"),
1172: dateutil.parser.parse("2029-05-21 19:12:00"),
1173: dateutil.parser.parse("2029-05-21 22:17:00"),
1174: dateutil.parser.parse("2029-05-22 01:22:00"),
1175: dateutil.parser.parse("2029-05-22 04:26:00"),
1176: dateutil.parser.parse("2029-05-22 07:31:00"),
1177: dateutil.parser.parse("2029-05-22 10:35:00"),
1178: dateutil.parser.parse("2029-05-22 13:40:00"),
1179: dateutil.parser.parse("2029-05-22 16:44:00"),
1180: dateutil.parser.parse("2029-05-22 19:49:00"),
1181: dateutil.parser.parse("2029-05-22 22:53:00"),
1182: dateutil.parser.parse("2029-05-23 01:58:00"),
1183: dateutil.parser.parse("2029-05-23 05:02:00"),
1184: dateutil.parser.parse("2029-05-23 08:07:00"),
1185: dateutil.parser.parse("2029-05-23 11:11:00"),
1186: dateutil.parser.parse("2029-05-23 14:16:00"),
1187: dateutil.parser.parse("2029-05-23 17:20:00"),
1188: dateutil.parser.parse("2029-05-23 20:25:00"),
1189: dateutil.parser.parse("2029-05-23 23:29:00"),
1190: dateutil.parser.parse("2029-05-24 02:33:00"),
1191: dateutil.parser.parse("2029-05-24 05:38:00"),
1192: dateutil.parser.parse("2029-05-24 08:42:00"),
1193: dateutil.parser.parse("2029-05-24 11:47:00"),
1194: dateutil.parser.parse("2029-05-24 14:51:00"),
1195: dateutil.parser.parse("2029-05-24 17:56:00"),
1196: dateutil.parser.parse("2029-05-24 21:00:00"),
1197: dateutil.parser.parse("2029-05-25 00:05:00"),
1198: dateutil.parser.parse("2029-05-25 03:09:00"),
1199: dateutil.parser.parse("2029-05-25 06:14:00"),
1200: dateutil.parser.parse("2029-05-25 09:18:00"),
1201: dateutil.parser.parse("2029-05-25 12:23:00"),
1202: dateutil.parser.parse("2029-05-25 15:27:00"),
1203: dateutil.parser.parse("2029-05-25 18:32:00"),
1204: dateutil.parser.parse("2029-05-25 21:14:00"),
1205: dateutil.parser.parse("2029-05-25 23:52:00"),
1206: dateutil.parser.parse("2029-05-26 02:31:00"),
1207: dateutil.parser.parse("2029-05-26 05:10:00"),
1208: dateutil.parser.parse("2029-05-26 07:48:00"),
1209: dateutil.parser.parse("2029-05-26 10:27:00"),
1210: dateutil.parser.parse("2029-05-26 13:06:00"),
1211: dateutil.parser.parse("2029-05-26 15:44:00"),
1212: dateutil.parser.parse("2029-05-26 18:23:00"),
1213: dateutil.parser.parse("2029-05-26 21:02:00"),
1214: dateutil.parser.parse("2029-05-26 23:40:00"),
1215: dateutil.parser.parse("2029-05-27 02:19:00"),
1216: dateutil.parser.parse("2029-05-27 04:58:00"),
1217: dateutil.parser.parse("2029-05-27 07:36:00"),
1218: dateutil.parser.parse("2029-05-27 10:15:00"),
1219: dateutil.parser.parse("2029-05-27 12:53:00"),
1220: dateutil.parser.parse("2029-05-27 15:32:00"),
1221: dateutil.parser.parse("2029-05-27 18:10:00"),
1222: dateutil.parser.parse("2029-05-27 20:49:00"),
1223: dateutil.parser.parse("2029-05-27 23:28:00"),
1224: dateutil.parser.parse("2029-05-28 02:06:00"),
1225: dateutil.parser.parse("2029-05-28 04:45:00"),
1226: dateutil.parser.parse("2029-05-28 07:23:00"),
1227: dateutil.parser.parse("2029-05-28 10:02:00"),
1228: dateutil.parser.parse("2029-05-28 12:41:00"),
1229: dateutil.parser.parse("2029-05-28 15:19:00"),
1230: dateutil.parser.parse("2029-05-28 17:58:00"),
1231: dateutil.parser.parse("2029-05-28 20:37:00"),
1232: dateutil.parser.parse("2029-05-28 23:15:00"),
1233: dateutil.parser.parse("2029-05-29 01:54:00"),
1234: dateutil.parser.parse("2029-05-29 04:33:00"),
1235: dateutil.parser.parse("2029-05-29 07:11:00"),
1236: dateutil.parser.parse("2029-05-29 09:50:00"),
1237: dateutil.parser.parse("2029-05-29 12:29:00"),
1238: dateutil.parser.parse("2029-05-29 15:07:00"),
1239: dateutil.parser.parse("2029-05-29 17:46:00"),
1240: dateutil.parser.parse("2029-05-29 20:25:00"),
1241: dateutil.parser.parse("2029-05-29 23:04:00"),
1242: dateutil.parser.parse("2029-05-30 01:42:00"),
1243: dateutil.parser.parse("2029-05-30 04:21:00"),
1244: dateutil.parser.parse("2029-05-30 06:59:00"),
1245: dateutil.parser.parse("2029-05-30 09:38:00"),
1246: dateutil.parser.parse("2029-05-30 12:17:00"),
1247: dateutil.parser.parse("2029-05-30 14:55:00"),
1248: dateutil.parser.parse("2029-05-30 17:34:00"),
1249: dateutil.parser.parse("2029-05-30 20:13:00"),
1250: dateutil.parser.parse("2029-05-30 22:51:00"),
1251: dateutil.parser.parse("2029-05-31 01:30:00"),
1252: dateutil.parser.parse("2029-05-31 04:08:00"),
1253: dateutil.parser.parse("2029-05-31 06:47:00"),
1254: dateutil.parser.parse("2029-05-31 09:25:00"),
1255: dateutil.parser.parse("2029-05-31 12:04:00"),
1256: dateutil.parser.parse("2029-05-31 14:43:00"),
1257: dateutil.parser.parse("2029-05-31 17:21:00"),
1258: dateutil.parser.parse("2029-05-31 20:00:00"),
1259: dateutil.parser.parse("2029-05-31 22:38:00"),
1260: dateutil.parser.parse("2029-06-01 01:17:00"),
1261: dateutil.parser.parse("2029-06-01 03:56:00"),
1262: dateutil.parser.parse("2029-06-01 06:34:00"),
1263: dateutil.parser.parse("2029-06-01 09:13:00"),
1264: dateutil.parser.parse("2029-06-01 11:52:00"),
1265: dateutil.parser.parse("2029-06-01 14:30:00"),
1266: dateutil.parser.parse("2029-06-01 17:09:00"),
1267: dateutil.parser.parse("2029-06-01 19:48:00"),
1268: dateutil.parser.parse("2029-06-01 22:26:00"),
1269: dateutil.parser.parse("2029-06-02 01:05:00"),
1270: dateutil.parser.parse("2029-06-02 03:44:00"),
1271: dateutil.parser.parse("2029-06-02 06:23:00"),
1272: dateutil.parser.parse("2029-06-02 09:01:00"),
1273: dateutil.parser.parse("2029-06-02 11:40:00"),
1274: dateutil.parser.parse("2029-06-02 14:19:00"),
1275: dateutil.parser.parse("2029-06-02 16:57:00"),
1276: dateutil.parser.parse("2029-06-02 19:36:00"),
1277: dateutil.parser.parse("2029-06-02 22:14:00"),
1278: dateutil.parser.parse("2029-06-03 00:53:00"),
1279: dateutil.parser.parse("2029-06-03 03:32:00"),
1280: dateutil.parser.parse("2029-06-03 06:10:00"),
1281: dateutil.parser.parse("2029-06-03 08:49:00"),
1282: dateutil.parser.parse("2029-06-03 11:28:00"),
1283: dateutil.parser.parse("2029-06-03 14:06:00"),
1284: dateutil.parser.parse("2029-06-03 16:45:00"),
1285: dateutil.parser.parse("2029-06-03 19:23:00"),
1286: dateutil.parser.parse("2029-06-03 22:02:00"),
1287: dateutil.parser.parse("2029-06-04 00:40:00"),
1288: dateutil.parser.parse("2029-06-04 03:19:00"),
1289: dateutil.parser.parse("2029-06-04 05:58:00"),
1290: dateutil.parser.parse("2029-06-04 08:36:00"),
1291: dateutil.parser.parse("2029-06-04 11:15:00"),
1292: dateutil.parser.parse("2029-06-04 13:53:00"),
1293: dateutil.parser.parse("2029-06-04 16:32:00"),
1294: dateutil.parser.parse("2029-06-04 19:11:00"),
1295: dateutil.parser.parse("2029-06-04 21:49:00"),
1296: dateutil.parser.parse("2029-06-05 00:28:00"),
1297: dateutil.parser.parse("2029-06-05 03:07:00"),
1298: dateutil.parser.parse("2029-06-05 05:45:00"),
1299: dateutil.parser.parse("2029-06-05 08:24:00"),
1300: dateutil.parser.parse("2029-06-05 11:03:00"),
1301: dateutil.parser.parse("2029-06-05 13:42:00"),
1302: dateutil.parser.parse("2029-06-05 16:20:00"),
1303: dateutil.parser.parse("2029-06-05 18:59:00"),
1304: dateutil.parser.parse("2029-06-05 21:38:00"),
1305: dateutil.parser.parse("2029-06-06 00:16:00"),
1306: dateutil.parser.parse("2029-06-06 02:55:00"),
1307: dateutil.parser.parse("2029-06-06 05:34:00"),
1308: dateutil.parser.parse("2029-06-06 08:12:00"),
1309: dateutil.parser.parse("2029-06-06 10:51:00"),
1310: dateutil.parser.parse("2029-06-06 13:29:00"),
1311: dateutil.parser.parse("2029-06-06 16:08:00"),
1312: dateutil.parser.parse("2029-06-06 18:47:00"),
1313: dateutil.parser.parse("2029-06-06 21:25:00"),
1314: dateutil.parser.parse("2029-06-07 00:04:00"),
1315: dateutil.parser.parse("2029-06-07 02:42:00"),
1316: dateutil.parser.parse("2029-06-07 05:21:00"),
1317: dateutil.parser.parse("2029-06-07 08:00:00"),
1318: dateutil.parser.parse("2029-06-07 10:38:00"),
1319: dateutil.parser.parse("2029-06-07 13:17:00"),
1320: dateutil.parser.parse("2029-06-07 15:55:00"),
1321: dateutil.parser.parse("2029-06-07 18:34:00"),
1322: dateutil.parser.parse("2029-06-07 21:13:00"),
1323: dateutil.parser.parse("2029-06-07 23:51:00"),
1324: dateutil.parser.parse("2029-06-08 02:30:00"),
1325: dateutil.parser.parse("2029-06-08 05:08:00"),
1326: dateutil.parser.parse("2029-06-08 07:47:00"),
1327: dateutil.parser.parse("2029-06-08 10:26:00"),
1328: dateutil.parser.parse("2029-06-08 13:04:00"),
1329: dateutil.parser.parse("2029-06-08 15:43:00"),
1330: dateutil.parser.parse("2029-06-08 18:22:00"),
1331: dateutil.parser.parse("2029-06-08 21:00:00"),
1332: dateutil.parser.parse("2029-06-08 23:39:00"),
1333: dateutil.parser.parse("2029-06-09 02:18:00"),
1334: dateutil.parser.parse("2029-06-09 04:57:00"),
1335: dateutil.parser.parse("2029-06-09 07:35:00"),
1336: dateutil.parser.parse("2029-06-09 10:14:00"),
1337: dateutil.parser.parse("2029-06-09 12:53:00"),
1338: dateutil.parser.parse("2029-06-09 15:31:00"),
1339: dateutil.parser.parse("2029-06-09 18:10:00"),
1340: dateutil.parser.parse("2029-06-09 20:49:00"),
1341: dateutil.parser.parse("2029-06-09 23:27:00"),
1342: dateutil.parser.parse("2029-06-10 02:06:00"),
1343: dateutil.parser.parse("2029-06-10 04:44:00"),
1344: dateutil.parser.parse("2029-06-10 07:23:00"),
1345: dateutil.parser.parse("2029-06-10 10:02:00"),
1346: dateutil.parser.parse("2029-06-10 12:40:00"),
1347: dateutil.parser.parse("2029-06-10 15:19:00"),
1348: dateutil.parser.parse("2029-06-10 17:57:00"),
1349: dateutil.parser.parse("2029-06-10 20:36:00"),
1350: dateutil.parser.parse("2029-06-10 23:15:00"),
1351: dateutil.parser.parse("2029-06-11 01:53:00"),
1352: dateutil.parser.parse("2029-06-11 04:32:00"),
1353: dateutil.parser.parse("2029-06-11 07:10:00"),
1354: dateutil.parser.parse("2029-06-11 09:49:00"),
1355: dateutil.parser.parse("2029-06-11 12:28:00"),
1356: dateutil.parser.parse("2029-06-11 15:06:00"),
1357: dateutil.parser.parse("2029-06-11 17:45:00"),
1358: dateutil.parser.parse("2029-06-11 20:23:00"),
1359: dateutil.parser.parse("2029-06-11 23:02:00"),
1360: dateutil.parser.parse("2029-06-12 01:41:00"),
1361: dateutil.parser.parse("2029-06-12 04:19:00"),
1362: dateutil.parser.parse("2029-06-12 06:58:00"),
1363: dateutil.parser.parse("2029-06-12 09:37:00"),
1364: dateutil.parser.parse("2029-06-12 12:16:00"),
1365: dateutil.parser.parse("2029-06-12 14:54:00"),
1366: dateutil.parser.parse("2029-06-12 17:33:00"),
1367: dateutil.parser.parse("2029-06-12 20:12:00"),
1368: dateutil.parser.parse("2029-06-12 22:50:00"),
1369: dateutil.parser.parse("2029-06-13 01:29:00"),
1370: dateutil.parser.parse("2029-06-13 04:08:00"),
1371: dateutil.parser.parse("2029-06-13 06:46:00"),
1372: dateutil.parser.parse("2029-06-13 09:25:00"),
1373: dateutil.parser.parse("2029-06-13 12:04:00"),
1374: dateutil.parser.parse("2029-06-13 14:42:00"),
1375: dateutil.parser.parse("2029-06-13 17:21:00"),
1376: dateutil.parser.parse("2029-06-13 19:59:00"),
1377: dateutil.parser.parse("2029-06-13 22:38:00"),
1378: dateutil.parser.parse("2029-06-14 01:17:00"),
1379: dateutil.parser.parse("2029-06-14 03:55:00"),
1380: dateutil.parser.parse("2029-06-14 06:34:00"),
1381: dateutil.parser.parse("2029-06-14 09:12:00"),
1382: dateutil.parser.parse("2029-06-14 11:51:00"),
1383: dateutil.parser.parse("2029-06-14 14:30:00"),
1384: dateutil.parser.parse("2029-06-14 17:08:00"),
1385: dateutil.parser.parse("2029-06-14 19:47:00"),
1386: dateutil.parser.parse("2029-06-14 22:25:00"),
1387: dateutil.parser.parse("2029-06-15 01:04:00"),
1388: dateutil.parser.parse("2029-06-15 03:43:00"),
1389: dateutil.parser.parse("2029-06-15 06:21:00"),
1390: dateutil.parser.parse("2029-06-15 09:00:00"),
1391: dateutil.parser.parse("2029-06-15 11:39:00"),
1392: dateutil.parser.parse("2029-06-15 14:17:00"),
1393: dateutil.parser.parse("2029-06-15 16:56:00"),
1394: dateutil.parser.parse("2029-06-15 19:34:00"),
1395: dateutil.parser.parse("2029-06-15 22:13:00"),
1396: dateutil.parser.parse("2029-06-16 00:52:00"),
1397: dateutil.parser.parse("2029-06-16 03:31:00"),
1398: dateutil.parser.parse("2029-06-16 06:09:00"),
1399: dateutil.parser.parse("2029-06-16 08:48:00"),
1400: dateutil.parser.parse("2029-06-16 11:27:00"),
1401: dateutil.parser.parse("2029-06-16 14:05:00"),
1402: dateutil.parser.parse("2029-06-16 16:44:00"),
1403: dateutil.parser.parse("2029-06-16 19:23:00"),
1404: dateutil.parser.parse("2029-06-16 22:01:00"),
1405: dateutil.parser.parse("2029-06-17 00:40:00"),
1406: dateutil.parser.parse("2029-06-17 03:19:00"),
1407: dateutil.parser.parse("2029-06-17 05:57:00"),
1408: dateutil.parser.parse("2029-06-17 08:36:00"),
1409: dateutil.parser.parse("2029-06-17 11:14:00"),
1410: dateutil.parser.parse("2029-06-17 13:53:00"),
1411: dateutil.parser.parse("2029-06-17 16:32:00"),
1412: dateutil.parser.parse("2029-06-17 19:10:00"),
1413: dateutil.parser.parse("2029-06-17 21:49:00"),
1414: dateutil.parser.parse("2029-06-18 00:27:00"),
1415: dateutil.parser.parse("2029-06-18 03:06:00"),
1416: dateutil.parser.parse("2029-06-18 05:45:00"),
1417: dateutil.parser.parse("2029-06-18 08:23:00"),
1418: dateutil.parser.parse("2029-06-18 11:02:00"),
1419: dateutil.parser.parse("2029-06-18 13:40:00"),
1420: dateutil.parser.parse("2029-06-18 16:19:00"),
1421: dateutil.parser.parse("2029-06-18 18:58:00"),
1422: dateutil.parser.parse("2029-06-18 21:36:00"),
1423: dateutil.parser.parse("2029-06-19 00:15:00"),
1424: dateutil.parser.parse("2029-06-19 02:54:00"),
1425: dateutil.parser.parse("2029-06-19 05:32:00"),
1426: dateutil.parser.parse("2029-06-19 08:11:00"),
1427: dateutil.parser.parse("2029-06-19 10:50:00"),
1428: dateutil.parser.parse("2029-06-19 13:28:00"),
1429: dateutil.parser.parse("2029-06-19 16:07:00"),
1430: dateutil.parser.parse("2029-06-19 18:46:00"),
1431: dateutil.parser.parse("2029-06-19 21:24:00"),
1432: dateutil.parser.parse("2029-06-20 00:03:00"),
1433: dateutil.parser.parse("2029-06-20 02:42:00"),
1434: dateutil.parser.parse("2029-06-20 05:20:00"),
1435: dateutil.parser.parse("2029-06-20 07:59:00"),
1436: dateutil.parser.parse("2029-06-20 10:38:00"),
1437: dateutil.parser.parse("2029-06-20 13:16:00"),
1438: dateutil.parser.parse("2029-06-20 15:55:00"),
1439: dateutil.parser.parse("2029-06-20 18:34:00"),
1440: dateutil.parser.parse("2029-06-20 21:12:00"),
1441: dateutil.parser.parse("2029-06-20 23:51:00"),
1442: dateutil.parser.parse("2029-06-21 02:29:00"),
1443: dateutil.parser.parse("2029-06-21 05:08:00"),
1444: dateutil.parser.parse("2029-06-21 07:47:00"),
1445: dateutil.parser.parse("2029-06-21 10:25:00"),
1446: dateutil.parser.parse("2029-06-21 13:04:00"),
1447: dateutil.parser.parse("2029-06-21 15:42:00"),
1448: dateutil.parser.parse("2029-06-21 18:21:00"),
1449: dateutil.parser.parse("2029-06-21 21:00:00"),
1450: dateutil.parser.parse("2029-06-21 23:38:00"),
1451: dateutil.parser.parse("2029-06-22 02:17:00"),
1452: dateutil.parser.parse("2029-06-22 04:55:00"),
1453: dateutil.parser.parse("2029-06-22 07:34:00"),
1454: dateutil.parser.parse("2029-06-22 10:13:00"),
1455: dateutil.parser.parse("2029-06-22 12:51:00"),
1456: dateutil.parser.parse("2029-06-22 15:30:00"),
1457: dateutil.parser.parse("2029-06-22 18:09:00"),
1458: dateutil.parser.parse("2029-06-22 20:47:00"),
1459: dateutil.parser.parse("2029-06-22 23:26:00"),
1460: dateutil.parser.parse("2029-06-23 02:05:00"),
1461: dateutil.parser.parse("2029-06-23 04:43:00"),
1462: dateutil.parser.parse("2029-06-23 07:22:00"),
1463: dateutil.parser.parse("2029-06-23 10:01:00"),
1464: dateutil.parser.parse("2029-06-23 12:39:00"),
1465: dateutil.parser.parse("2029-06-23 15:18:00"),
1466: dateutil.parser.parse("2029-06-23 17:57:00"),
1467: dateutil.parser.parse("2029-06-23 20:35:00"),
1468: dateutil.parser.parse("2029-06-23 23:14:00"),
1469: dateutil.parser.parse("2029-06-24 01:53:00"),
1470: dateutil.parser.parse("2029-06-24 04:31:00"),
1471: dateutil.parser.parse("2029-06-24 07:10:00"),
1472: dateutil.parser.parse("2029-06-24 09:49:00"),
1473: dateutil.parser.parse("2029-06-24 12:27:00"),
1474: dateutil.parser.parse("2029-06-24 15:06:00"),
1475: dateutil.parser.parse("2029-06-24 17:44:00"),
1476: dateutil.parser.parse("2029-06-24 18:00:00"), # datagap
1477: dateutil.parser.parse("2029-06-24 23:02:00"),
1478: dateutil.parser.parse("2029-06-25 01:40:00"),
1479: dateutil.parser.parse("2029-06-25 04:19:00"),
1480: dateutil.parser.parse("2029-06-25 06:58:00"),
1481: dateutil.parser.parse("2029-06-25 09:36:00"),
1482: dateutil.parser.parse("2029-06-25 12:15:00"),
1483: dateutil.parser.parse("2029-06-25 14:54:00"),
1484: dateutil.parser.parse("2029-06-25 17:32:00"),
1485: dateutil.parser.parse("2029-06-25 20:11:00"),
1486: dateutil.parser.parse("2029-06-25 22:50:00"),
1487: dateutil.parser.parse("2029-06-26 01:29:00"),
1488: dateutil.parser.parse("2029-06-26 04:07:00"),
1489: dateutil.parser.parse("2029-06-26 06:46:00"),
1490: dateutil.parser.parse("2029-06-26 09:25:00"),
1491: dateutil.parser.parse("2029-06-26 12:03:00"),
1492: dateutil.parser.parse("2029-06-26 14:42:00"),
1493: dateutil.parser.parse("2029-06-26 17:21:00"),
1494: dateutil.parser.parse("2029-06-26 20:00:00"),
1495: dateutil.parser.parse("2029-06-26 22:39:00"),
1496: dateutil.parser.parse("2029-06-27 01:17:00"),
1497: dateutil.parser.parse("2029-06-27 03:56:00"),
1498: dateutil.parser.parse("2029-06-27 06:35:00"),
1499: dateutil.parser.parse("2029-06-27 09:14:00"),
1500: dateutil.parser.parse("2029-06-27 11:52:00"),
1501: dateutil.parser.parse("2029-06-27 14:31:00"),
1502: dateutil.parser.parse("2029-06-27 17:10:00"),
1503: dateutil.parser.parse("2029-06-27 19:49:00"),
1504: dateutil.parser.parse("2029-06-27 22:27:00"),
1505: dateutil.parser.parse("2029-06-28 01:06:00"),
1506: dateutil.parser.parse("2029-06-28 03:45:00"),
1507: dateutil.parser.parse("2029-06-28 06:23:00"),
1508: dateutil.parser.parse("2029-06-28 09:02:00"),
1509: dateutil.parser.parse("2029-06-28 11:41:00"),
1510: dateutil.parser.parse("2029-06-28 14:19:00"),
1511: dateutil.parser.parse("2029-06-28 16:58:00"),
1512: dateutil.parser.parse("2029-06-28 19:37:00"),
1513: dateutil.parser.parse("2029-06-28 22:15:00"),
1514: dateutil.parser.parse("2029-06-29 00:54:00"),
1515: dateutil.parser.parse("2029-06-29 03:33:00"),
1516: dateutil.parser.parse("2029-06-29 06:11:00"),
1517: dateutil.parser.parse("2029-06-29 08:50:00"),
1518: dateutil.parser.parse("2029-06-29 11:29:00"),
1519: dateutil.parser.parse("2029-06-29 14:07:00"),
1520: dateutil.parser.parse("2029-06-29 16:46:00"),
1521: dateutil.parser.parse("2029-06-29 19:25:00"),
1522: dateutil.parser.parse("2029-06-29 22:04:00"),
1523: dateutil.parser.parse("2029-06-30 00:42:00"),
1524: dateutil.parser.parse("2029-06-30 03:21:00"),
1525: dateutil.parser.parse("2029-06-30 06:00:00"),
1526: dateutil.parser.parse("2029-06-30 08:39:00"),
1527: dateutil.parser.parse("2029-06-30 11:17:00"),
1528: dateutil.parser.parse("2029-06-30 13:56:00"),
1529: dateutil.parser.parse("2029-06-30 16:35:00"),
1530: dateutil.parser.parse("2029-06-30 19:14:00"),
1531: dateutil.parser.parse("2029-06-30 21:53:00"),
1532: dateutil.parser.parse("2029-07-01 00:31:00"),
1533: dateutil.parser.parse("2029-07-01 03:10:00"),
1534: dateutil.parser.parse("2029-07-01 05:49:00"),
1535: dateutil.parser.parse("2029-07-01 08:27:00"),
1536: dateutil.parser.parse("2029-07-01 11:06:00"),
1537: dateutil.parser.parse("2029-07-01 13:45:00"),
1538: dateutil.parser.parse("2029-07-01 16:24:00"),
1539: dateutil.parser.parse("2029-07-01 19:02:00"),
1540: dateutil.parser.parse("2029-07-01 21:41:00"),
1541: dateutil.parser.parse("2029-07-02 00:20:00"),
1542: dateutil.parser.parse("2029-07-02 02:58:00"),
1543: dateutil.parser.parse("2029-07-02 05:37:00"),
1544: dateutil.parser.parse("2029-07-02 08:16:00"),
1545: dateutil.parser.parse("2029-07-02 10:54:00"),
1546: dateutil.parser.parse("2029-07-02 13:33:00"),
1547: dateutil.parser.parse("2029-07-02 16:12:00"),
1548: dateutil.parser.parse("2029-07-02 18:50:00"),
1549: dateutil.parser.parse("2029-07-02 21:29:00"),
1550: dateutil.parser.parse("2029-07-03 00:08:00"),
1551: dateutil.parser.parse("2029-07-03 02:46:00"),
1552: dateutil.parser.parse("2029-07-03 05:25:00"),
1553: dateutil.parser.parse("2029-07-03 08:04:00"),
1554: dateutil.parser.parse("2029-07-03 10:43:00"),
1555: dateutil.parser.parse("2029-07-03 13:21:00"),
1556: dateutil.parser.parse("2029-07-03 16:00:00"),
1557: dateutil.parser.parse("2029-07-03 18:39:00"),
1558: dateutil.parser.parse("2029-07-03 21:18:00"),
1559: dateutil.parser.parse("2029-07-03 23:56:00"),
1560: dateutil.parser.parse("2029-07-04 02:35:00"),
1561: dateutil.parser.parse("2029-07-04 05:14:00"),
1562: dateutil.parser.parse("2029-07-04 07:53:00"),
1563: dateutil.parser.parse("2029-07-04 10:31:00"),
1564: dateutil.parser.parse("2029-07-04 13:10:00"),
1565: dateutil.parser.parse("2029-07-04 15:49:00"),
1566: dateutil.parser.parse("2029-07-04 18:28:00"),
1567: dateutil.parser.parse("2029-07-04 21:06:00"),
1568: dateutil.parser.parse("2029-07-04 23:45:00"),
1569: dateutil.parser.parse("2029-07-05 02:24:00"),
1570: dateutil.parser.parse("2029-07-05 05:03:00"),
1571: dateutil.parser.parse("2029-07-05 07:41:00"),
1572: dateutil.parser.parse("2029-07-05 10:20:00"),
1573: dateutil.parser.parse("2029-07-05 12:59:00"),
1574: dateutil.parser.parse("2029-07-05 15:37:00"),
1575: dateutil.parser.parse("2029-07-05 18:16:00"),
1576: dateutil.parser.parse("2029-07-05 20:55:00"),
1577: dateutil.parser.parse("2029-07-05 23:33:00"),
1578: dateutil.parser.parse("2029-07-06 02:12:00"),
1579: dateutil.parser.parse("2029-07-06 04:51:00"),
1580: dateutil.parser.parse("2029-07-06 07:29:00"),
1581: dateutil.parser.parse("2029-07-06 10:08:00"),
1582: dateutil.parser.parse("2029-07-06 12:47:00"),
1583: dateutil.parser.parse("2029-07-06 15:25:00"),
1584: dateutil.parser.parse("2029-07-06 18:04:00"),
1585: dateutil.parser.parse("2029-07-06 20:43:00"),
1586: dateutil.parser.parse("2029-07-06 23:21:00"),
1587: dateutil.parser.parse("2029-07-07 02:00:00"),
1588: dateutil.parser.parse("2029-07-07 04:39:00"),
1589: dateutil.parser.parse("2029-07-07 07:18:00"),
1590: dateutil.parser.parse("2029-07-07 09:56:00"),
1591: dateutil.parser.parse("2029-07-07 12:35:00"),
1592: dateutil.parser.parse("2029-07-07 15:14:00"),
1593: dateutil.parser.parse("2029-07-07 17:53:00"),
1594: dateutil.parser.parse("2029-07-07 20:32:00"),
1595: dateutil.parser.parse("2029-07-07 23:10:00"),
1596: dateutil.parser.parse("2029-07-08 01:49:00"),
1597: dateutil.parser.parse("2029-07-08 04:28:00"),
1598: dateutil.parser.parse("2029-07-08 07:07:00"),
1599: dateutil.parser.parse("2029-07-08 09:45:00"),
1600: dateutil.parser.parse("2029-07-08 12:24:00"),
1601: dateutil.parser.parse("2029-07-08 15:03:00"),
1602: dateutil.parser.parse("2029-07-08 17:42:00"),
1603: dateutil.parser.parse("2029-07-08 20:20:00"),
1604: dateutil.parser.parse("2029-07-08 22:59:00"),
1605: dateutil.parser.parse("2029-07-09 01:38:00"),
1606: dateutil.parser.parse("2029-07-09 04:16:00"),
1607: dateutil.parser.parse("2029-07-09 06:55:00"),
1608: dateutil.parser.parse("2029-07-09 09:34:00"),
1609: dateutil.parser.parse("2029-07-09 12:12:00"),
1610: dateutil.parser.parse("2029-07-09 14:51:00"),
1611: dateutil.parser.parse("2029-07-09 17:30:00"),
1612: dateutil.parser.parse("2029-07-09 20:08:00"),
1613: dateutil.parser.parse("2029-07-09 22:47:00"),
1614: dateutil.parser.parse("2029-07-10 01:26:00"),
1615: dateutil.parser.parse("2029-07-10 04:04:00"),
1616: dateutil.parser.parse("2029-07-10 06:43:00"),
1617: dateutil.parser.parse("2029-07-10 09:22:00"),
1618: dateutil.parser.parse("2029-07-10 12:00:00"),
1619: dateutil.parser.parse("2029-07-10 14:39:00"),
1620: dateutil.parser.parse("2029-07-10 17:18:00"),
1621: dateutil.parser.parse("2029-07-10 19:57:00"),
1622: dateutil.parser.parse("2029-07-10 22:35:00"),
1623: dateutil.parser.parse("2029-07-11 01:14:00"),
1624: dateutil.parser.parse("2029-07-11 03:53:00"),
1625: dateutil.parser.parse("2029-07-11 06:32:00"),
1626: dateutil.parser.parse("2029-07-11 09:10:00"),
1627: dateutil.parser.parse("2029-07-11 11:49:00"),
1628: dateutil.parser.parse("2029-07-11 14:28:00"),
1629: dateutil.parser.parse("2029-07-11 17:07:00"),
1630: dateutil.parser.parse("2029-07-11 19:46:00"),
1631: dateutil.parser.parse("2029-07-11 22:24:00"),
1632: dateutil.parser.parse("2029-07-12 01:03:00"),
1633: dateutil.parser.parse("2029-07-12 03:42:00"),
1634: dateutil.parser.parse("2029-07-12 06:20:00"),
1635: dateutil.parser.parse("2029-07-12 08:59:00"),
1636: dateutil.parser.parse("2029-07-12 11:38:00"),
1637: dateutil.parser.parse("2029-07-12 14:17:00"),
1638: dateutil.parser.parse("2029-07-12 16:55:00"),
1639: dateutil.parser.parse("2029-07-12 19:34:00"),
1640: dateutil.parser.parse("2029-07-12 22:13:00"),
1641: dateutil.parser.parse("2029-07-13 00:51:00"),
1642: dateutil.parser.parse("2029-07-13 03:30:00"),
1643: dateutil.parser.parse("2029-07-13 06:09:00"),
1644: dateutil.parser.parse("2029-07-13 08:47:00"),
1645: dateutil.parser.parse("2029-07-13 11:26:00"),
1646: dateutil.parser.parse("2029-07-13 14:05:00"),
1647: dateutil.parser.parse("2029-07-13 16:43:00"),
1648: dateutil.parser.parse("2029-07-13 19:22:00"),
1649: dateutil.parser.parse("2029-07-13 22:01:00"),
1650: dateutil.parser.parse("2029-07-14 00:39:00"),
1651: dateutil.parser.parse("2029-07-14 03:18:00"),
1652: dateutil.parser.parse("2029-07-14 05:57:00"),
1653: dateutil.parser.parse("2029-07-14 08:36:00"),
1654: dateutil.parser.parse("2029-07-14 11:14:00"),
1655: dateutil.parser.parse("2029-07-14 13:53:00"),
1656: dateutil.parser.parse("2029-07-14 16:32:00"),
1657: dateutil.parser.parse("2029-07-14 19:11:00"),
1658: dateutil.parser.parse("2029-07-14 21:49:00"),
1659: dateutil.parser.parse("2029-07-15 00:28:00"),
1660: dateutil.parser.parse("2029-07-15 03:07:00"),
1661: dateutil.parser.parse("2029-07-15 05:46:00"),
1662: dateutil.parser.parse("2029-07-15 08:24:00"),
1663: dateutil.parser.parse("2029-07-15 11:03:00"),
1664: dateutil.parser.parse("2029-07-15 13:42:00"),
1665: dateutil.parser.parse("2029-07-15 16:21:00"),
1666: dateutil.parser.parse("2029-07-15 18:59:00"),
1667: dateutil.parser.parse("2029-07-15 21:38:00"),
1668: dateutil.parser.parse("2029-07-16 00:17:00"),
1669: dateutil.parser.parse("2029-07-16 02:55:00"),
1670: dateutil.parser.parse("2029-07-16 05:34:00"),
1671: dateutil.parser.parse("2029-07-16 08:13:00"),
1672: dateutil.parser.parse("2029-07-16 10:51:00"),
1673: dateutil.parser.parse("2029-07-16 13:30:00"),
1674: dateutil.parser.parse("2029-07-16 16:09:00"),
1675: dateutil.parser.parse("2029-07-16 18:47:00"),
1676: dateutil.parser.parse("2029-07-16 21:26:00"),
1677: dateutil.parser.parse("2029-07-17 00:05:00"),
1678: dateutil.parser.parse("2029-07-17 02:43:00"),
1679: dateutil.parser.parse("2029-07-17 05:22:00"),
1680: dateutil.parser.parse("2029-07-17 08:01:00"),
1681: dateutil.parser.parse("2029-07-17 10:40:00"),
1682: dateutil.parser.parse("2029-07-17 13:18:00"),
1683: dateutil.parser.parse("2029-07-17 15:57:00"),
1684: dateutil.parser.parse("2029-07-17 18:36:00"),
1685: dateutil.parser.parse("2029-07-17 21:14:00"),
1686: dateutil.parser.parse("2029-07-17 23:53:00"),
1687: dateutil.parser.parse("2029-07-18 02:32:00"),
1688: dateutil.parser.parse("2029-07-18 05:11:00"),
1689: dateutil.parser.parse("2029-07-18 07:50:00"),
1690: dateutil.parser.parse("2029-07-18 10:28:00"),
1691: dateutil.parser.parse("2029-07-18 13:07:00"),
1692: dateutil.parser.parse("2029-07-18 15:46:00"),
1693: dateutil.parser.parse("2029-07-18 18:25:00"),
1694: dateutil.parser.parse("2029-07-18 21:03:00"),
1695: dateutil.parser.parse("2029-07-18 23:42:00"),
1696: dateutil.parser.parse("2029-07-19 02:21:00"),
1697: dateutil.parser.parse("2029-07-19 05:00:00"),
1698: dateutil.parser.parse("2029-07-19 07:38:00"),
1699: dateutil.parser.parse("2029-07-19 10:17:00"),
1700: dateutil.parser.parse("2029-07-19 12:56:00"),
1701: dateutil.parser.parse("2029-07-19 15:34:00"),
1702: dateutil.parser.parse("2029-07-19 18:13:00"),
1703: dateutil.parser.parse("2029-07-19 20:52:00"),
1704: dateutil.parser.parse("2029-07-19 23:30:00"),
1705: dateutil.parser.parse("2029-07-20 02:09:00"),
1706: dateutil.parser.parse("2029-07-20 04:48:00"),
1707: dateutil.parser.parse("2029-07-20 07:26:00"),
1708: dateutil.parser.parse("2029-07-20 10:05:00"),
1709: dateutil.parser.parse("2029-07-20 12:44:00"),
1710: dateutil.parser.parse("2029-07-20 15:22:00"),
1711: dateutil.parser.parse("2029-07-20 18:01:00"),
1712: dateutil.parser.parse("2029-07-20 20:40:00"),
1713: dateutil.parser.parse("2029-07-20 23:19:00"),
1714: dateutil.parser.parse("2029-07-21 01:57:00"),
1715: dateutil.parser.parse("2029-07-21 04:36:00"),
1716: dateutil.parser.parse("2029-07-21 07:15:00"),
1717: dateutil.parser.parse("2029-07-21 09:53:00"),
1718: dateutil.parser.parse("2029-07-21 12:32:00"),
1719: dateutil.parser.parse("2029-07-21 15:11:00"),
1720: dateutil.parser.parse("2029-07-21 17:50:00"),
1721: dateutil.parser.parse("2029-07-21 20:28:00"),
1722: dateutil.parser.parse("2029-07-21 23:07:00"),
1723: dateutil.parser.parse("2029-07-22 01:46:00"),
1724: dateutil.parser.parse("2029-07-22 04:25:00"),
1725: dateutil.parser.parse("2029-07-22 07:04:00"),
1726: dateutil.parser.parse("2029-07-22 09:42:00"),
1727: dateutil.parser.parse("2029-07-22 12:21:00"),
1728: dateutil.parser.parse("2029-07-22 15:00:00"),
1729: dateutil.parser.parse("2029-07-22 17:39:00"),
1730: dateutil.parser.parse("2029-07-22 20:17:00"),
1731: dateutil.parser.parse("2029-07-22 22:56:00"),
1732: dateutil.parser.parse("2029-07-23 01:35:00"),
1733: dateutil.parser.parse("2029-07-23 04:13:00"),
1734: dateutil.parser.parse("2029-07-23 06:52:00"),
1735: dateutil.parser.parse("2029-07-23 09:31:00"),
1736: dateutil.parser.parse("2029-07-23 12:09:00"),
1737: dateutil.parser.parse("2029-07-23 14:48:00"),
1738: dateutil.parser.parse("2029-07-23 17:27:00"),
1739: dateutil.parser.parse("2029-07-23 20:05:00"),
1740: dateutil.parser.parse("2029-07-23 22:44:00"),
1741: dateutil.parser.parse("2029-07-24 01:23:00"),
1742: dateutil.parser.parse("2029-07-24 04:01:00"),
1743: dateutil.parser.parse("2029-07-24 06:40:00"),
1744: dateutil.parser.parse("2029-07-24 09:19:00"),
1745: dateutil.parser.parse("2029-07-24 11:57:00"),
1746: dateutil.parser.parse("2029-07-24 14:36:00"),
1747: dateutil.parser.parse("2029-07-24 17:15:00"),
1748: dateutil.parser.parse("2029-07-24 19:54:00"),
1749: dateutil.parser.parse("2029-07-24 20:00:00"), # datagap
}
self.pseudo_onr = [None for i in range(1750)]
for onr in list(pseudo_onr_dict.keys()):
self.pseudo_onr[onr] = pseudo_onr_dict[onr]
self.t0 = self.pseudo_onr[1]
self.t1 = self.pseudo_onr[1749]
self.orb0 = 1
self.orb1 = 1748
[docs] def get_starttime(self, onr):
if onr < 1 or onr >= 1749:
raise ValueError('Orbit number range violation (%d). 1-1748' % onr)
return self.pseudo_onr[onr]
[docs] def get_stoptime(self, onr):
if onr < 1 or onr >= 1749:
raise ValueError('Orbit number range violation (%d). 1-1748' % onr)
return self.pseudo_onr[onr + 1]
[docs] def get_orbitnumber(self, t):
if t < self.t0 or t >= self.t1:
raise ValueError('Orbit time range violation (%s). %s-%s' % (t, self.t0, self.t1))
return bisect.bisect(self.pseudo_onr, t) - 1
interv = None
[docs]def is_valid_interval_mantra001(t):
''' Return the valid interval of the bsp file.
The bsp file, named ``mantra.jgo_2020_001_ipc_cal_pso_res_e40_562_200.bsp``
would contain an invalid data (untrustable time period).
Thus, this function will give information of a rough hand-made time interval
that may be trutable for user.
'''
global interv
if interv == None:
interv = timeinterval.timeinterval(datetime.datetime(2020, 1, 1, 0, 0, 0),
datetime.datetime(2032, 1, 1, 0, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2026, 2, 4, 18, 30, 00),
datetime.datetime(2026, 2, 4, 20, 00, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2026, 2, 5, 12, 45, 00),
datetime.datetime(2026, 2, 5, 13, 40, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2026, 5, 5, 9, 30, 00),
datetime.datetime(2026, 5, 7, 0, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2026, 8, 1, 19, 27, 00),
datetime.datetime(2026, 8, 1, 21, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2026, 8, 22, 0, 0, 00),
datetime.datetime(2026, 9, 4, 3, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2026, 9, 20, 10, 0, 00),
datetime.datetime(2026, 9, 21, 18, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2026, 10, 5, 4, 0, 00),
datetime.datetime(2026, 10, 11, 0, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2026, 10, 19, 16, 0, 00),
datetime.datetime(2026, 10, 20, 12, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2026, 10, 29, 21, 0, 00),
datetime.datetime(2026, 11, 3, 20, 30, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2026, 11, 10, 6, 0, 00),
datetime.datetime(2026, 11, 11, 2, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2026, 11, 13, 8, 0, 00),
datetime.datetime(2026, 11, 13, 22, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2026, 11, 26, 12, 0, 00),
datetime.datetime(2026, 11, 27, 8, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2026, 12, 16, 3, 0, 00),
datetime.datetime(2026, 12, 17, 3, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2026, 12, 20, 4, 0, 00),
datetime.datetime(2026, 12, 21, 1, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2026, 12, 23, 1, 30, 00),
datetime.datetime(2026, 12, 23, 19, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 1, 3, 0, 0, 00),
datetime.datetime(2027, 1, 3, 10, 30, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 1, 12, 22, 0, 00),
datetime.datetime(2027, 1, 13, 14, 30, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 1, 25, 16, 30, 00),
datetime.datetime(2027, 1, 26, 15, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 2, 13, 12, 0, 00),
datetime.datetime(2027, 2, 15, 12, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 3, 0o4, 22, 0, 00),
datetime.datetime(2027, 3, 9, 18, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 3, 18, 14, 0, 00),
datetime.datetime(2027, 3, 20, 21, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 4, 1, 21, 30, 00),
datetime.datetime(2027, 4, 5, 11, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 4, 11, 10, 00, 00),
datetime.datetime(2027, 4, 13, 8, 30, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 6, 8, 6, 00, 00),
datetime.datetime(2027, 6, 10, 2, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 6, 26, 19, 00, 00),
datetime.datetime(2027, 7, 1, 18, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 7, 10, 17, 00, 00),
datetime.datetime(2027, 7, 12, 23, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 7, 21, 12, 00, 00),
datetime.datetime(2027, 7, 23, 8, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 7, 26, 11, 30, 00),
datetime.datetime(2027, 7, 28, 6, 30, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 8, 8, 15, 00, 00),
datetime.datetime(2027, 8, 10, 12, 00, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 8, 12, 14, 00, 00),
datetime.datetime(2027, 8, 14, 9, 00, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 8, 22, 00, 00, 00),
datetime.datetime(2027, 8, 24, 6, 00, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 8, 28, 18, 00, 00),
datetime.datetime(2027, 8, 29, 19, 00, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2027, 10, 26, 12, 00, 00),
datetime.datetime(2027, 10, 27, 20, 00, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2028, 2, 10, 13, 00, 00),
datetime.datetime(2028, 2, 11, 11, 00, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2028, 2, 25, 10, 00, 00),
datetime.datetime(2028, 2, 26, 3, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2028, 3, 7, 11, 00, 00),
datetime.datetime(2028, 3, 8, 12, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2028, 4, 5, 23, 00, 00),
datetime.datetime(2028, 4, 7, 0, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2028, 5, 3, 6, 00, 00),
datetime.datetime(2028, 5, 4, 2, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2028, 5, 10, 16, 00, 00),
datetime.datetime(2028, 5, 11, 15, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2028, 5, 24, 13, 00, 00),
datetime.datetime(2028, 5, 26, 1, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2028, 6, 1, 4, 00, 00),
datetime.datetime(2028, 6, 2, 2, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2028, 8, 25, 16, 00, 00),
datetime.datetime(2028, 8, 26, 22, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2028, 9, 1, 21, 00, 00),
datetime.datetime(2028, 9, 2, 15, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2028, 10, 3, 4, 00, 00),
datetime.datetime(2028, 10, 3, 6, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2028, 10, 23, 11, 00, 00),
datetime.datetime(2028, 10, 23, 14, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2028, 11, 12, 19, 00, 00),
datetime.datetime(2028, 11, 12, 22, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2028, 12, 0o3, 0o2, 00, 00),
datetime.datetime(2028, 12, 0o3, 0o5, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2028, 12, 23, 10, 00, 00),
datetime.datetime(2028, 12, 23, 13, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2029, 1, 12, 18, 30, 00),
datetime.datetime(2029, 1, 12, 20, 30, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2029, 3, 0o1, 18, 0, 00),
datetime.datetime(2029, 3, 0o1, 23, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2029, 4, 5, 18, 0, 00),
datetime.datetime(2029, 4, 5, 22, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2029, 5, 10, 16, 0, 00),
datetime.datetime(2029, 5, 10, 22, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2029, 6, 24, 18, 0, 00),
datetime.datetime(2029, 6, 24, 23, 0, 0))
interv = interv - timeinterval.timeinterval(datetime.datetime(2029, 7, 24, 20, 0, 00),
datetime.datetime(2029, 7, 31, 23, 59, 59))
return t in interv
import unittest
import doctest
[docs]def doctests():
return unittest.TestSuite((
doctest.DocTestSuite(),
))
if __name__ == '__main__':
unittest.main(defaultTest='doctests')