AceTime  3.0.0
Date and time classes for Arduino that support timezones from the TZ Database.
zone_infos.cpp
1 // This file was generated by the following script:
2 //
3 // $ /home/brian/src/AceTimeSuite/compiler/src/acetimecompiler/tzcompiler.py
4 // --input_dir /home/brian/src/AceTimeSuite/libraries/AceTimeLib/src/zonedbc/tzfiles
5 // --output_dir /home/brian/src/AceTimeSuite/libraries/AceTimeLib/src/zonedbc
6 // --tz_version 2025b
7 // --action zonedb
8 // --language arduino
9 // --scope complete
10 // --db_namespace zonedbc
11 // --zi_namespace complete::Info
12 // --start_year 1800
13 // --until_year 2200
14 //
15 // using the TZ Database files
16 //
17 // africa
18 // antarctica
19 // asia
20 // australasia
21 // backward
22 // etcetera
23 // europe
24 // northamerica
25 // southamerica
26 //
27 // from https://github.com/eggert/tz/releases/tag/2025b
28 //
29 // Supported Zones: 597 (340 zones, 257 links)
30 // Unsupported Zones: 0 (0 zones, 0 links)
31 //
32 // Requested Years: [1800,2200]
33 // Accurate Years: [-32767,32767]
34 //
35 // Original Years: [1844,2087]
36 // Generated Years: [1844,2087]
37 // Lower/Upper Truncated: [False,False]
38 //
39 // Estimator Years: [1800,2090]
40 // Max Buffer Size: 8
41 //
42 // Records:
43 // Infos: 597
44 // Eras: 1956
45 // Policies: 134
46 // Rules: 2235
47 //
48 // Memory (8-bits):
49 // Context: 16
50 // Rules: 26820
51 // Policies: 402
52 // Eras: 29340
53 // Zones: 4420
54 // Links: 3341
55 // Registry: 1194
56 // Formats: 486
57 // Letters: 160
58 // Fragments: 150
59 // Names: 5660 (original: 9094)
60 // TOTAL: 71989
61 //
62 // Memory (32-bits):
63 // Context: 24
64 // Rules: 26820
65 // Policies: 1072
66 // Eras: 39120
67 // Zones: 8160
68 // Links: 6168
69 // Registry: 2388
70 // Formats: 486
71 // Letters: 216
72 // Fragments: 178
73 // Names: 5660 (original: 9094)
74 // TOTAL: 90292
75 //
76 // DO NOT EDIT
77 
78 #include <zoneinfo/compat.h>
79 #include "zone_policies.h"
80 #include "zone_infos.h"
81 
82 namespace ace_time {
83 namespace zonedbc {
84 
85 //---------------------------------------------------------------------------
86 // ZoneContext
87 //---------------------------------------------------------------------------
88 
89 static const char kVersionString[] ACE_TIME_PROGMEM = "2025b";
90 const __FlashStringHelper* const kTzDatabaseVersion =
91  (const __FlashStringHelper*) kVersionString;
92 
93 static const char kFragment1[] ACE_TIME_PROGMEM = "Africa/";
94 static const char kFragment2[] ACE_TIME_PROGMEM = "America/";
95 static const char kFragment3[] ACE_TIME_PROGMEM = "Antarctica/";
96 static const char kFragment4[] ACE_TIME_PROGMEM = "Argentina/";
97 static const char kFragment5[] ACE_TIME_PROGMEM = "Asia/";
98 static const char kFragment6[] ACE_TIME_PROGMEM = "Atlantic/";
99 static const char kFragment7[] ACE_TIME_PROGMEM = "Australia/";
100 static const char kFragment8[] ACE_TIME_PROGMEM = "Brazil/";
101 static const char kFragment9[] ACE_TIME_PROGMEM = "Canada/";
102 static const char kFragment10[] ACE_TIME_PROGMEM = "Etc/";
103 static const char kFragment11[] ACE_TIME_PROGMEM = "Europe/";
104 static const char kFragment12[] ACE_TIME_PROGMEM = "Indian/";
105 static const char kFragment13[] ACE_TIME_PROGMEM = "Indiana/";
106 static const char kFragment14[] ACE_TIME_PROGMEM = "Pacific/";
107 
108 const char* const kFragments[] ACE_TIME_PROGMEM = {
109  nullptr, // '\x00' cannot exist
110  kFragment1, // '\x01' "Africa/"
111  kFragment2, // '\x02' "America/"
112  kFragment3, // '\x03' "Antarctica/"
113  kFragment4, // '\x04' "Argentina/"
114  kFragment5, // '\x05' "Asia/"
115  kFragment6, // '\x06' "Atlantic/"
116  kFragment7, // '\x07' "Australia/"
117  kFragment8, // '\x08' "Brazil/"
118  kFragment9, // '\x09' "Canada/"
119  kFragment10, // '\x0a' "Etc/"
120  kFragment11, // '\x0b' "Europe/"
121  kFragment12, // '\x0c' "Indian/"
122  kFragment13, // '\x0d' "Indiana/"
123  kFragment14, // '\x0e' "Pacific/"
124 
125 };
126 
127 static const char kLetter0[] ACE_TIME_PROGMEM = "";
128 static const char kLetter1[] ACE_TIME_PROGMEM = "+00";
129 static const char kLetter2[] ACE_TIME_PROGMEM = "+02";
130 static const char kLetter3[] ACE_TIME_PROGMEM = "+05";
131 static const char kLetter4[] ACE_TIME_PROGMEM = "-0430";
132 static const char kLetter5[] ACE_TIME_PROGMEM = "-0530";
133 static const char kLetter6[] ACE_TIME_PROGMEM = "BDST";
134 static const char kLetter7[] ACE_TIME_PROGMEM = "BST";
135 static const char kLetter8[] ACE_TIME_PROGMEM = "CAT";
136 static const char kLetter9[] ACE_TIME_PROGMEM = "CDT";
137 static const char kLetter10[] ACE_TIME_PROGMEM = "CPT";
138 static const char kLetter11[] ACE_TIME_PROGMEM = "CST";
139 static const char kLetter12[] ACE_TIME_PROGMEM = "CWT";
140 static const char kLetter13[] ACE_TIME_PROGMEM = "D";
141 static const char kLetter14[] ACE_TIME_PROGMEM = "DD";
142 static const char kLetter15[] ACE_TIME_PROGMEM = "EDT";
143 static const char kLetter16[] ACE_TIME_PROGMEM = "EST";
144 static const char kLetter17[] ACE_TIME_PROGMEM = "GMT";
145 static const char kLetter18[] ACE_TIME_PROGMEM = "M";
146 static const char kLetter19[] ACE_TIME_PROGMEM = "MDST";
147 static const char kLetter20[] ACE_TIME_PROGMEM = "MMT";
148 static const char kLetter21[] ACE_TIME_PROGMEM = "MSD";
149 static const char kLetter22[] ACE_TIME_PROGMEM = "MSK";
150 static const char kLetter23[] ACE_TIME_PROGMEM = "MST";
151 static const char kLetter24[] ACE_TIME_PROGMEM = "P";
152 static const char kLetter25[] ACE_TIME_PROGMEM = "S";
153 static const char kLetter26[] ACE_TIME_PROGMEM = "W";
154 static const char kLetter27[] ACE_TIME_PROGMEM = "WAT";
155 
156 const char* const kLetters[] ACE_TIME_PROGMEM = {
157  kLetter0, // ""
158  kLetter1, // "+00"
159  kLetter2, // "+02"
160  kLetter3, // "+05"
161  kLetter4, // "-0430"
162  kLetter5, // "-0530"
163  kLetter6, // "BDST"
164  kLetter7, // "BST"
165  kLetter8, // "CAT"
166  kLetter9, // "CDT"
167  kLetter10, // "CPT"
168  kLetter11, // "CST"
169  kLetter12, // "CWT"
170  kLetter13, // "D"
171  kLetter14, // "DD"
172  kLetter15, // "EDT"
173  kLetter16, // "EST"
174  kLetter17, // "GMT"
175  kLetter18, // "M"
176  kLetter19, // "MDST"
177  kLetter20, // "MMT"
178  kLetter21, // "MSD"
179  kLetter22, // "MSK"
180  kLetter23, // "MST"
181  kLetter24, // "P"
182  kLetter25, // "S"
183  kLetter26, // "W"
184  kLetter27, // "WAT"
185 
186 };
187 
188 const complete::Info::ZoneContext kZoneContext ACE_TIME_PROGMEM = {
189  1800 /*startYear*/,
190  2200 /*untilYear*/,
191  -32767 /*startYearAccurate*/,
192  32767 /*untilYearAccurate*/,
193  2100 /*baseYear*/,
194  8 /*maxTransitions*/,
195  kVersionString /*tzVersion*/,
196  15 /*numFragments*/,
197  28 /*numLetters*/,
198  kFragments /*fragments*/,
199  kLetters /*letters*/,
200 };
201 
202 //---------------------------------------------------------------------------
203 // Zones: 340
204 // Eras: 1956
205 //---------------------------------------------------------------------------
206 
207 //---------------------------------------------------------------------------
208 // Zone name: Africa/Abidjan
209 // Eras: 2
210 //---------------------------------------------------------------------------
211 
212 static const complete::Info::ZoneEra kZoneEraAfrica_Abidjan[] ACE_TIME_PROGMEM = {
213  // -0:16:08 - LMT 1912 Jan 1
214  {
215  nullptr /*zonePolicy*/,
216  "LMT" /*format*/,
217  -65 /*offsetCode (-968/15)*/,
218  7 /*offsetRemainder (-968%15)*/,
219  0 /*deltaMinutes*/,
220  1912 /*untilYear*/,
221  1 /*untilMonth*/,
222  1 /*untilDay*/,
223  0 /*untilTimeCode (0/15)*/,
224  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
225  },
226  // 0:00 - GMT
227  {
228  nullptr /*zonePolicy*/,
229  "GMT" /*format*/,
230  0 /*offsetCode (0/15)*/,
231  0 /*offsetRemainder (0%15)*/,
232  0 /*deltaMinutes*/,
233  32767 /*untilYear*/,
234  1 /*untilMonth*/,
235  1 /*untilDay*/,
236  0 /*untilTimeCode (0/15)*/,
237  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
238  },
239 
240 };
241 
242 static const char kZoneNameAfrica_Abidjan[] ACE_TIME_PROGMEM = "\x01" "Abidjan";
243 
244 const complete::Info::ZoneInfo kZoneAfrica_Abidjan ACE_TIME_PROGMEM = {
245  kZoneNameAfrica_Abidjan /*name*/,
246  0xc21305a3 /*zoneId*/,
247  &kZoneContext /*zoneContext*/,
248  2 /*numEras*/,
249  kZoneEraAfrica_Abidjan /*eras*/,
250  nullptr /*targetInfo*/,
251 };
252 
253 //---------------------------------------------------------------------------
254 // Zone name: Africa/Algiers
255 // Eras: 10
256 //---------------------------------------------------------------------------
257 
258 static const complete::Info::ZoneEra kZoneEraAfrica_Algiers[] ACE_TIME_PROGMEM = {
259  // 0:12:12 - LMT 1891 Mar 16
260  {
261  nullptr /*zonePolicy*/,
262  "LMT" /*format*/,
263  48 /*offsetCode (732/15)*/,
264  12 /*offsetRemainder (732%15)*/,
265  0 /*deltaMinutes*/,
266  1891 /*untilYear*/,
267  3 /*untilMonth*/,
268  16 /*untilDay*/,
269  0 /*untilTimeCode (0/15)*/,
270  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
271  },
272  // 0:09:21 - PMT 1911 Mar 11
273  {
274  nullptr /*zonePolicy*/,
275  "PMT" /*format*/,
276  37 /*offsetCode (561/15)*/,
277  6 /*offsetRemainder (561%15)*/,
278  0 /*deltaMinutes*/,
279  1911 /*untilYear*/,
280  3 /*untilMonth*/,
281  11 /*untilDay*/,
282  0 /*untilTimeCode (0/15)*/,
283  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
284  },
285  // 0:00 Algeria WE%sT 1940 Feb 25 2:00
286  {
287  &kZonePolicyAlgeria /*zonePolicy*/,
288  "WE%T" /*format*/,
289  0 /*offsetCode (0/15)*/,
290  0 /*offsetRemainder (0%15)*/,
291  0 /*deltaMinutes*/,
292  1940 /*untilYear*/,
293  2 /*untilMonth*/,
294  25 /*untilDay*/,
295  480 /*untilTimeCode (7200/15)*/,
296  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
297  },
298  // 1:00 Algeria CE%sT 1946 Oct 7
299  {
300  &kZonePolicyAlgeria /*zonePolicy*/,
301  "CE%T" /*format*/,
302  240 /*offsetCode (3600/15)*/,
303  0 /*offsetRemainder (3600%15)*/,
304  0 /*deltaMinutes*/,
305  1946 /*untilYear*/,
306  10 /*untilMonth*/,
307  7 /*untilDay*/,
308  0 /*untilTimeCode (0/15)*/,
309  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
310  },
311  // 0:00 - WET 1956 Jan 29
312  {
313  nullptr /*zonePolicy*/,
314  "WET" /*format*/,
315  0 /*offsetCode (0/15)*/,
316  0 /*offsetRemainder (0%15)*/,
317  0 /*deltaMinutes*/,
318  1956 /*untilYear*/,
319  1 /*untilMonth*/,
320  29 /*untilDay*/,
321  0 /*untilTimeCode (0/15)*/,
322  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
323  },
324  // 1:00 - CET 1963 Apr 14
325  {
326  nullptr /*zonePolicy*/,
327  "CET" /*format*/,
328  240 /*offsetCode (3600/15)*/,
329  0 /*offsetRemainder (3600%15)*/,
330  0 /*deltaMinutes*/,
331  1963 /*untilYear*/,
332  4 /*untilMonth*/,
333  14 /*untilDay*/,
334  0 /*untilTimeCode (0/15)*/,
335  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
336  },
337  // 0:00 Algeria WE%sT 1977 Oct 21
338  {
339  &kZonePolicyAlgeria /*zonePolicy*/,
340  "WE%T" /*format*/,
341  0 /*offsetCode (0/15)*/,
342  0 /*offsetRemainder (0%15)*/,
343  0 /*deltaMinutes*/,
344  1977 /*untilYear*/,
345  10 /*untilMonth*/,
346  21 /*untilDay*/,
347  0 /*untilTimeCode (0/15)*/,
348  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
349  },
350  // 1:00 Algeria CE%sT 1979 Oct 26
351  {
352  &kZonePolicyAlgeria /*zonePolicy*/,
353  "CE%T" /*format*/,
354  240 /*offsetCode (3600/15)*/,
355  0 /*offsetRemainder (3600%15)*/,
356  0 /*deltaMinutes*/,
357  1979 /*untilYear*/,
358  10 /*untilMonth*/,
359  26 /*untilDay*/,
360  0 /*untilTimeCode (0/15)*/,
361  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
362  },
363  // 0:00 Algeria WE%sT 1981 May
364  {
365  &kZonePolicyAlgeria /*zonePolicy*/,
366  "WE%T" /*format*/,
367  0 /*offsetCode (0/15)*/,
368  0 /*offsetRemainder (0%15)*/,
369  0 /*deltaMinutes*/,
370  1981 /*untilYear*/,
371  5 /*untilMonth*/,
372  1 /*untilDay*/,
373  0 /*untilTimeCode (0/15)*/,
374  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
375  },
376  // 1:00 - CET
377  {
378  nullptr /*zonePolicy*/,
379  "CET" /*format*/,
380  240 /*offsetCode (3600/15)*/,
381  0 /*offsetRemainder (3600%15)*/,
382  0 /*deltaMinutes*/,
383  32767 /*untilYear*/,
384  1 /*untilMonth*/,
385  1 /*untilDay*/,
386  0 /*untilTimeCode (0/15)*/,
387  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
388  },
389 
390 };
391 
392 static const char kZoneNameAfrica_Algiers[] ACE_TIME_PROGMEM = "\x01" "Algiers";
393 
394 const complete::Info::ZoneInfo kZoneAfrica_Algiers ACE_TIME_PROGMEM = {
395  kZoneNameAfrica_Algiers /*name*/,
396  0xd94515c1 /*zoneId*/,
397  &kZoneContext /*zoneContext*/,
398  10 /*numEras*/,
399  kZoneEraAfrica_Algiers /*eras*/,
400  nullptr /*targetInfo*/,
401 };
402 
403 //---------------------------------------------------------------------------
404 // Zone name: Africa/Bissau
405 // Eras: 3
406 //---------------------------------------------------------------------------
407 
408 static const complete::Info::ZoneEra kZoneEraAfrica_Bissau[] ACE_TIME_PROGMEM = {
409  // -1:02:20 - LMT 1912 Jan 1 1:00u
410  {
411  nullptr /*zonePolicy*/,
412  "LMT" /*format*/,
413  -250 /*offsetCode (-3740/15)*/,
414  10 /*offsetRemainder (-3740%15)*/,
415  0 /*deltaMinutes*/,
416  1912 /*untilYear*/,
417  1 /*untilMonth*/,
418  1 /*untilDay*/,
419  240 /*untilTimeCode (3600/15)*/,
420  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
421  },
422  // -1:00 - %z 1975
423  {
424  nullptr /*zonePolicy*/,
425  "" /*format*/,
426  -240 /*offsetCode (-3600/15)*/,
427  0 /*offsetRemainder (-3600%15)*/,
428  0 /*deltaMinutes*/,
429  1975 /*untilYear*/,
430  1 /*untilMonth*/,
431  1 /*untilDay*/,
432  0 /*untilTimeCode (0/15)*/,
433  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
434  },
435  // 0:00 - GMT
436  {
437  nullptr /*zonePolicy*/,
438  "GMT" /*format*/,
439  0 /*offsetCode (0/15)*/,
440  0 /*offsetRemainder (0%15)*/,
441  0 /*deltaMinutes*/,
442  32767 /*untilYear*/,
443  1 /*untilMonth*/,
444  1 /*untilDay*/,
445  0 /*untilTimeCode (0/15)*/,
446  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
447  },
448 
449 };
450 
451 static const char kZoneNameAfrica_Bissau[] ACE_TIME_PROGMEM = "\x01" "Bissau";
452 
453 const complete::Info::ZoneInfo kZoneAfrica_Bissau ACE_TIME_PROGMEM = {
454  kZoneNameAfrica_Bissau /*name*/,
455  0x75564141 /*zoneId*/,
456  &kZoneContext /*zoneContext*/,
457  3 /*numEras*/,
458  kZoneEraAfrica_Bissau /*eras*/,
459  nullptr /*targetInfo*/,
460 };
461 
462 //---------------------------------------------------------------------------
463 // Zone name: Africa/Cairo
464 // Eras: 2
465 //---------------------------------------------------------------------------
466 
467 static const complete::Info::ZoneEra kZoneEraAfrica_Cairo[] ACE_TIME_PROGMEM = {
468  // 2:05:09 - LMT 1900 Oct
469  {
470  nullptr /*zonePolicy*/,
471  "LMT" /*format*/,
472  500 /*offsetCode (7509/15)*/,
473  9 /*offsetRemainder (7509%15)*/,
474  0 /*deltaMinutes*/,
475  1900 /*untilYear*/,
476  10 /*untilMonth*/,
477  1 /*untilDay*/,
478  0 /*untilTimeCode (0/15)*/,
479  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
480  },
481  // 2:00 Egypt EE%sT
482  {
483  &kZonePolicyEgypt /*zonePolicy*/,
484  "EE%T" /*format*/,
485  480 /*offsetCode (7200/15)*/,
486  0 /*offsetRemainder (7200%15)*/,
487  0 /*deltaMinutes*/,
488  32767 /*untilYear*/,
489  1 /*untilMonth*/,
490  1 /*untilDay*/,
491  0 /*untilTimeCode (0/15)*/,
492  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
493  },
494 
495 };
496 
497 static const char kZoneNameAfrica_Cairo[] ACE_TIME_PROGMEM = "\x01" "Cairo";
498 
499 const complete::Info::ZoneInfo kZoneAfrica_Cairo ACE_TIME_PROGMEM = {
500  kZoneNameAfrica_Cairo /*name*/,
501  0x77f8e228 /*zoneId*/,
502  &kZoneContext /*zoneContext*/,
503  2 /*numEras*/,
504  kZoneEraAfrica_Cairo /*eras*/,
505  nullptr /*targetInfo*/,
506 };
507 
508 //---------------------------------------------------------------------------
509 // Zone name: Africa/Casablanca
510 // Eras: 5
511 //---------------------------------------------------------------------------
512 
513 static const complete::Info::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = {
514  // -0:30:20 - LMT 1913 Oct 26
515  {
516  nullptr /*zonePolicy*/,
517  "LMT" /*format*/,
518  -122 /*offsetCode (-1820/15)*/,
519  10 /*offsetRemainder (-1820%15)*/,
520  0 /*deltaMinutes*/,
521  1913 /*untilYear*/,
522  10 /*untilMonth*/,
523  26 /*untilDay*/,
524  0 /*untilTimeCode (0/15)*/,
525  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
526  },
527  // 0:00 Morocco %z 1984 Mar 16
528  {
529  &kZonePolicyMorocco /*zonePolicy*/,
530  "" /*format*/,
531  0 /*offsetCode (0/15)*/,
532  0 /*offsetRemainder (0%15)*/,
533  0 /*deltaMinutes*/,
534  1984 /*untilYear*/,
535  3 /*untilMonth*/,
536  16 /*untilDay*/,
537  0 /*untilTimeCode (0/15)*/,
538  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
539  },
540  // 1:00 - %z 1986
541  {
542  nullptr /*zonePolicy*/,
543  "" /*format*/,
544  240 /*offsetCode (3600/15)*/,
545  0 /*offsetRemainder (3600%15)*/,
546  0 /*deltaMinutes*/,
547  1986 /*untilYear*/,
548  1 /*untilMonth*/,
549  1 /*untilDay*/,
550  0 /*untilTimeCode (0/15)*/,
551  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
552  },
553  // 0:00 Morocco %z 2018 Oct 28 3:00
554  {
555  &kZonePolicyMorocco /*zonePolicy*/,
556  "" /*format*/,
557  0 /*offsetCode (0/15)*/,
558  0 /*offsetRemainder (0%15)*/,
559  0 /*deltaMinutes*/,
560  2018 /*untilYear*/,
561  10 /*untilMonth*/,
562  28 /*untilDay*/,
563  720 /*untilTimeCode (10800/15)*/,
564  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
565  },
566  // 1:00 Morocco %z
567  {
568  &kZonePolicyMorocco /*zonePolicy*/,
569  "" /*format*/,
570  240 /*offsetCode (3600/15)*/,
571  0 /*offsetRemainder (3600%15)*/,
572  0 /*deltaMinutes*/,
573  32767 /*untilYear*/,
574  1 /*untilMonth*/,
575  1 /*untilDay*/,
576  0 /*untilTimeCode (0/15)*/,
577  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
578  },
579 
580 };
581 
582 static const char kZoneNameAfrica_Casablanca[] ACE_TIME_PROGMEM = "\x01" "Casablanca";
583 
584 const complete::Info::ZoneInfo kZoneAfrica_Casablanca ACE_TIME_PROGMEM = {
585  kZoneNameAfrica_Casablanca /*name*/,
586  0xc59f1b33 /*zoneId*/,
587  &kZoneContext /*zoneContext*/,
588  5 /*numEras*/,
589  kZoneEraAfrica_Casablanca /*eras*/,
590  nullptr /*targetInfo*/,
591 };
592 
593 //---------------------------------------------------------------------------
594 // Zone name: Africa/Ceuta
595 // Eras: 9
596 //---------------------------------------------------------------------------
597 
598 static const complete::Info::ZoneEra kZoneEraAfrica_Ceuta[] ACE_TIME_PROGMEM = {
599  // -0:21:16 - LMT 1901 Jan 1 0:00u
600  {
601  nullptr /*zonePolicy*/,
602  "LMT" /*format*/,
603  -86 /*offsetCode (-1276/15)*/,
604  14 /*offsetRemainder (-1276%15)*/,
605  0 /*deltaMinutes*/,
606  1901 /*untilYear*/,
607  1 /*untilMonth*/,
608  1 /*untilDay*/,
609  0 /*untilTimeCode (0/15)*/,
610  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
611  },
612  // 0:00 - WET 1918 May 6 23:00
613  {
614  nullptr /*zonePolicy*/,
615  "WET" /*format*/,
616  0 /*offsetCode (0/15)*/,
617  0 /*offsetRemainder (0%15)*/,
618  0 /*deltaMinutes*/,
619  1918 /*untilYear*/,
620  5 /*untilMonth*/,
621  6 /*untilDay*/,
622  5520 /*untilTimeCode (82800/15)*/,
623  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
624  },
625  // 0:00 1:00 WEST 1918 Oct 7 23:00
626  {
627  nullptr /*zonePolicy*/,
628  "WEST" /*format*/,
629  0 /*offsetCode (0/15)*/,
630  0 /*offsetRemainder (0%15)*/,
631  60 /*deltaMinutes*/,
632  1918 /*untilYear*/,
633  10 /*untilMonth*/,
634  7 /*untilDay*/,
635  5520 /*untilTimeCode (82800/15)*/,
636  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
637  },
638  // 0:00 - WET 1924
639  {
640  nullptr /*zonePolicy*/,
641  "WET" /*format*/,
642  0 /*offsetCode (0/15)*/,
643  0 /*offsetRemainder (0%15)*/,
644  0 /*deltaMinutes*/,
645  1924 /*untilYear*/,
646  1 /*untilMonth*/,
647  1 /*untilDay*/,
648  0 /*untilTimeCode (0/15)*/,
649  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
650  },
651  // 0:00 Spain WE%sT 1929
652  {
653  &kZonePolicySpain /*zonePolicy*/,
654  "WE%T" /*format*/,
655  0 /*offsetCode (0/15)*/,
656  0 /*offsetRemainder (0%15)*/,
657  0 /*deltaMinutes*/,
658  1929 /*untilYear*/,
659  1 /*untilMonth*/,
660  1 /*untilDay*/,
661  0 /*untilTimeCode (0/15)*/,
662  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
663  },
664  // 0:00 - WET 1967
665  {
666  nullptr /*zonePolicy*/,
667  "WET" /*format*/,
668  0 /*offsetCode (0/15)*/,
669  0 /*offsetRemainder (0%15)*/,
670  0 /*deltaMinutes*/,
671  1967 /*untilYear*/,
672  1 /*untilMonth*/,
673  1 /*untilDay*/,
674  0 /*untilTimeCode (0/15)*/,
675  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
676  },
677  // 0:00 SpainAfrica WE%sT 1984 Mar 16
678  {
679  &kZonePolicySpainAfrica /*zonePolicy*/,
680  "WE%T" /*format*/,
681  0 /*offsetCode (0/15)*/,
682  0 /*offsetRemainder (0%15)*/,
683  0 /*deltaMinutes*/,
684  1984 /*untilYear*/,
685  3 /*untilMonth*/,
686  16 /*untilDay*/,
687  0 /*untilTimeCode (0/15)*/,
688  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
689  },
690  // 1:00 - CET 1986
691  {
692  nullptr /*zonePolicy*/,
693  "CET" /*format*/,
694  240 /*offsetCode (3600/15)*/,
695  0 /*offsetRemainder (3600%15)*/,
696  0 /*deltaMinutes*/,
697  1986 /*untilYear*/,
698  1 /*untilMonth*/,
699  1 /*untilDay*/,
700  0 /*untilTimeCode (0/15)*/,
701  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
702  },
703  // 1:00 EU CE%sT
704  {
705  &kZonePolicyEU /*zonePolicy*/,
706  "CE%T" /*format*/,
707  240 /*offsetCode (3600/15)*/,
708  0 /*offsetRemainder (3600%15)*/,
709  0 /*deltaMinutes*/,
710  32767 /*untilYear*/,
711  1 /*untilMonth*/,
712  1 /*untilDay*/,
713  0 /*untilTimeCode (0/15)*/,
714  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
715  },
716 
717 };
718 
719 static const char kZoneNameAfrica_Ceuta[] ACE_TIME_PROGMEM = "\x01" "Ceuta";
720 
721 const complete::Info::ZoneInfo kZoneAfrica_Ceuta ACE_TIME_PROGMEM = {
722  kZoneNameAfrica_Ceuta /*name*/,
723  0x77fb46ec /*zoneId*/,
724  &kZoneContext /*zoneContext*/,
725  9 /*numEras*/,
726  kZoneEraAfrica_Ceuta /*eras*/,
727  nullptr /*targetInfo*/,
728 };
729 
730 //---------------------------------------------------------------------------
731 // Zone name: Africa/El_Aaiun
732 // Eras: 4
733 //---------------------------------------------------------------------------
734 
735 static const complete::Info::ZoneEra kZoneEraAfrica_El_Aaiun[] ACE_TIME_PROGMEM = {
736  // -0:52:48 - LMT 1934 Jan
737  {
738  nullptr /*zonePolicy*/,
739  "LMT" /*format*/,
740  -212 /*offsetCode (-3168/15)*/,
741  12 /*offsetRemainder (-3168%15)*/,
742  0 /*deltaMinutes*/,
743  1934 /*untilYear*/,
744  1 /*untilMonth*/,
745  1 /*untilDay*/,
746  0 /*untilTimeCode (0/15)*/,
747  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
748  },
749  // -1:00 - %z 1976 Apr 14
750  {
751  nullptr /*zonePolicy*/,
752  "" /*format*/,
753  -240 /*offsetCode (-3600/15)*/,
754  0 /*offsetRemainder (-3600%15)*/,
755  0 /*deltaMinutes*/,
756  1976 /*untilYear*/,
757  4 /*untilMonth*/,
758  14 /*untilDay*/,
759  0 /*untilTimeCode (0/15)*/,
760  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
761  },
762  // 0:00 Morocco %z 2018 Oct 28 3:00
763  {
764  &kZonePolicyMorocco /*zonePolicy*/,
765  "" /*format*/,
766  0 /*offsetCode (0/15)*/,
767  0 /*offsetRemainder (0%15)*/,
768  0 /*deltaMinutes*/,
769  2018 /*untilYear*/,
770  10 /*untilMonth*/,
771  28 /*untilDay*/,
772  720 /*untilTimeCode (10800/15)*/,
773  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
774  },
775  // 1:00 Morocco %z
776  {
777  &kZonePolicyMorocco /*zonePolicy*/,
778  "" /*format*/,
779  240 /*offsetCode (3600/15)*/,
780  0 /*offsetRemainder (3600%15)*/,
781  0 /*deltaMinutes*/,
782  32767 /*untilYear*/,
783  1 /*untilMonth*/,
784  1 /*untilDay*/,
785  0 /*untilTimeCode (0/15)*/,
786  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
787  },
788 
789 };
790 
791 static const char kZoneNameAfrica_El_Aaiun[] ACE_TIME_PROGMEM = "\x01" "El_Aaiun";
792 
793 const complete::Info::ZoneInfo kZoneAfrica_El_Aaiun ACE_TIME_PROGMEM = {
794  kZoneNameAfrica_El_Aaiun /*name*/,
795  0x9d6fb118 /*zoneId*/,
796  &kZoneContext /*zoneContext*/,
797  4 /*numEras*/,
798  kZoneEraAfrica_El_Aaiun /*eras*/,
799  nullptr /*targetInfo*/,
800 };
801 
802 //---------------------------------------------------------------------------
803 // Zone name: Africa/Johannesburg
804 // Eras: 3
805 //---------------------------------------------------------------------------
806 
807 static const complete::Info::ZoneEra kZoneEraAfrica_Johannesburg[] ACE_TIME_PROGMEM = {
808  // 1:52:00 - LMT 1892 Feb 8
809  {
810  nullptr /*zonePolicy*/,
811  "LMT" /*format*/,
812  448 /*offsetCode (6720/15)*/,
813  0 /*offsetRemainder (6720%15)*/,
814  0 /*deltaMinutes*/,
815  1892 /*untilYear*/,
816  2 /*untilMonth*/,
817  8 /*untilDay*/,
818  0 /*untilTimeCode (0/15)*/,
819  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
820  },
821  // 1:30 - SAST 1903 Mar
822  {
823  nullptr /*zonePolicy*/,
824  "SAST" /*format*/,
825  360 /*offsetCode (5400/15)*/,
826  0 /*offsetRemainder (5400%15)*/,
827  0 /*deltaMinutes*/,
828  1903 /*untilYear*/,
829  3 /*untilMonth*/,
830  1 /*untilDay*/,
831  0 /*untilTimeCode (0/15)*/,
832  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
833  },
834  // 2:00 SA SAST
835  {
836  &kZonePolicySA /*zonePolicy*/,
837  "SAST" /*format*/,
838  480 /*offsetCode (7200/15)*/,
839  0 /*offsetRemainder (7200%15)*/,
840  0 /*deltaMinutes*/,
841  32767 /*untilYear*/,
842  1 /*untilMonth*/,
843  1 /*untilDay*/,
844  0 /*untilTimeCode (0/15)*/,
845  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
846  },
847 
848 };
849 
850 static const char kZoneNameAfrica_Johannesburg[] ACE_TIME_PROGMEM = "\x01" "Johannesburg";
851 
852 const complete::Info::ZoneInfo kZoneAfrica_Johannesburg ACE_TIME_PROGMEM = {
853  kZoneNameAfrica_Johannesburg /*name*/,
854  0xd5d157a0 /*zoneId*/,
855  &kZoneContext /*zoneContext*/,
856  3 /*numEras*/,
857  kZoneEraAfrica_Johannesburg /*eras*/,
858  nullptr /*targetInfo*/,
859 };
860 
861 //---------------------------------------------------------------------------
862 // Zone name: Africa/Juba
863 // Eras: 4
864 //---------------------------------------------------------------------------
865 
866 static const complete::Info::ZoneEra kZoneEraAfrica_Juba[] ACE_TIME_PROGMEM = {
867  // 2:06:28 - LMT 1931
868  {
869  nullptr /*zonePolicy*/,
870  "LMT" /*format*/,
871  505 /*offsetCode (7588/15)*/,
872  13 /*offsetRemainder (7588%15)*/,
873  0 /*deltaMinutes*/,
874  1931 /*untilYear*/,
875  1 /*untilMonth*/,
876  1 /*untilDay*/,
877  0 /*untilTimeCode (0/15)*/,
878  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
879  },
880  // 2:00 Sudan CA%sT 2000 Jan 15 12:00
881  {
882  &kZonePolicySudan /*zonePolicy*/,
883  "CA%T" /*format*/,
884  480 /*offsetCode (7200/15)*/,
885  0 /*offsetRemainder (7200%15)*/,
886  0 /*deltaMinutes*/,
887  2000 /*untilYear*/,
888  1 /*untilMonth*/,
889  15 /*untilDay*/,
890  2880 /*untilTimeCode (43200/15)*/,
891  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
892  },
893  // 3:00 - EAT 2021 Feb 1 00:00
894  {
895  nullptr /*zonePolicy*/,
896  "EAT" /*format*/,
897  720 /*offsetCode (10800/15)*/,
898  0 /*offsetRemainder (10800%15)*/,
899  0 /*deltaMinutes*/,
900  2021 /*untilYear*/,
901  2 /*untilMonth*/,
902  1 /*untilDay*/,
903  0 /*untilTimeCode (0/15)*/,
904  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
905  },
906  // 2:00 - CAT
907  {
908  nullptr /*zonePolicy*/,
909  "CAT" /*format*/,
910  480 /*offsetCode (7200/15)*/,
911  0 /*offsetRemainder (7200%15)*/,
912  0 /*deltaMinutes*/,
913  32767 /*untilYear*/,
914  1 /*untilMonth*/,
915  1 /*untilDay*/,
916  0 /*untilTimeCode (0/15)*/,
917  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
918  },
919 
920 };
921 
922 static const char kZoneNameAfrica_Juba[] ACE_TIME_PROGMEM = "\x01" "Juba";
923 
924 const complete::Info::ZoneInfo kZoneAfrica_Juba ACE_TIME_PROGMEM = {
925  kZoneNameAfrica_Juba /*name*/,
926  0xd51b395c /*zoneId*/,
927  &kZoneContext /*zoneContext*/,
928  4 /*numEras*/,
929  kZoneEraAfrica_Juba /*eras*/,
930  nullptr /*targetInfo*/,
931 };
932 
933 //---------------------------------------------------------------------------
934 // Zone name: Africa/Khartoum
935 // Eras: 4
936 //---------------------------------------------------------------------------
937 
938 static const complete::Info::ZoneEra kZoneEraAfrica_Khartoum[] ACE_TIME_PROGMEM = {
939  // 2:10:08 - LMT 1931
940  {
941  nullptr /*zonePolicy*/,
942  "LMT" /*format*/,
943  520 /*offsetCode (7808/15)*/,
944  8 /*offsetRemainder (7808%15)*/,
945  0 /*deltaMinutes*/,
946  1931 /*untilYear*/,
947  1 /*untilMonth*/,
948  1 /*untilDay*/,
949  0 /*untilTimeCode (0/15)*/,
950  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
951  },
952  // 2:00 Sudan CA%sT 2000 Jan 15 12:00
953  {
954  &kZonePolicySudan /*zonePolicy*/,
955  "CA%T" /*format*/,
956  480 /*offsetCode (7200/15)*/,
957  0 /*offsetRemainder (7200%15)*/,
958  0 /*deltaMinutes*/,
959  2000 /*untilYear*/,
960  1 /*untilMonth*/,
961  15 /*untilDay*/,
962  2880 /*untilTimeCode (43200/15)*/,
963  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
964  },
965  // 3:00 - EAT 2017 Nov 1
966  {
967  nullptr /*zonePolicy*/,
968  "EAT" /*format*/,
969  720 /*offsetCode (10800/15)*/,
970  0 /*offsetRemainder (10800%15)*/,
971  0 /*deltaMinutes*/,
972  2017 /*untilYear*/,
973  11 /*untilMonth*/,
974  1 /*untilDay*/,
975  0 /*untilTimeCode (0/15)*/,
976  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
977  },
978  // 2:00 - CAT
979  {
980  nullptr /*zonePolicy*/,
981  "CAT" /*format*/,
982  480 /*offsetCode (7200/15)*/,
983  0 /*offsetRemainder (7200%15)*/,
984  0 /*deltaMinutes*/,
985  32767 /*untilYear*/,
986  1 /*untilMonth*/,
987  1 /*untilDay*/,
988  0 /*untilTimeCode (0/15)*/,
989  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
990  },
991 
992 };
993 
994 static const char kZoneNameAfrica_Khartoum[] ACE_TIME_PROGMEM = "\x01" "Khartoum";
995 
996 const complete::Info::ZoneInfo kZoneAfrica_Khartoum ACE_TIME_PROGMEM = {
997  kZoneNameAfrica_Khartoum /*name*/,
998  0xfb3d4205 /*zoneId*/,
999  &kZoneContext /*zoneContext*/,
1000  4 /*numEras*/,
1001  kZoneEraAfrica_Khartoum /*eras*/,
1002  nullptr /*targetInfo*/,
1003 };
1004 
1005 //---------------------------------------------------------------------------
1006 // Zone name: Africa/Lagos
1007 // Eras: 5
1008 //---------------------------------------------------------------------------
1009 
1010 static const complete::Info::ZoneEra kZoneEraAfrica_Lagos[] ACE_TIME_PROGMEM = {
1011  // 0:13:35 - LMT 1905 Jul 1
1012  {
1013  nullptr /*zonePolicy*/,
1014  "LMT" /*format*/,
1015  54 /*offsetCode (815/15)*/,
1016  5 /*offsetRemainder (815%15)*/,
1017  0 /*deltaMinutes*/,
1018  1905 /*untilYear*/,
1019  7 /*untilMonth*/,
1020  1 /*untilDay*/,
1021  0 /*untilTimeCode (0/15)*/,
1022  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1023  },
1024  // 0:00 - GMT 1908 Jul 1
1025  {
1026  nullptr /*zonePolicy*/,
1027  "GMT" /*format*/,
1028  0 /*offsetCode (0/15)*/,
1029  0 /*offsetRemainder (0%15)*/,
1030  0 /*deltaMinutes*/,
1031  1908 /*untilYear*/,
1032  7 /*untilMonth*/,
1033  1 /*untilDay*/,
1034  0 /*untilTimeCode (0/15)*/,
1035  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1036  },
1037  // 0:13:35 - LMT 1914 Jan 1
1038  {
1039  nullptr /*zonePolicy*/,
1040  "LMT" /*format*/,
1041  54 /*offsetCode (815/15)*/,
1042  5 /*offsetRemainder (815%15)*/,
1043  0 /*deltaMinutes*/,
1044  1914 /*untilYear*/,
1045  1 /*untilMonth*/,
1046  1 /*untilDay*/,
1047  0 /*untilTimeCode (0/15)*/,
1048  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1049  },
1050  // 0:30 - %z 1919 Sep 1
1051  {
1052  nullptr /*zonePolicy*/,
1053  "" /*format*/,
1054  120 /*offsetCode (1800/15)*/,
1055  0 /*offsetRemainder (1800%15)*/,
1056  0 /*deltaMinutes*/,
1057  1919 /*untilYear*/,
1058  9 /*untilMonth*/,
1059  1 /*untilDay*/,
1060  0 /*untilTimeCode (0/15)*/,
1061  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1062  },
1063  // 1:00 - WAT
1064  {
1065  nullptr /*zonePolicy*/,
1066  "WAT" /*format*/,
1067  240 /*offsetCode (3600/15)*/,
1068  0 /*offsetRemainder (3600%15)*/,
1069  0 /*deltaMinutes*/,
1070  32767 /*untilYear*/,
1071  1 /*untilMonth*/,
1072  1 /*untilDay*/,
1073  0 /*untilTimeCode (0/15)*/,
1074  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1075  },
1076 
1077 };
1078 
1079 static const char kZoneNameAfrica_Lagos[] ACE_TIME_PROGMEM = "\x01" "Lagos";
1080 
1081 const complete::Info::ZoneInfo kZoneAfrica_Lagos ACE_TIME_PROGMEM = {
1082  kZoneNameAfrica_Lagos /*name*/,
1083  0x789bb5d0 /*zoneId*/,
1084  &kZoneContext /*zoneContext*/,
1085  5 /*numEras*/,
1086  kZoneEraAfrica_Lagos /*eras*/,
1087  nullptr /*targetInfo*/,
1088 };
1089 
1090 //---------------------------------------------------------------------------
1091 // Zone name: Africa/Maputo
1092 // Eras: 2
1093 //---------------------------------------------------------------------------
1094 
1095 static const complete::Info::ZoneEra kZoneEraAfrica_Maputo[] ACE_TIME_PROGMEM = {
1096  // 2:10:18 - LMT 1909
1097  {
1098  nullptr /*zonePolicy*/,
1099  "LMT" /*format*/,
1100  521 /*offsetCode (7818/15)*/,
1101  3 /*offsetRemainder (7818%15)*/,
1102  0 /*deltaMinutes*/,
1103  1909 /*untilYear*/,
1104  1 /*untilMonth*/,
1105  1 /*untilDay*/,
1106  0 /*untilTimeCode (0/15)*/,
1107  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1108  },
1109  // 2:00 - CAT
1110  {
1111  nullptr /*zonePolicy*/,
1112  "CAT" /*format*/,
1113  480 /*offsetCode (7200/15)*/,
1114  0 /*offsetRemainder (7200%15)*/,
1115  0 /*deltaMinutes*/,
1116  32767 /*untilYear*/,
1117  1 /*untilMonth*/,
1118  1 /*untilDay*/,
1119  0 /*untilTimeCode (0/15)*/,
1120  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1121  },
1122 
1123 };
1124 
1125 static const char kZoneNameAfrica_Maputo[] ACE_TIME_PROGMEM = "\x01" "Maputo";
1126 
1127 const complete::Info::ZoneInfo kZoneAfrica_Maputo ACE_TIME_PROGMEM = {
1128  kZoneNameAfrica_Maputo /*name*/,
1129  0x8e6ca1f0 /*zoneId*/,
1130  &kZoneContext /*zoneContext*/,
1131  2 /*numEras*/,
1132  kZoneEraAfrica_Maputo /*eras*/,
1133  nullptr /*targetInfo*/,
1134 };
1135 
1136 //---------------------------------------------------------------------------
1137 // Zone name: Africa/Monrovia
1138 // Eras: 4
1139 //---------------------------------------------------------------------------
1140 
1141 static const complete::Info::ZoneEra kZoneEraAfrica_Monrovia[] ACE_TIME_PROGMEM = {
1142  // -0:43:08 - LMT 1882
1143  {
1144  nullptr /*zonePolicy*/,
1145  "LMT" /*format*/,
1146  -173 /*offsetCode (-2588/15)*/,
1147  7 /*offsetRemainder (-2588%15)*/,
1148  0 /*deltaMinutes*/,
1149  1882 /*untilYear*/,
1150  1 /*untilMonth*/,
1151  1 /*untilDay*/,
1152  0 /*untilTimeCode (0/15)*/,
1153  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1154  },
1155  // -0:43:08 - MMT 1919 Mar
1156  {
1157  nullptr /*zonePolicy*/,
1158  "MMT" /*format*/,
1159  -173 /*offsetCode (-2588/15)*/,
1160  7 /*offsetRemainder (-2588%15)*/,
1161  0 /*deltaMinutes*/,
1162  1919 /*untilYear*/,
1163  3 /*untilMonth*/,
1164  1 /*untilDay*/,
1165  0 /*untilTimeCode (0/15)*/,
1166  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1167  },
1168  // -0:44:30 - MMT 1972 Jan 7
1169  {
1170  nullptr /*zonePolicy*/,
1171  "MMT" /*format*/,
1172  -178 /*offsetCode (-2670/15)*/,
1173  0 /*offsetRemainder (-2670%15)*/,
1174  0 /*deltaMinutes*/,
1175  1972 /*untilYear*/,
1176  1 /*untilMonth*/,
1177  7 /*untilDay*/,
1178  0 /*untilTimeCode (0/15)*/,
1179  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1180  },
1181  // 0:00 - GMT
1182  {
1183  nullptr /*zonePolicy*/,
1184  "GMT" /*format*/,
1185  0 /*offsetCode (0/15)*/,
1186  0 /*offsetRemainder (0%15)*/,
1187  0 /*deltaMinutes*/,
1188  32767 /*untilYear*/,
1189  1 /*untilMonth*/,
1190  1 /*untilDay*/,
1191  0 /*untilTimeCode (0/15)*/,
1192  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1193  },
1194 
1195 };
1196 
1197 static const char kZoneNameAfrica_Monrovia[] ACE_TIME_PROGMEM = "\x01" "Monrovia";
1198 
1199 const complete::Info::ZoneInfo kZoneAfrica_Monrovia ACE_TIME_PROGMEM = {
1200  kZoneNameAfrica_Monrovia /*name*/,
1201  0x0ce90385 /*zoneId*/,
1202  &kZoneContext /*zoneContext*/,
1203  4 /*numEras*/,
1204  kZoneEraAfrica_Monrovia /*eras*/,
1205  nullptr /*targetInfo*/,
1206 };
1207 
1208 //---------------------------------------------------------------------------
1209 // Zone name: Africa/Nairobi
1210 // Eras: 6
1211 //---------------------------------------------------------------------------
1212 
1213 static const complete::Info::ZoneEra kZoneEraAfrica_Nairobi[] ACE_TIME_PROGMEM = {
1214  // 2:27:16 - LMT 1908 May
1215  {
1216  nullptr /*zonePolicy*/,
1217  "LMT" /*format*/,
1218  589 /*offsetCode (8836/15)*/,
1219  1 /*offsetRemainder (8836%15)*/,
1220  0 /*deltaMinutes*/,
1221  1908 /*untilYear*/,
1222  5 /*untilMonth*/,
1223  1 /*untilDay*/,
1224  0 /*untilTimeCode (0/15)*/,
1225  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1226  },
1227  // 2:30 - %z 1928 Jun 30 24:00
1228  {
1229  nullptr /*zonePolicy*/,
1230  "" /*format*/,
1231  600 /*offsetCode (9000/15)*/,
1232  0 /*offsetRemainder (9000%15)*/,
1233  0 /*deltaMinutes*/,
1234  1928 /*untilYear*/,
1235  6 /*untilMonth*/,
1236  30 /*untilDay*/,
1237  5760 /*untilTimeCode (86400/15)*/,
1238  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1239  },
1240  // 3:00 - EAT 1930 Jan 4 24:00
1241  {
1242  nullptr /*zonePolicy*/,
1243  "EAT" /*format*/,
1244  720 /*offsetCode (10800/15)*/,
1245  0 /*offsetRemainder (10800%15)*/,
1246  0 /*deltaMinutes*/,
1247  1930 /*untilYear*/,
1248  1 /*untilMonth*/,
1249  4 /*untilDay*/,
1250  5760 /*untilTimeCode (86400/15)*/,
1251  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1252  },
1253  // 2:30 - %z 1936 Dec 31 24:00
1254  {
1255  nullptr /*zonePolicy*/,
1256  "" /*format*/,
1257  600 /*offsetCode (9000/15)*/,
1258  0 /*offsetRemainder (9000%15)*/,
1259  0 /*deltaMinutes*/,
1260  1936 /*untilYear*/,
1261  12 /*untilMonth*/,
1262  31 /*untilDay*/,
1263  5760 /*untilTimeCode (86400/15)*/,
1264  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1265  },
1266  // 2:45 - %z 1942 Jul 31 24:00
1267  {
1268  nullptr /*zonePolicy*/,
1269  "" /*format*/,
1270  660 /*offsetCode (9900/15)*/,
1271  0 /*offsetRemainder (9900%15)*/,
1272  0 /*deltaMinutes*/,
1273  1942 /*untilYear*/,
1274  7 /*untilMonth*/,
1275  31 /*untilDay*/,
1276  5760 /*untilTimeCode (86400/15)*/,
1277  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1278  },
1279  // 3:00 - EAT
1280  {
1281  nullptr /*zonePolicy*/,
1282  "EAT" /*format*/,
1283  720 /*offsetCode (10800/15)*/,
1284  0 /*offsetRemainder (10800%15)*/,
1285  0 /*deltaMinutes*/,
1286  32767 /*untilYear*/,
1287  1 /*untilMonth*/,
1288  1 /*untilDay*/,
1289  0 /*untilTimeCode (0/15)*/,
1290  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1291  },
1292 
1293 };
1294 
1295 static const char kZoneNameAfrica_Nairobi[] ACE_TIME_PROGMEM = "\x01" "Nairobi";
1296 
1297 const complete::Info::ZoneInfo kZoneAfrica_Nairobi ACE_TIME_PROGMEM = {
1298  kZoneNameAfrica_Nairobi /*name*/,
1299  0xa87ab57e /*zoneId*/,
1300  &kZoneContext /*zoneContext*/,
1301  6 /*numEras*/,
1302  kZoneEraAfrica_Nairobi /*eras*/,
1303  nullptr /*targetInfo*/,
1304 };
1305 
1306 //---------------------------------------------------------------------------
1307 // Zone name: Africa/Ndjamena
1308 // Eras: 4
1309 //---------------------------------------------------------------------------
1310 
1311 static const complete::Info::ZoneEra kZoneEraAfrica_Ndjamena[] ACE_TIME_PROGMEM = {
1312  // 1:00:12 - LMT 1912 Jan 1
1313  {
1314  nullptr /*zonePolicy*/,
1315  "LMT" /*format*/,
1316  240 /*offsetCode (3612/15)*/,
1317  12 /*offsetRemainder (3612%15)*/,
1318  0 /*deltaMinutes*/,
1319  1912 /*untilYear*/,
1320  1 /*untilMonth*/,
1321  1 /*untilDay*/,
1322  0 /*untilTimeCode (0/15)*/,
1323  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1324  },
1325  // 1:00 - WAT 1979 Oct 14
1326  {
1327  nullptr /*zonePolicy*/,
1328  "WAT" /*format*/,
1329  240 /*offsetCode (3600/15)*/,
1330  0 /*offsetRemainder (3600%15)*/,
1331  0 /*deltaMinutes*/,
1332  1979 /*untilYear*/,
1333  10 /*untilMonth*/,
1334  14 /*untilDay*/,
1335  0 /*untilTimeCode (0/15)*/,
1336  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1337  },
1338  // 1:00 1:00 WAST 1980 Mar 8
1339  {
1340  nullptr /*zonePolicy*/,
1341  "WAST" /*format*/,
1342  240 /*offsetCode (3600/15)*/,
1343  0 /*offsetRemainder (3600%15)*/,
1344  60 /*deltaMinutes*/,
1345  1980 /*untilYear*/,
1346  3 /*untilMonth*/,
1347  8 /*untilDay*/,
1348  0 /*untilTimeCode (0/15)*/,
1349  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1350  },
1351  // 1:00 - WAT
1352  {
1353  nullptr /*zonePolicy*/,
1354  "WAT" /*format*/,
1355  240 /*offsetCode (3600/15)*/,
1356  0 /*offsetRemainder (3600%15)*/,
1357  0 /*deltaMinutes*/,
1358  32767 /*untilYear*/,
1359  1 /*untilMonth*/,
1360  1 /*untilDay*/,
1361  0 /*untilTimeCode (0/15)*/,
1362  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1363  },
1364 
1365 };
1366 
1367 static const char kZoneNameAfrica_Ndjamena[] ACE_TIME_PROGMEM = "\x01" "Ndjamena";
1368 
1369 const complete::Info::ZoneInfo kZoneAfrica_Ndjamena ACE_TIME_PROGMEM = {
1370  kZoneNameAfrica_Ndjamena /*name*/,
1371  0x9fe09898 /*zoneId*/,
1372  &kZoneContext /*zoneContext*/,
1373  4 /*numEras*/,
1374  kZoneEraAfrica_Ndjamena /*eras*/,
1375  nullptr /*targetInfo*/,
1376 };
1377 
1378 //---------------------------------------------------------------------------
1379 // Zone name: Africa/Sao_Tome
1380 // Eras: 5
1381 //---------------------------------------------------------------------------
1382 
1383 static const complete::Info::ZoneEra kZoneEraAfrica_Sao_Tome[] ACE_TIME_PROGMEM = {
1384  // 0:26:56 - LMT 1884
1385  {
1386  nullptr /*zonePolicy*/,
1387  "LMT" /*format*/,
1388  107 /*offsetCode (1616/15)*/,
1389  11 /*offsetRemainder (1616%15)*/,
1390  0 /*deltaMinutes*/,
1391  1884 /*untilYear*/,
1392  1 /*untilMonth*/,
1393  1 /*untilDay*/,
1394  0 /*untilTimeCode (0/15)*/,
1395  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1396  },
1397  // -0:36:45 - LMT 1912 Jan 1 00:00u
1398  {
1399  nullptr /*zonePolicy*/,
1400  "LMT" /*format*/,
1401  -147 /*offsetCode (-2205/15)*/,
1402  0 /*offsetRemainder (-2205%15)*/,
1403  0 /*deltaMinutes*/,
1404  1912 /*untilYear*/,
1405  1 /*untilMonth*/,
1406  1 /*untilDay*/,
1407  0 /*untilTimeCode (0/15)*/,
1408  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
1409  },
1410  // 0:00 - GMT 2018 Jan 1 01:00
1411  {
1412  nullptr /*zonePolicy*/,
1413  "GMT" /*format*/,
1414  0 /*offsetCode (0/15)*/,
1415  0 /*offsetRemainder (0%15)*/,
1416  0 /*deltaMinutes*/,
1417  2018 /*untilYear*/,
1418  1 /*untilMonth*/,
1419  1 /*untilDay*/,
1420  240 /*untilTimeCode (3600/15)*/,
1421  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1422  },
1423  // 1:00 - WAT 2019 Jan 1 02:00
1424  {
1425  nullptr /*zonePolicy*/,
1426  "WAT" /*format*/,
1427  240 /*offsetCode (3600/15)*/,
1428  0 /*offsetRemainder (3600%15)*/,
1429  0 /*deltaMinutes*/,
1430  2019 /*untilYear*/,
1431  1 /*untilMonth*/,
1432  1 /*untilDay*/,
1433  480 /*untilTimeCode (7200/15)*/,
1434  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1435  },
1436  // 0:00 - GMT
1437  {
1438  nullptr /*zonePolicy*/,
1439  "GMT" /*format*/,
1440  0 /*offsetCode (0/15)*/,
1441  0 /*offsetRemainder (0%15)*/,
1442  0 /*deltaMinutes*/,
1443  32767 /*untilYear*/,
1444  1 /*untilMonth*/,
1445  1 /*untilDay*/,
1446  0 /*untilTimeCode (0/15)*/,
1447  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1448  },
1449 
1450 };
1451 
1452 static const char kZoneNameAfrica_Sao_Tome[] ACE_TIME_PROGMEM = "\x01" "Sao_Tome";
1453 
1454 const complete::Info::ZoneInfo kZoneAfrica_Sao_Tome ACE_TIME_PROGMEM = {
1455  kZoneNameAfrica_Sao_Tome /*name*/,
1456  0x61b319d1 /*zoneId*/,
1457  &kZoneContext /*zoneContext*/,
1458  5 /*numEras*/,
1459  kZoneEraAfrica_Sao_Tome /*eras*/,
1460  nullptr /*targetInfo*/,
1461 };
1462 
1463 //---------------------------------------------------------------------------
1464 // Zone name: Africa/Tripoli
1465 // Eras: 9
1466 //---------------------------------------------------------------------------
1467 
1468 static const complete::Info::ZoneEra kZoneEraAfrica_Tripoli[] ACE_TIME_PROGMEM = {
1469  // 0:52:44 - LMT 1920
1470  {
1471  nullptr /*zonePolicy*/,
1472  "LMT" /*format*/,
1473  210 /*offsetCode (3164/15)*/,
1474  14 /*offsetRemainder (3164%15)*/,
1475  0 /*deltaMinutes*/,
1476  1920 /*untilYear*/,
1477  1 /*untilMonth*/,
1478  1 /*untilDay*/,
1479  0 /*untilTimeCode (0/15)*/,
1480  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1481  },
1482  // 1:00 Libya CE%sT 1959
1483  {
1484  &kZonePolicyLibya /*zonePolicy*/,
1485  "CE%T" /*format*/,
1486  240 /*offsetCode (3600/15)*/,
1487  0 /*offsetRemainder (3600%15)*/,
1488  0 /*deltaMinutes*/,
1489  1959 /*untilYear*/,
1490  1 /*untilMonth*/,
1491  1 /*untilDay*/,
1492  0 /*untilTimeCode (0/15)*/,
1493  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1494  },
1495  // 2:00 - EET 1982
1496  {
1497  nullptr /*zonePolicy*/,
1498  "EET" /*format*/,
1499  480 /*offsetCode (7200/15)*/,
1500  0 /*offsetRemainder (7200%15)*/,
1501  0 /*deltaMinutes*/,
1502  1982 /*untilYear*/,
1503  1 /*untilMonth*/,
1504  1 /*untilDay*/,
1505  0 /*untilTimeCode (0/15)*/,
1506  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1507  },
1508  // 1:00 Libya CE%sT 1990 May 4
1509  {
1510  &kZonePolicyLibya /*zonePolicy*/,
1511  "CE%T" /*format*/,
1512  240 /*offsetCode (3600/15)*/,
1513  0 /*offsetRemainder (3600%15)*/,
1514  0 /*deltaMinutes*/,
1515  1990 /*untilYear*/,
1516  5 /*untilMonth*/,
1517  4 /*untilDay*/,
1518  0 /*untilTimeCode (0/15)*/,
1519  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1520  },
1521  // 2:00 - EET 1996 Sep 30
1522  {
1523  nullptr /*zonePolicy*/,
1524  "EET" /*format*/,
1525  480 /*offsetCode (7200/15)*/,
1526  0 /*offsetRemainder (7200%15)*/,
1527  0 /*deltaMinutes*/,
1528  1996 /*untilYear*/,
1529  9 /*untilMonth*/,
1530  30 /*untilDay*/,
1531  0 /*untilTimeCode (0/15)*/,
1532  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1533  },
1534  // 1:00 Libya CE%sT 1997 Oct 4
1535  {
1536  &kZonePolicyLibya /*zonePolicy*/,
1537  "CE%T" /*format*/,
1538  240 /*offsetCode (3600/15)*/,
1539  0 /*offsetRemainder (3600%15)*/,
1540  0 /*deltaMinutes*/,
1541  1997 /*untilYear*/,
1542  10 /*untilMonth*/,
1543  4 /*untilDay*/,
1544  0 /*untilTimeCode (0/15)*/,
1545  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1546  },
1547  // 2:00 - EET 2012 Nov 10 2:00
1548  {
1549  nullptr /*zonePolicy*/,
1550  "EET" /*format*/,
1551  480 /*offsetCode (7200/15)*/,
1552  0 /*offsetRemainder (7200%15)*/,
1553  0 /*deltaMinutes*/,
1554  2012 /*untilYear*/,
1555  11 /*untilMonth*/,
1556  10 /*untilDay*/,
1557  480 /*untilTimeCode (7200/15)*/,
1558  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1559  },
1560  // 1:00 Libya CE%sT 2013 Oct 25 2:00
1561  {
1562  &kZonePolicyLibya /*zonePolicy*/,
1563  "CE%T" /*format*/,
1564  240 /*offsetCode (3600/15)*/,
1565  0 /*offsetRemainder (3600%15)*/,
1566  0 /*deltaMinutes*/,
1567  2013 /*untilYear*/,
1568  10 /*untilMonth*/,
1569  25 /*untilDay*/,
1570  480 /*untilTimeCode (7200/15)*/,
1571  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1572  },
1573  // 2:00 - EET
1574  {
1575  nullptr /*zonePolicy*/,
1576  "EET" /*format*/,
1577  480 /*offsetCode (7200/15)*/,
1578  0 /*offsetRemainder (7200%15)*/,
1579  0 /*deltaMinutes*/,
1580  32767 /*untilYear*/,
1581  1 /*untilMonth*/,
1582  1 /*untilDay*/,
1583  0 /*untilTimeCode (0/15)*/,
1584  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1585  },
1586 
1587 };
1588 
1589 static const char kZoneNameAfrica_Tripoli[] ACE_TIME_PROGMEM = "\x01" "Tripoli";
1590 
1591 const complete::Info::ZoneInfo kZoneAfrica_Tripoli ACE_TIME_PROGMEM = {
1592  kZoneNameAfrica_Tripoli /*name*/,
1593  0x9dfebd3d /*zoneId*/,
1594  &kZoneContext /*zoneContext*/,
1595  9 /*numEras*/,
1596  kZoneEraAfrica_Tripoli /*eras*/,
1597  nullptr /*targetInfo*/,
1598 };
1599 
1600 //---------------------------------------------------------------------------
1601 // Zone name: Africa/Tunis
1602 // Eras: 3
1603 //---------------------------------------------------------------------------
1604 
1605 static const complete::Info::ZoneEra kZoneEraAfrica_Tunis[] ACE_TIME_PROGMEM = {
1606  // 0:40:44 - LMT 1881 May 12
1607  {
1608  nullptr /*zonePolicy*/,
1609  "LMT" /*format*/,
1610  162 /*offsetCode (2444/15)*/,
1611  14 /*offsetRemainder (2444%15)*/,
1612  0 /*deltaMinutes*/,
1613  1881 /*untilYear*/,
1614  5 /*untilMonth*/,
1615  12 /*untilDay*/,
1616  0 /*untilTimeCode (0/15)*/,
1617  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1618  },
1619  // 0:09:21 - PMT 1911 Mar 11
1620  {
1621  nullptr /*zonePolicy*/,
1622  "PMT" /*format*/,
1623  37 /*offsetCode (561/15)*/,
1624  6 /*offsetRemainder (561%15)*/,
1625  0 /*deltaMinutes*/,
1626  1911 /*untilYear*/,
1627  3 /*untilMonth*/,
1628  11 /*untilDay*/,
1629  0 /*untilTimeCode (0/15)*/,
1630  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1631  },
1632  // 1:00 Tunisia CE%sT
1633  {
1634  &kZonePolicyTunisia /*zonePolicy*/,
1635  "CE%T" /*format*/,
1636  240 /*offsetCode (3600/15)*/,
1637  0 /*offsetRemainder (3600%15)*/,
1638  0 /*deltaMinutes*/,
1639  32767 /*untilYear*/,
1640  1 /*untilMonth*/,
1641  1 /*untilDay*/,
1642  0 /*untilTimeCode (0/15)*/,
1643  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1644  },
1645 
1646 };
1647 
1648 static const char kZoneNameAfrica_Tunis[] ACE_TIME_PROGMEM = "\x01" "Tunis";
1649 
1650 const complete::Info::ZoneInfo kZoneAfrica_Tunis ACE_TIME_PROGMEM = {
1651  kZoneNameAfrica_Tunis /*name*/,
1652  0x79378e6d /*zoneId*/,
1653  &kZoneContext /*zoneContext*/,
1654  3 /*numEras*/,
1655  kZoneEraAfrica_Tunis /*eras*/,
1656  nullptr /*targetInfo*/,
1657 };
1658 
1659 //---------------------------------------------------------------------------
1660 // Zone name: Africa/Windhoek
1661 // Eras: 6
1662 //---------------------------------------------------------------------------
1663 
1664 static const complete::Info::ZoneEra kZoneEraAfrica_Windhoek[] ACE_TIME_PROGMEM = {
1665  // 1:08:24 - LMT 1892 Feb 8
1666  {
1667  nullptr /*zonePolicy*/,
1668  "LMT" /*format*/,
1669  273 /*offsetCode (4104/15)*/,
1670  9 /*offsetRemainder (4104%15)*/,
1671  0 /*deltaMinutes*/,
1672  1892 /*untilYear*/,
1673  2 /*untilMonth*/,
1674  8 /*untilDay*/,
1675  0 /*untilTimeCode (0/15)*/,
1676  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1677  },
1678  // 1:30 - %z 1903 Mar
1679  {
1680  nullptr /*zonePolicy*/,
1681  "" /*format*/,
1682  360 /*offsetCode (5400/15)*/,
1683  0 /*offsetRemainder (5400%15)*/,
1684  0 /*deltaMinutes*/,
1685  1903 /*untilYear*/,
1686  3 /*untilMonth*/,
1687  1 /*untilDay*/,
1688  0 /*untilTimeCode (0/15)*/,
1689  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1690  },
1691  // 2:00 - SAST 1942 Sep 20 2:00
1692  {
1693  nullptr /*zonePolicy*/,
1694  "SAST" /*format*/,
1695  480 /*offsetCode (7200/15)*/,
1696  0 /*offsetRemainder (7200%15)*/,
1697  0 /*deltaMinutes*/,
1698  1942 /*untilYear*/,
1699  9 /*untilMonth*/,
1700  20 /*untilDay*/,
1701  480 /*untilTimeCode (7200/15)*/,
1702  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1703  },
1704  // 2:00 1:00 SAST 1943 Mar 21 2:00
1705  {
1706  nullptr /*zonePolicy*/,
1707  "SAST" /*format*/,
1708  480 /*offsetCode (7200/15)*/,
1709  0 /*offsetRemainder (7200%15)*/,
1710  60 /*deltaMinutes*/,
1711  1943 /*untilYear*/,
1712  3 /*untilMonth*/,
1713  21 /*untilDay*/,
1714  480 /*untilTimeCode (7200/15)*/,
1715  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1716  },
1717  // 2:00 - SAST 1990 Mar 21
1718  {
1719  nullptr /*zonePolicy*/,
1720  "SAST" /*format*/,
1721  480 /*offsetCode (7200/15)*/,
1722  0 /*offsetRemainder (7200%15)*/,
1723  0 /*deltaMinutes*/,
1724  1990 /*untilYear*/,
1725  3 /*untilMonth*/,
1726  21 /*untilDay*/,
1727  0 /*untilTimeCode (0/15)*/,
1728  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1729  },
1730  // 2:00 Namibia %s
1731  {
1732  &kZonePolicyNamibia /*zonePolicy*/,
1733  "%" /*format*/,
1734  480 /*offsetCode (7200/15)*/,
1735  0 /*offsetRemainder (7200%15)*/,
1736  0 /*deltaMinutes*/,
1737  32767 /*untilYear*/,
1738  1 /*untilMonth*/,
1739  1 /*untilDay*/,
1740  0 /*untilTimeCode (0/15)*/,
1741  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1742  },
1743 
1744 };
1745 
1746 static const char kZoneNameAfrica_Windhoek[] ACE_TIME_PROGMEM = "\x01" "Windhoek";
1747 
1748 const complete::Info::ZoneInfo kZoneAfrica_Windhoek ACE_TIME_PROGMEM = {
1749  kZoneNameAfrica_Windhoek /*name*/,
1750  0x789c9bd3 /*zoneId*/,
1751  &kZoneContext /*zoneContext*/,
1752  6 /*numEras*/,
1753  kZoneEraAfrica_Windhoek /*eras*/,
1754  nullptr /*targetInfo*/,
1755 };
1756 
1757 //---------------------------------------------------------------------------
1758 // Zone name: America/Adak
1759 // Eras: 9
1760 //---------------------------------------------------------------------------
1761 
1762 static const complete::Info::ZoneEra kZoneEraAmerica_Adak[] ACE_TIME_PROGMEM = {
1763  // 12:13:22 - LMT 1867 Oct 19 12:44:35
1764  {
1765  nullptr /*zonePolicy*/,
1766  "LMT" /*format*/,
1767  2933 /*offsetCode (44002/15)*/,
1768  7 /*offsetRemainder (44002%15)*/,
1769  0 /*deltaMinutes*/,
1770  1867 /*untilYear*/,
1771  10 /*untilMonth*/,
1772  19 /*untilDay*/,
1773  3058 /*untilTimeCode (45875/15)*/,
1774  5 /*untilTimeModifier (kAtcSuffixW + seconds=5)*/,
1775  },
1776  // -11:46:38 - LMT 1900 Aug 20 12:00
1777  {
1778  nullptr /*zonePolicy*/,
1779  "LMT" /*format*/,
1780  -2827 /*offsetCode (-42398/15)*/,
1781  7 /*offsetRemainder (-42398%15)*/,
1782  0 /*deltaMinutes*/,
1783  1900 /*untilYear*/,
1784  8 /*untilMonth*/,
1785  20 /*untilDay*/,
1786  2880 /*untilTimeCode (43200/15)*/,
1787  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1788  },
1789  // -11:00 - NST 1942
1790  {
1791  nullptr /*zonePolicy*/,
1792  "NST" /*format*/,
1793  -2640 /*offsetCode (-39600/15)*/,
1794  0 /*offsetRemainder (-39600%15)*/,
1795  0 /*deltaMinutes*/,
1796  1942 /*untilYear*/,
1797  1 /*untilMonth*/,
1798  1 /*untilDay*/,
1799  0 /*untilTimeCode (0/15)*/,
1800  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1801  },
1802  // -11:00 US N%sT 1946
1803  {
1804  &kZonePolicyUS /*zonePolicy*/,
1805  "N%T" /*format*/,
1806  -2640 /*offsetCode (-39600/15)*/,
1807  0 /*offsetRemainder (-39600%15)*/,
1808  0 /*deltaMinutes*/,
1809  1946 /*untilYear*/,
1810  1 /*untilMonth*/,
1811  1 /*untilDay*/,
1812  0 /*untilTimeCode (0/15)*/,
1813  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1814  },
1815  // -11:00 - NST 1967 Apr
1816  {
1817  nullptr /*zonePolicy*/,
1818  "NST" /*format*/,
1819  -2640 /*offsetCode (-39600/15)*/,
1820  0 /*offsetRemainder (-39600%15)*/,
1821  0 /*deltaMinutes*/,
1822  1967 /*untilYear*/,
1823  4 /*untilMonth*/,
1824  1 /*untilDay*/,
1825  0 /*untilTimeCode (0/15)*/,
1826  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1827  },
1828  // -11:00 - BST 1969
1829  {
1830  nullptr /*zonePolicy*/,
1831  "BST" /*format*/,
1832  -2640 /*offsetCode (-39600/15)*/,
1833  0 /*offsetRemainder (-39600%15)*/,
1834  0 /*deltaMinutes*/,
1835  1969 /*untilYear*/,
1836  1 /*untilMonth*/,
1837  1 /*untilDay*/,
1838  0 /*untilTimeCode (0/15)*/,
1839  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1840  },
1841  // -11:00 US B%sT 1983 Oct 30 2:00
1842  {
1843  &kZonePolicyUS /*zonePolicy*/,
1844  "B%T" /*format*/,
1845  -2640 /*offsetCode (-39600/15)*/,
1846  0 /*offsetRemainder (-39600%15)*/,
1847  0 /*deltaMinutes*/,
1848  1983 /*untilYear*/,
1849  10 /*untilMonth*/,
1850  30 /*untilDay*/,
1851  480 /*untilTimeCode (7200/15)*/,
1852  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1853  },
1854  // -10:00 US AH%sT 1983 Nov 30
1855  {
1856  &kZonePolicyUS /*zonePolicy*/,
1857  "AH%T" /*format*/,
1858  -2400 /*offsetCode (-36000/15)*/,
1859  0 /*offsetRemainder (-36000%15)*/,
1860  0 /*deltaMinutes*/,
1861  1983 /*untilYear*/,
1862  11 /*untilMonth*/,
1863  30 /*untilDay*/,
1864  0 /*untilTimeCode (0/15)*/,
1865  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1866  },
1867  // -10:00 US H%sT
1868  {
1869  &kZonePolicyUS /*zonePolicy*/,
1870  "H%T" /*format*/,
1871  -2400 /*offsetCode (-36000/15)*/,
1872  0 /*offsetRemainder (-36000%15)*/,
1873  0 /*deltaMinutes*/,
1874  32767 /*untilYear*/,
1875  1 /*untilMonth*/,
1876  1 /*untilDay*/,
1877  0 /*untilTimeCode (0/15)*/,
1878  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1879  },
1880 
1881 };
1882 
1883 static const char kZoneNameAmerica_Adak[] ACE_TIME_PROGMEM = "\x02" "Adak";
1884 
1885 const complete::Info::ZoneInfo kZoneAmerica_Adak ACE_TIME_PROGMEM = {
1886  kZoneNameAmerica_Adak /*name*/,
1887  0x97fe49d7 /*zoneId*/,
1888  &kZoneContext /*zoneContext*/,
1889  9 /*numEras*/,
1890  kZoneEraAmerica_Adak /*eras*/,
1891  nullptr /*targetInfo*/,
1892 };
1893 
1894 //---------------------------------------------------------------------------
1895 // Zone name: America/Anchorage
1896 // Eras: 8
1897 //---------------------------------------------------------------------------
1898 
1899 static const complete::Info::ZoneEra kZoneEraAmerica_Anchorage[] ACE_TIME_PROGMEM = {
1900  // 14:00:24 - LMT 1867 Oct 19 14:31:37
1901  {
1902  nullptr /*zonePolicy*/,
1903  "LMT" /*format*/,
1904  3361 /*offsetCode (50424/15)*/,
1905  9 /*offsetRemainder (50424%15)*/,
1906  0 /*deltaMinutes*/,
1907  1867 /*untilYear*/,
1908  10 /*untilMonth*/,
1909  19 /*untilDay*/,
1910  3486 /*untilTimeCode (52297/15)*/,
1911  7 /*untilTimeModifier (kAtcSuffixW + seconds=7)*/,
1912  },
1913  // -9:59:36 - LMT 1900 Aug 20 12:00
1914  {
1915  nullptr /*zonePolicy*/,
1916  "LMT" /*format*/,
1917  -2399 /*offsetCode (-35976/15)*/,
1918  9 /*offsetRemainder (-35976%15)*/,
1919  0 /*deltaMinutes*/,
1920  1900 /*untilYear*/,
1921  8 /*untilMonth*/,
1922  20 /*untilDay*/,
1923  2880 /*untilTimeCode (43200/15)*/,
1924  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1925  },
1926  // -10:00 - AST 1942
1927  {
1928  nullptr /*zonePolicy*/,
1929  "AST" /*format*/,
1930  -2400 /*offsetCode (-36000/15)*/,
1931  0 /*offsetRemainder (-36000%15)*/,
1932  0 /*deltaMinutes*/,
1933  1942 /*untilYear*/,
1934  1 /*untilMonth*/,
1935  1 /*untilDay*/,
1936  0 /*untilTimeCode (0/15)*/,
1937  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1938  },
1939  // -10:00 US A%sT 1967 Apr
1940  {
1941  &kZonePolicyUS /*zonePolicy*/,
1942  "A%T" /*format*/,
1943  -2400 /*offsetCode (-36000/15)*/,
1944  0 /*offsetRemainder (-36000%15)*/,
1945  0 /*deltaMinutes*/,
1946  1967 /*untilYear*/,
1947  4 /*untilMonth*/,
1948  1 /*untilDay*/,
1949  0 /*untilTimeCode (0/15)*/,
1950  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1951  },
1952  // -10:00 - AHST 1969
1953  {
1954  nullptr /*zonePolicy*/,
1955  "AHST" /*format*/,
1956  -2400 /*offsetCode (-36000/15)*/,
1957  0 /*offsetRemainder (-36000%15)*/,
1958  0 /*deltaMinutes*/,
1959  1969 /*untilYear*/,
1960  1 /*untilMonth*/,
1961  1 /*untilDay*/,
1962  0 /*untilTimeCode (0/15)*/,
1963  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1964  },
1965  // -10:00 US AH%sT 1983 Oct 30 2:00
1966  {
1967  &kZonePolicyUS /*zonePolicy*/,
1968  "AH%T" /*format*/,
1969  -2400 /*offsetCode (-36000/15)*/,
1970  0 /*offsetRemainder (-36000%15)*/,
1971  0 /*deltaMinutes*/,
1972  1983 /*untilYear*/,
1973  10 /*untilMonth*/,
1974  30 /*untilDay*/,
1975  480 /*untilTimeCode (7200/15)*/,
1976  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1977  },
1978  // -9:00 US Y%sT 1983 Nov 30
1979  {
1980  &kZonePolicyUS /*zonePolicy*/,
1981  "Y%T" /*format*/,
1982  -2160 /*offsetCode (-32400/15)*/,
1983  0 /*offsetRemainder (-32400%15)*/,
1984  0 /*deltaMinutes*/,
1985  1983 /*untilYear*/,
1986  11 /*untilMonth*/,
1987  30 /*untilDay*/,
1988  0 /*untilTimeCode (0/15)*/,
1989  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1990  },
1991  // -9:00 US AK%sT
1992  {
1993  &kZonePolicyUS /*zonePolicy*/,
1994  "AK%T" /*format*/,
1995  -2160 /*offsetCode (-32400/15)*/,
1996  0 /*offsetRemainder (-32400%15)*/,
1997  0 /*deltaMinutes*/,
1998  32767 /*untilYear*/,
1999  1 /*untilMonth*/,
2000  1 /*untilDay*/,
2001  0 /*untilTimeCode (0/15)*/,
2002  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2003  },
2004 
2005 };
2006 
2007 static const char kZoneNameAmerica_Anchorage[] ACE_TIME_PROGMEM = "\x02" "Anchorage";
2008 
2009 const complete::Info::ZoneInfo kZoneAmerica_Anchorage ACE_TIME_PROGMEM = {
2010  kZoneNameAmerica_Anchorage /*name*/,
2011  0x5a79260e /*zoneId*/,
2012  &kZoneContext /*zoneContext*/,
2013  8 /*numEras*/,
2014  kZoneEraAmerica_Anchorage /*eras*/,
2015  nullptr /*targetInfo*/,
2016 };
2017 
2018 //---------------------------------------------------------------------------
2019 // Zone name: America/Araguaina
2020 // Eras: 7
2021 //---------------------------------------------------------------------------
2022 
2023 static const complete::Info::ZoneEra kZoneEraAmerica_Araguaina[] ACE_TIME_PROGMEM = {
2024  // -3:12:48 - LMT 1914
2025  {
2026  nullptr /*zonePolicy*/,
2027  "LMT" /*format*/,
2028  -772 /*offsetCode (-11568/15)*/,
2029  12 /*offsetRemainder (-11568%15)*/,
2030  0 /*deltaMinutes*/,
2031  1914 /*untilYear*/,
2032  1 /*untilMonth*/,
2033  1 /*untilDay*/,
2034  0 /*untilTimeCode (0/15)*/,
2035  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2036  },
2037  // -3:00 Brazil %z 1990 Sep 17
2038  {
2039  &kZonePolicyBrazil /*zonePolicy*/,
2040  "" /*format*/,
2041  -720 /*offsetCode (-10800/15)*/,
2042  0 /*offsetRemainder (-10800%15)*/,
2043  0 /*deltaMinutes*/,
2044  1990 /*untilYear*/,
2045  9 /*untilMonth*/,
2046  17 /*untilDay*/,
2047  0 /*untilTimeCode (0/15)*/,
2048  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2049  },
2050  // -3:00 - %z 1995 Sep 14
2051  {
2052  nullptr /*zonePolicy*/,
2053  "" /*format*/,
2054  -720 /*offsetCode (-10800/15)*/,
2055  0 /*offsetRemainder (-10800%15)*/,
2056  0 /*deltaMinutes*/,
2057  1995 /*untilYear*/,
2058  9 /*untilMonth*/,
2059  14 /*untilDay*/,
2060  0 /*untilTimeCode (0/15)*/,
2061  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2062  },
2063  // -3:00 Brazil %z 2003 Sep 24
2064  {
2065  &kZonePolicyBrazil /*zonePolicy*/,
2066  "" /*format*/,
2067  -720 /*offsetCode (-10800/15)*/,
2068  0 /*offsetRemainder (-10800%15)*/,
2069  0 /*deltaMinutes*/,
2070  2003 /*untilYear*/,
2071  9 /*untilMonth*/,
2072  24 /*untilDay*/,
2073  0 /*untilTimeCode (0/15)*/,
2074  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2075  },
2076  // -3:00 - %z 2012 Oct 21
2077  {
2078  nullptr /*zonePolicy*/,
2079  "" /*format*/,
2080  -720 /*offsetCode (-10800/15)*/,
2081  0 /*offsetRemainder (-10800%15)*/,
2082  0 /*deltaMinutes*/,
2083  2012 /*untilYear*/,
2084  10 /*untilMonth*/,
2085  21 /*untilDay*/,
2086  0 /*untilTimeCode (0/15)*/,
2087  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2088  },
2089  // -3:00 Brazil %z 2013 Sep
2090  {
2091  &kZonePolicyBrazil /*zonePolicy*/,
2092  "" /*format*/,
2093  -720 /*offsetCode (-10800/15)*/,
2094  0 /*offsetRemainder (-10800%15)*/,
2095  0 /*deltaMinutes*/,
2096  2013 /*untilYear*/,
2097  9 /*untilMonth*/,
2098  1 /*untilDay*/,
2099  0 /*untilTimeCode (0/15)*/,
2100  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2101  },
2102  // -3:00 - %z
2103  {
2104  nullptr /*zonePolicy*/,
2105  "" /*format*/,
2106  -720 /*offsetCode (-10800/15)*/,
2107  0 /*offsetRemainder (-10800%15)*/,
2108  0 /*deltaMinutes*/,
2109  32767 /*untilYear*/,
2110  1 /*untilMonth*/,
2111  1 /*untilDay*/,
2112  0 /*untilTimeCode (0/15)*/,
2113  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2114  },
2115 
2116 };
2117 
2118 static const char kZoneNameAmerica_Araguaina[] ACE_TIME_PROGMEM = "\x02" "Araguaina";
2119 
2120 const complete::Info::ZoneInfo kZoneAmerica_Araguaina ACE_TIME_PROGMEM = {
2121  kZoneNameAmerica_Araguaina /*name*/,
2122  0x6f9a3aef /*zoneId*/,
2123  &kZoneContext /*zoneContext*/,
2124  7 /*numEras*/,
2125  kZoneEraAmerica_Araguaina /*eras*/,
2126  nullptr /*targetInfo*/,
2127 };
2128 
2129 //---------------------------------------------------------------------------
2130 // Zone name: America/Argentina/Buenos_Aires
2131 // Eras: 7
2132 //---------------------------------------------------------------------------
2133 
2134 static const complete::Info::ZoneEra kZoneEraAmerica_Argentina_Buenos_Aires[] ACE_TIME_PROGMEM = {
2135  // -3:53:48 - LMT 1894 Oct 31
2136  {
2137  nullptr /*zonePolicy*/,
2138  "LMT" /*format*/,
2139  -936 /*offsetCode (-14028/15)*/,
2140  12 /*offsetRemainder (-14028%15)*/,
2141  0 /*deltaMinutes*/,
2142  1894 /*untilYear*/,
2143  10 /*untilMonth*/,
2144  31 /*untilDay*/,
2145  0 /*untilTimeCode (0/15)*/,
2146  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2147  },
2148  // -4:16:48 - CMT 1920 May
2149  {
2150  nullptr /*zonePolicy*/,
2151  "CMT" /*format*/,
2152  -1028 /*offsetCode (-15408/15)*/,
2153  12 /*offsetRemainder (-15408%15)*/,
2154  0 /*deltaMinutes*/,
2155  1920 /*untilYear*/,
2156  5 /*untilMonth*/,
2157  1 /*untilDay*/,
2158  0 /*untilTimeCode (0/15)*/,
2159  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2160  },
2161  // -4:00 - %z 1930 Dec
2162  {
2163  nullptr /*zonePolicy*/,
2164  "" /*format*/,
2165  -960 /*offsetCode (-14400/15)*/,
2166  0 /*offsetRemainder (-14400%15)*/,
2167  0 /*deltaMinutes*/,
2168  1930 /*untilYear*/,
2169  12 /*untilMonth*/,
2170  1 /*untilDay*/,
2171  0 /*untilTimeCode (0/15)*/,
2172  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2173  },
2174  // -4:00 Arg %z 1969 Oct 5
2175  {
2176  &kZonePolicyArg /*zonePolicy*/,
2177  "" /*format*/,
2178  -960 /*offsetCode (-14400/15)*/,
2179  0 /*offsetRemainder (-14400%15)*/,
2180  0 /*deltaMinutes*/,
2181  1969 /*untilYear*/,
2182  10 /*untilMonth*/,
2183  5 /*untilDay*/,
2184  0 /*untilTimeCode (0/15)*/,
2185  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2186  },
2187  // -3:00 Arg %z 1999 Oct 3
2188  {
2189  &kZonePolicyArg /*zonePolicy*/,
2190  "" /*format*/,
2191  -720 /*offsetCode (-10800/15)*/,
2192  0 /*offsetRemainder (-10800%15)*/,
2193  0 /*deltaMinutes*/,
2194  1999 /*untilYear*/,
2195  10 /*untilMonth*/,
2196  3 /*untilDay*/,
2197  0 /*untilTimeCode (0/15)*/,
2198  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2199  },
2200  // -4:00 Arg %z 2000 Mar 3
2201  {
2202  &kZonePolicyArg /*zonePolicy*/,
2203  "" /*format*/,
2204  -960 /*offsetCode (-14400/15)*/,
2205  0 /*offsetRemainder (-14400%15)*/,
2206  0 /*deltaMinutes*/,
2207  2000 /*untilYear*/,
2208  3 /*untilMonth*/,
2209  3 /*untilDay*/,
2210  0 /*untilTimeCode (0/15)*/,
2211  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2212  },
2213  // -3:00 Arg %z
2214  {
2215  &kZonePolicyArg /*zonePolicy*/,
2216  "" /*format*/,
2217  -720 /*offsetCode (-10800/15)*/,
2218  0 /*offsetRemainder (-10800%15)*/,
2219  0 /*deltaMinutes*/,
2220  32767 /*untilYear*/,
2221  1 /*untilMonth*/,
2222  1 /*untilDay*/,
2223  0 /*untilTimeCode (0/15)*/,
2224  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2225  },
2226 
2227 };
2228 
2229 static const char kZoneNameAmerica_Argentina_Buenos_Aires[] ACE_TIME_PROGMEM = "\x02" "\x04" "Buenos_Aires";
2230 
2231 const complete::Info::ZoneInfo kZoneAmerica_Argentina_Buenos_Aires ACE_TIME_PROGMEM = {
2232  kZoneNameAmerica_Argentina_Buenos_Aires /*name*/,
2233  0xd43b4c0d /*zoneId*/,
2234  &kZoneContext /*zoneContext*/,
2235  7 /*numEras*/,
2236  kZoneEraAmerica_Argentina_Buenos_Aires /*eras*/,
2237  nullptr /*targetInfo*/,
2238 };
2239 
2240 //---------------------------------------------------------------------------
2241 // Zone name: America/Argentina/Catamarca
2242 // Eras: 12
2243 //---------------------------------------------------------------------------
2244 
2245 static const complete::Info::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PROGMEM = {
2246  // -4:23:08 - LMT 1894 Oct 31
2247  {
2248  nullptr /*zonePolicy*/,
2249  "LMT" /*format*/,
2250  -1053 /*offsetCode (-15788/15)*/,
2251  7 /*offsetRemainder (-15788%15)*/,
2252  0 /*deltaMinutes*/,
2253  1894 /*untilYear*/,
2254  10 /*untilMonth*/,
2255  31 /*untilDay*/,
2256  0 /*untilTimeCode (0/15)*/,
2257  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2258  },
2259  // -4:16:48 - CMT 1920 May
2260  {
2261  nullptr /*zonePolicy*/,
2262  "CMT" /*format*/,
2263  -1028 /*offsetCode (-15408/15)*/,
2264  12 /*offsetRemainder (-15408%15)*/,
2265  0 /*deltaMinutes*/,
2266  1920 /*untilYear*/,
2267  5 /*untilMonth*/,
2268  1 /*untilDay*/,
2269  0 /*untilTimeCode (0/15)*/,
2270  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2271  },
2272  // -4:00 - %z 1930 Dec
2273  {
2274  nullptr /*zonePolicy*/,
2275  "" /*format*/,
2276  -960 /*offsetCode (-14400/15)*/,
2277  0 /*offsetRemainder (-14400%15)*/,
2278  0 /*deltaMinutes*/,
2279  1930 /*untilYear*/,
2280  12 /*untilMonth*/,
2281  1 /*untilDay*/,
2282  0 /*untilTimeCode (0/15)*/,
2283  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2284  },
2285  // -4:00 Arg %z 1969 Oct 5
2286  {
2287  &kZonePolicyArg /*zonePolicy*/,
2288  "" /*format*/,
2289  -960 /*offsetCode (-14400/15)*/,
2290  0 /*offsetRemainder (-14400%15)*/,
2291  0 /*deltaMinutes*/,
2292  1969 /*untilYear*/,
2293  10 /*untilMonth*/,
2294  5 /*untilDay*/,
2295  0 /*untilTimeCode (0/15)*/,
2296  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2297  },
2298  // -3:00 Arg %z 1991 Mar 3
2299  {
2300  &kZonePolicyArg /*zonePolicy*/,
2301  "" /*format*/,
2302  -720 /*offsetCode (-10800/15)*/,
2303  0 /*offsetRemainder (-10800%15)*/,
2304  0 /*deltaMinutes*/,
2305  1991 /*untilYear*/,
2306  3 /*untilMonth*/,
2307  3 /*untilDay*/,
2308  0 /*untilTimeCode (0/15)*/,
2309  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2310  },
2311  // -4:00 - %z 1991 Oct 20
2312  {
2313  nullptr /*zonePolicy*/,
2314  "" /*format*/,
2315  -960 /*offsetCode (-14400/15)*/,
2316  0 /*offsetRemainder (-14400%15)*/,
2317  0 /*deltaMinutes*/,
2318  1991 /*untilYear*/,
2319  10 /*untilMonth*/,
2320  20 /*untilDay*/,
2321  0 /*untilTimeCode (0/15)*/,
2322  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2323  },
2324  // -3:00 Arg %z 1999 Oct 3
2325  {
2326  &kZonePolicyArg /*zonePolicy*/,
2327  "" /*format*/,
2328  -720 /*offsetCode (-10800/15)*/,
2329  0 /*offsetRemainder (-10800%15)*/,
2330  0 /*deltaMinutes*/,
2331  1999 /*untilYear*/,
2332  10 /*untilMonth*/,
2333  3 /*untilDay*/,
2334  0 /*untilTimeCode (0/15)*/,
2335  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2336  },
2337  // -4:00 Arg %z 2000 Mar 3
2338  {
2339  &kZonePolicyArg /*zonePolicy*/,
2340  "" /*format*/,
2341  -960 /*offsetCode (-14400/15)*/,
2342  0 /*offsetRemainder (-14400%15)*/,
2343  0 /*deltaMinutes*/,
2344  2000 /*untilYear*/,
2345  3 /*untilMonth*/,
2346  3 /*untilDay*/,
2347  0 /*untilTimeCode (0/15)*/,
2348  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2349  },
2350  // -3:00 - %z 2004 Jun 1
2351  {
2352  nullptr /*zonePolicy*/,
2353  "" /*format*/,
2354  -720 /*offsetCode (-10800/15)*/,
2355  0 /*offsetRemainder (-10800%15)*/,
2356  0 /*deltaMinutes*/,
2357  2004 /*untilYear*/,
2358  6 /*untilMonth*/,
2359  1 /*untilDay*/,
2360  0 /*untilTimeCode (0/15)*/,
2361  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2362  },
2363  // -4:00 - %z 2004 Jun 20
2364  {
2365  nullptr /*zonePolicy*/,
2366  "" /*format*/,
2367  -960 /*offsetCode (-14400/15)*/,
2368  0 /*offsetRemainder (-14400%15)*/,
2369  0 /*deltaMinutes*/,
2370  2004 /*untilYear*/,
2371  6 /*untilMonth*/,
2372  20 /*untilDay*/,
2373  0 /*untilTimeCode (0/15)*/,
2374  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2375  },
2376  // -3:00 Arg %z 2008 Oct 18
2377  {
2378  &kZonePolicyArg /*zonePolicy*/,
2379  "" /*format*/,
2380  -720 /*offsetCode (-10800/15)*/,
2381  0 /*offsetRemainder (-10800%15)*/,
2382  0 /*deltaMinutes*/,
2383  2008 /*untilYear*/,
2384  10 /*untilMonth*/,
2385  18 /*untilDay*/,
2386  0 /*untilTimeCode (0/15)*/,
2387  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2388  },
2389  // -3:00 - %z
2390  {
2391  nullptr /*zonePolicy*/,
2392  "" /*format*/,
2393  -720 /*offsetCode (-10800/15)*/,
2394  0 /*offsetRemainder (-10800%15)*/,
2395  0 /*deltaMinutes*/,
2396  32767 /*untilYear*/,
2397  1 /*untilMonth*/,
2398  1 /*untilDay*/,
2399  0 /*untilTimeCode (0/15)*/,
2400  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2401  },
2402 
2403 };
2404 
2405 static const char kZoneNameAmerica_Argentina_Catamarca[] ACE_TIME_PROGMEM = "\x02" "\x04" "Catamarca";
2406 
2407 const complete::Info::ZoneInfo kZoneAmerica_Argentina_Catamarca ACE_TIME_PROGMEM = {
2408  kZoneNameAmerica_Argentina_Catamarca /*name*/,
2409  0x8d40986b /*zoneId*/,
2410  &kZoneContext /*zoneContext*/,
2411  12 /*numEras*/,
2412  kZoneEraAmerica_Argentina_Catamarca /*eras*/,
2413  nullptr /*targetInfo*/,
2414 };
2415 
2416 //---------------------------------------------------------------------------
2417 // Zone name: America/Argentina/Cordoba
2418 // Eras: 9
2419 //---------------------------------------------------------------------------
2420 
2421 static const complete::Info::ZoneEra kZoneEraAmerica_Argentina_Cordoba[] ACE_TIME_PROGMEM = {
2422  // -4:16:48 - LMT 1894 Oct 31
2423  {
2424  nullptr /*zonePolicy*/,
2425  "LMT" /*format*/,
2426  -1028 /*offsetCode (-15408/15)*/,
2427  12 /*offsetRemainder (-15408%15)*/,
2428  0 /*deltaMinutes*/,
2429  1894 /*untilYear*/,
2430  10 /*untilMonth*/,
2431  31 /*untilDay*/,
2432  0 /*untilTimeCode (0/15)*/,
2433  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2434  },
2435  // -4:16:48 - CMT 1920 May
2436  {
2437  nullptr /*zonePolicy*/,
2438  "CMT" /*format*/,
2439  -1028 /*offsetCode (-15408/15)*/,
2440  12 /*offsetRemainder (-15408%15)*/,
2441  0 /*deltaMinutes*/,
2442  1920 /*untilYear*/,
2443  5 /*untilMonth*/,
2444  1 /*untilDay*/,
2445  0 /*untilTimeCode (0/15)*/,
2446  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2447  },
2448  // -4:00 - %z 1930 Dec
2449  {
2450  nullptr /*zonePolicy*/,
2451  "" /*format*/,
2452  -960 /*offsetCode (-14400/15)*/,
2453  0 /*offsetRemainder (-14400%15)*/,
2454  0 /*deltaMinutes*/,
2455  1930 /*untilYear*/,
2456  12 /*untilMonth*/,
2457  1 /*untilDay*/,
2458  0 /*untilTimeCode (0/15)*/,
2459  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2460  },
2461  // -4:00 Arg %z 1969 Oct 5
2462  {
2463  &kZonePolicyArg /*zonePolicy*/,
2464  "" /*format*/,
2465  -960 /*offsetCode (-14400/15)*/,
2466  0 /*offsetRemainder (-14400%15)*/,
2467  0 /*deltaMinutes*/,
2468  1969 /*untilYear*/,
2469  10 /*untilMonth*/,
2470  5 /*untilDay*/,
2471  0 /*untilTimeCode (0/15)*/,
2472  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2473  },
2474  // -3:00 Arg %z 1991 Mar 3
2475  {
2476  &kZonePolicyArg /*zonePolicy*/,
2477  "" /*format*/,
2478  -720 /*offsetCode (-10800/15)*/,
2479  0 /*offsetRemainder (-10800%15)*/,
2480  0 /*deltaMinutes*/,
2481  1991 /*untilYear*/,
2482  3 /*untilMonth*/,
2483  3 /*untilDay*/,
2484  0 /*untilTimeCode (0/15)*/,
2485  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2486  },
2487  // -4:00 - %z 1991 Oct 20
2488  {
2489  nullptr /*zonePolicy*/,
2490  "" /*format*/,
2491  -960 /*offsetCode (-14400/15)*/,
2492  0 /*offsetRemainder (-14400%15)*/,
2493  0 /*deltaMinutes*/,
2494  1991 /*untilYear*/,
2495  10 /*untilMonth*/,
2496  20 /*untilDay*/,
2497  0 /*untilTimeCode (0/15)*/,
2498  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2499  },
2500  // -3:00 Arg %z 1999 Oct 3
2501  {
2502  &kZonePolicyArg /*zonePolicy*/,
2503  "" /*format*/,
2504  -720 /*offsetCode (-10800/15)*/,
2505  0 /*offsetRemainder (-10800%15)*/,
2506  0 /*deltaMinutes*/,
2507  1999 /*untilYear*/,
2508  10 /*untilMonth*/,
2509  3 /*untilDay*/,
2510  0 /*untilTimeCode (0/15)*/,
2511  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2512  },
2513  // -4:00 Arg %z 2000 Mar 3
2514  {
2515  &kZonePolicyArg /*zonePolicy*/,
2516  "" /*format*/,
2517  -960 /*offsetCode (-14400/15)*/,
2518  0 /*offsetRemainder (-14400%15)*/,
2519  0 /*deltaMinutes*/,
2520  2000 /*untilYear*/,
2521  3 /*untilMonth*/,
2522  3 /*untilDay*/,
2523  0 /*untilTimeCode (0/15)*/,
2524  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2525  },
2526  // -3:00 Arg %z
2527  {
2528  &kZonePolicyArg /*zonePolicy*/,
2529  "" /*format*/,
2530  -720 /*offsetCode (-10800/15)*/,
2531  0 /*offsetRemainder (-10800%15)*/,
2532  0 /*deltaMinutes*/,
2533  32767 /*untilYear*/,
2534  1 /*untilMonth*/,
2535  1 /*untilDay*/,
2536  0 /*untilTimeCode (0/15)*/,
2537  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2538  },
2539 
2540 };
2541 
2542 static const char kZoneNameAmerica_Argentina_Cordoba[] ACE_TIME_PROGMEM = "\x02" "\x04" "Cordoba";
2543 
2544 const complete::Info::ZoneInfo kZoneAmerica_Argentina_Cordoba ACE_TIME_PROGMEM = {
2545  kZoneNameAmerica_Argentina_Cordoba /*name*/,
2546  0xbfccc308 /*zoneId*/,
2547  &kZoneContext /*zoneContext*/,
2548  9 /*numEras*/,
2549  kZoneEraAmerica_Argentina_Cordoba /*eras*/,
2550  nullptr /*targetInfo*/,
2551 };
2552 
2553 //---------------------------------------------------------------------------
2554 // Zone name: America/Argentina/Jujuy
2555 // Eras: 13
2556 //---------------------------------------------------------------------------
2557 
2558 static const complete::Info::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGMEM = {
2559  // -4:21:12 - LMT 1894 Oct 31
2560  {
2561  nullptr /*zonePolicy*/,
2562  "LMT" /*format*/,
2563  -1045 /*offsetCode (-15672/15)*/,
2564  3 /*offsetRemainder (-15672%15)*/,
2565  0 /*deltaMinutes*/,
2566  1894 /*untilYear*/,
2567  10 /*untilMonth*/,
2568  31 /*untilDay*/,
2569  0 /*untilTimeCode (0/15)*/,
2570  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2571  },
2572  // -4:16:48 - CMT 1920 May
2573  {
2574  nullptr /*zonePolicy*/,
2575  "CMT" /*format*/,
2576  -1028 /*offsetCode (-15408/15)*/,
2577  12 /*offsetRemainder (-15408%15)*/,
2578  0 /*deltaMinutes*/,
2579  1920 /*untilYear*/,
2580  5 /*untilMonth*/,
2581  1 /*untilDay*/,
2582  0 /*untilTimeCode (0/15)*/,
2583  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2584  },
2585  // -4:00 - %z 1930 Dec
2586  {
2587  nullptr /*zonePolicy*/,
2588  "" /*format*/,
2589  -960 /*offsetCode (-14400/15)*/,
2590  0 /*offsetRemainder (-14400%15)*/,
2591  0 /*deltaMinutes*/,
2592  1930 /*untilYear*/,
2593  12 /*untilMonth*/,
2594  1 /*untilDay*/,
2595  0 /*untilTimeCode (0/15)*/,
2596  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2597  },
2598  // -4:00 Arg %z 1969 Oct 5
2599  {
2600  &kZonePolicyArg /*zonePolicy*/,
2601  "" /*format*/,
2602  -960 /*offsetCode (-14400/15)*/,
2603  0 /*offsetRemainder (-14400%15)*/,
2604  0 /*deltaMinutes*/,
2605  1969 /*untilYear*/,
2606  10 /*untilMonth*/,
2607  5 /*untilDay*/,
2608  0 /*untilTimeCode (0/15)*/,
2609  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2610  },
2611  // -3:00 Arg %z 1990 Mar 4
2612  {
2613  &kZonePolicyArg /*zonePolicy*/,
2614  "" /*format*/,
2615  -720 /*offsetCode (-10800/15)*/,
2616  0 /*offsetRemainder (-10800%15)*/,
2617  0 /*deltaMinutes*/,
2618  1990 /*untilYear*/,
2619  3 /*untilMonth*/,
2620  4 /*untilDay*/,
2621  0 /*untilTimeCode (0/15)*/,
2622  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2623  },
2624  // -4:00 - %z 1990 Oct 28
2625  {
2626  nullptr /*zonePolicy*/,
2627  "" /*format*/,
2628  -960 /*offsetCode (-14400/15)*/,
2629  0 /*offsetRemainder (-14400%15)*/,
2630  0 /*deltaMinutes*/,
2631  1990 /*untilYear*/,
2632  10 /*untilMonth*/,
2633  28 /*untilDay*/,
2634  0 /*untilTimeCode (0/15)*/,
2635  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2636  },
2637  // -4:00 1:00 %z 1991 Mar 17
2638  {
2639  nullptr /*zonePolicy*/,
2640  "" /*format*/,
2641  -960 /*offsetCode (-14400/15)*/,
2642  0 /*offsetRemainder (-14400%15)*/,
2643  60 /*deltaMinutes*/,
2644  1991 /*untilYear*/,
2645  3 /*untilMonth*/,
2646  17 /*untilDay*/,
2647  0 /*untilTimeCode (0/15)*/,
2648  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2649  },
2650  // -4:00 - %z 1991 Oct 6
2651  {
2652  nullptr /*zonePolicy*/,
2653  "" /*format*/,
2654  -960 /*offsetCode (-14400/15)*/,
2655  0 /*offsetRemainder (-14400%15)*/,
2656  0 /*deltaMinutes*/,
2657  1991 /*untilYear*/,
2658  10 /*untilMonth*/,
2659  6 /*untilDay*/,
2660  0 /*untilTimeCode (0/15)*/,
2661  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2662  },
2663  // -3:00 1:00 %z 1992
2664  {
2665  nullptr /*zonePolicy*/,
2666  "" /*format*/,
2667  -720 /*offsetCode (-10800/15)*/,
2668  0 /*offsetRemainder (-10800%15)*/,
2669  60 /*deltaMinutes*/,
2670  1992 /*untilYear*/,
2671  1 /*untilMonth*/,
2672  1 /*untilDay*/,
2673  0 /*untilTimeCode (0/15)*/,
2674  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2675  },
2676  // -3:00 Arg %z 1999 Oct 3
2677  {
2678  &kZonePolicyArg /*zonePolicy*/,
2679  "" /*format*/,
2680  -720 /*offsetCode (-10800/15)*/,
2681  0 /*offsetRemainder (-10800%15)*/,
2682  0 /*deltaMinutes*/,
2683  1999 /*untilYear*/,
2684  10 /*untilMonth*/,
2685  3 /*untilDay*/,
2686  0 /*untilTimeCode (0/15)*/,
2687  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2688  },
2689  // -4:00 Arg %z 2000 Mar 3
2690  {
2691  &kZonePolicyArg /*zonePolicy*/,
2692  "" /*format*/,
2693  -960 /*offsetCode (-14400/15)*/,
2694  0 /*offsetRemainder (-14400%15)*/,
2695  0 /*deltaMinutes*/,
2696  2000 /*untilYear*/,
2697  3 /*untilMonth*/,
2698  3 /*untilDay*/,
2699  0 /*untilTimeCode (0/15)*/,
2700  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2701  },
2702  // -3:00 Arg %z 2008 Oct 18
2703  {
2704  &kZonePolicyArg /*zonePolicy*/,
2705  "" /*format*/,
2706  -720 /*offsetCode (-10800/15)*/,
2707  0 /*offsetRemainder (-10800%15)*/,
2708  0 /*deltaMinutes*/,
2709  2008 /*untilYear*/,
2710  10 /*untilMonth*/,
2711  18 /*untilDay*/,
2712  0 /*untilTimeCode (0/15)*/,
2713  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2714  },
2715  // -3:00 - %z
2716  {
2717  nullptr /*zonePolicy*/,
2718  "" /*format*/,
2719  -720 /*offsetCode (-10800/15)*/,
2720  0 /*offsetRemainder (-10800%15)*/,
2721  0 /*deltaMinutes*/,
2722  32767 /*untilYear*/,
2723  1 /*untilMonth*/,
2724  1 /*untilDay*/,
2725  0 /*untilTimeCode (0/15)*/,
2726  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2727  },
2728 
2729 };
2730 
2731 static const char kZoneNameAmerica_Argentina_Jujuy[] ACE_TIME_PROGMEM = "\x02" "\x04" "Jujuy";
2732 
2733 const complete::Info::ZoneInfo kZoneAmerica_Argentina_Jujuy ACE_TIME_PROGMEM = {
2734  kZoneNameAmerica_Argentina_Jujuy /*name*/,
2735  0x5f2f46c5 /*zoneId*/,
2736  &kZoneContext /*zoneContext*/,
2737  13 /*numEras*/,
2738  kZoneEraAmerica_Argentina_Jujuy /*eras*/,
2739  nullptr /*targetInfo*/,
2740 };
2741 
2742 //---------------------------------------------------------------------------
2743 // Zone name: America/Argentina/La_Rioja
2744 // Eras: 12
2745 //---------------------------------------------------------------------------
2746 
2747 static const complete::Info::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PROGMEM = {
2748  // -4:27:24 - LMT 1894 Oct 31
2749  {
2750  nullptr /*zonePolicy*/,
2751  "LMT" /*format*/,
2752  -1070 /*offsetCode (-16044/15)*/,
2753  6 /*offsetRemainder (-16044%15)*/,
2754  0 /*deltaMinutes*/,
2755  1894 /*untilYear*/,
2756  10 /*untilMonth*/,
2757  31 /*untilDay*/,
2758  0 /*untilTimeCode (0/15)*/,
2759  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2760  },
2761  // -4:16:48 - CMT 1920 May
2762  {
2763  nullptr /*zonePolicy*/,
2764  "CMT" /*format*/,
2765  -1028 /*offsetCode (-15408/15)*/,
2766  12 /*offsetRemainder (-15408%15)*/,
2767  0 /*deltaMinutes*/,
2768  1920 /*untilYear*/,
2769  5 /*untilMonth*/,
2770  1 /*untilDay*/,
2771  0 /*untilTimeCode (0/15)*/,
2772  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2773  },
2774  // -4:00 - %z 1930 Dec
2775  {
2776  nullptr /*zonePolicy*/,
2777  "" /*format*/,
2778  -960 /*offsetCode (-14400/15)*/,
2779  0 /*offsetRemainder (-14400%15)*/,
2780  0 /*deltaMinutes*/,
2781  1930 /*untilYear*/,
2782  12 /*untilMonth*/,
2783  1 /*untilDay*/,
2784  0 /*untilTimeCode (0/15)*/,
2785  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2786  },
2787  // -4:00 Arg %z 1969 Oct 5
2788  {
2789  &kZonePolicyArg /*zonePolicy*/,
2790  "" /*format*/,
2791  -960 /*offsetCode (-14400/15)*/,
2792  0 /*offsetRemainder (-14400%15)*/,
2793  0 /*deltaMinutes*/,
2794  1969 /*untilYear*/,
2795  10 /*untilMonth*/,
2796  5 /*untilDay*/,
2797  0 /*untilTimeCode (0/15)*/,
2798  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2799  },
2800  // -3:00 Arg %z 1991 Mar 1
2801  {
2802  &kZonePolicyArg /*zonePolicy*/,
2803  "" /*format*/,
2804  -720 /*offsetCode (-10800/15)*/,
2805  0 /*offsetRemainder (-10800%15)*/,
2806  0 /*deltaMinutes*/,
2807  1991 /*untilYear*/,
2808  3 /*untilMonth*/,
2809  1 /*untilDay*/,
2810  0 /*untilTimeCode (0/15)*/,
2811  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2812  },
2813  // -4:00 - %z 1991 May 7
2814  {
2815  nullptr /*zonePolicy*/,
2816  "" /*format*/,
2817  -960 /*offsetCode (-14400/15)*/,
2818  0 /*offsetRemainder (-14400%15)*/,
2819  0 /*deltaMinutes*/,
2820  1991 /*untilYear*/,
2821  5 /*untilMonth*/,
2822  7 /*untilDay*/,
2823  0 /*untilTimeCode (0/15)*/,
2824  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2825  },
2826  // -3:00 Arg %z 1999 Oct 3
2827  {
2828  &kZonePolicyArg /*zonePolicy*/,
2829  "" /*format*/,
2830  -720 /*offsetCode (-10800/15)*/,
2831  0 /*offsetRemainder (-10800%15)*/,
2832  0 /*deltaMinutes*/,
2833  1999 /*untilYear*/,
2834  10 /*untilMonth*/,
2835  3 /*untilDay*/,
2836  0 /*untilTimeCode (0/15)*/,
2837  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2838  },
2839  // -4:00 Arg %z 2000 Mar 3
2840  {
2841  &kZonePolicyArg /*zonePolicy*/,
2842  "" /*format*/,
2843  -960 /*offsetCode (-14400/15)*/,
2844  0 /*offsetRemainder (-14400%15)*/,
2845  0 /*deltaMinutes*/,
2846  2000 /*untilYear*/,
2847  3 /*untilMonth*/,
2848  3 /*untilDay*/,
2849  0 /*untilTimeCode (0/15)*/,
2850  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2851  },
2852  // -3:00 - %z 2004 Jun 1
2853  {
2854  nullptr /*zonePolicy*/,
2855  "" /*format*/,
2856  -720 /*offsetCode (-10800/15)*/,
2857  0 /*offsetRemainder (-10800%15)*/,
2858  0 /*deltaMinutes*/,
2859  2004 /*untilYear*/,
2860  6 /*untilMonth*/,
2861  1 /*untilDay*/,
2862  0 /*untilTimeCode (0/15)*/,
2863  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2864  },
2865  // -4:00 - %z 2004 Jun 20
2866  {
2867  nullptr /*zonePolicy*/,
2868  "" /*format*/,
2869  -960 /*offsetCode (-14400/15)*/,
2870  0 /*offsetRemainder (-14400%15)*/,
2871  0 /*deltaMinutes*/,
2872  2004 /*untilYear*/,
2873  6 /*untilMonth*/,
2874  20 /*untilDay*/,
2875  0 /*untilTimeCode (0/15)*/,
2876  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2877  },
2878  // -3:00 Arg %z 2008 Oct 18
2879  {
2880  &kZonePolicyArg /*zonePolicy*/,
2881  "" /*format*/,
2882  -720 /*offsetCode (-10800/15)*/,
2883  0 /*offsetRemainder (-10800%15)*/,
2884  0 /*deltaMinutes*/,
2885  2008 /*untilYear*/,
2886  10 /*untilMonth*/,
2887  18 /*untilDay*/,
2888  0 /*untilTimeCode (0/15)*/,
2889  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2890  },
2891  // -3:00 - %z
2892  {
2893  nullptr /*zonePolicy*/,
2894  "" /*format*/,
2895  -720 /*offsetCode (-10800/15)*/,
2896  0 /*offsetRemainder (-10800%15)*/,
2897  0 /*deltaMinutes*/,
2898  32767 /*untilYear*/,
2899  1 /*untilMonth*/,
2900  1 /*untilDay*/,
2901  0 /*untilTimeCode (0/15)*/,
2902  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2903  },
2904 
2905 };
2906 
2907 static const char kZoneNameAmerica_Argentina_La_Rioja[] ACE_TIME_PROGMEM = "\x02" "\x04" "La_Rioja";
2908 
2909 const complete::Info::ZoneInfo kZoneAmerica_Argentina_La_Rioja ACE_TIME_PROGMEM = {
2910  kZoneNameAmerica_Argentina_La_Rioja /*name*/,
2911  0xa46b7eef /*zoneId*/,
2912  &kZoneContext /*zoneContext*/,
2913  12 /*numEras*/,
2914  kZoneEraAmerica_Argentina_La_Rioja /*eras*/,
2915  nullptr /*targetInfo*/,
2916 };
2917 
2918 //---------------------------------------------------------------------------
2919 // Zone name: America/Argentina/Mendoza
2920 // Eras: 16
2921 //---------------------------------------------------------------------------
2922 
2923 static const complete::Info::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROGMEM = {
2924  // -4:35:16 - LMT 1894 Oct 31
2925  {
2926  nullptr /*zonePolicy*/,
2927  "LMT" /*format*/,
2928  -1102 /*offsetCode (-16516/15)*/,
2929  14 /*offsetRemainder (-16516%15)*/,
2930  0 /*deltaMinutes*/,
2931  1894 /*untilYear*/,
2932  10 /*untilMonth*/,
2933  31 /*untilDay*/,
2934  0 /*untilTimeCode (0/15)*/,
2935  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2936  },
2937  // -4:16:48 - CMT 1920 May
2938  {
2939  nullptr /*zonePolicy*/,
2940  "CMT" /*format*/,
2941  -1028 /*offsetCode (-15408/15)*/,
2942  12 /*offsetRemainder (-15408%15)*/,
2943  0 /*deltaMinutes*/,
2944  1920 /*untilYear*/,
2945  5 /*untilMonth*/,
2946  1 /*untilDay*/,
2947  0 /*untilTimeCode (0/15)*/,
2948  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2949  },
2950  // -4:00 - %z 1930 Dec
2951  {
2952  nullptr /*zonePolicy*/,
2953  "" /*format*/,
2954  -960 /*offsetCode (-14400/15)*/,
2955  0 /*offsetRemainder (-14400%15)*/,
2956  0 /*deltaMinutes*/,
2957  1930 /*untilYear*/,
2958  12 /*untilMonth*/,
2959  1 /*untilDay*/,
2960  0 /*untilTimeCode (0/15)*/,
2961  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2962  },
2963  // -4:00 Arg %z 1969 Oct 5
2964  {
2965  &kZonePolicyArg /*zonePolicy*/,
2966  "" /*format*/,
2967  -960 /*offsetCode (-14400/15)*/,
2968  0 /*offsetRemainder (-14400%15)*/,
2969  0 /*deltaMinutes*/,
2970  1969 /*untilYear*/,
2971  10 /*untilMonth*/,
2972  5 /*untilDay*/,
2973  0 /*untilTimeCode (0/15)*/,
2974  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2975  },
2976  // -3:00 Arg %z 1990 Mar 4
2977  {
2978  &kZonePolicyArg /*zonePolicy*/,
2979  "" /*format*/,
2980  -720 /*offsetCode (-10800/15)*/,
2981  0 /*offsetRemainder (-10800%15)*/,
2982  0 /*deltaMinutes*/,
2983  1990 /*untilYear*/,
2984  3 /*untilMonth*/,
2985  4 /*untilDay*/,
2986  0 /*untilTimeCode (0/15)*/,
2987  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2988  },
2989  // -4:00 - %z 1990 Oct 15
2990  {
2991  nullptr /*zonePolicy*/,
2992  "" /*format*/,
2993  -960 /*offsetCode (-14400/15)*/,
2994  0 /*offsetRemainder (-14400%15)*/,
2995  0 /*deltaMinutes*/,
2996  1990 /*untilYear*/,
2997  10 /*untilMonth*/,
2998  15 /*untilDay*/,
2999  0 /*untilTimeCode (0/15)*/,
3000  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3001  },
3002  // -4:00 1:00 %z 1991 Mar 1
3003  {
3004  nullptr /*zonePolicy*/,
3005  "" /*format*/,
3006  -960 /*offsetCode (-14400/15)*/,
3007  0 /*offsetRemainder (-14400%15)*/,
3008  60 /*deltaMinutes*/,
3009  1991 /*untilYear*/,
3010  3 /*untilMonth*/,
3011  1 /*untilDay*/,
3012  0 /*untilTimeCode (0/15)*/,
3013  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3014  },
3015  // -4:00 - %z 1991 Oct 15
3016  {
3017  nullptr /*zonePolicy*/,
3018  "" /*format*/,
3019  -960 /*offsetCode (-14400/15)*/,
3020  0 /*offsetRemainder (-14400%15)*/,
3021  0 /*deltaMinutes*/,
3022  1991 /*untilYear*/,
3023  10 /*untilMonth*/,
3024  15 /*untilDay*/,
3025  0 /*untilTimeCode (0/15)*/,
3026  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3027  },
3028  // -4:00 1:00 %z 1992 Mar 1
3029  {
3030  nullptr /*zonePolicy*/,
3031  "" /*format*/,
3032  -960 /*offsetCode (-14400/15)*/,
3033  0 /*offsetRemainder (-14400%15)*/,
3034  60 /*deltaMinutes*/,
3035  1992 /*untilYear*/,
3036  3 /*untilMonth*/,
3037  1 /*untilDay*/,
3038  0 /*untilTimeCode (0/15)*/,
3039  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3040  },
3041  // -4:00 - %z 1992 Oct 18
3042  {
3043  nullptr /*zonePolicy*/,
3044  "" /*format*/,
3045  -960 /*offsetCode (-14400/15)*/,
3046  0 /*offsetRemainder (-14400%15)*/,
3047  0 /*deltaMinutes*/,
3048  1992 /*untilYear*/,
3049  10 /*untilMonth*/,
3050  18 /*untilDay*/,
3051  0 /*untilTimeCode (0/15)*/,
3052  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3053  },
3054  // -3:00 Arg %z 1999 Oct 3
3055  {
3056  &kZonePolicyArg /*zonePolicy*/,
3057  "" /*format*/,
3058  -720 /*offsetCode (-10800/15)*/,
3059  0 /*offsetRemainder (-10800%15)*/,
3060  0 /*deltaMinutes*/,
3061  1999 /*untilYear*/,
3062  10 /*untilMonth*/,
3063  3 /*untilDay*/,
3064  0 /*untilTimeCode (0/15)*/,
3065  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3066  },
3067  // -4:00 Arg %z 2000 Mar 3
3068  {
3069  &kZonePolicyArg /*zonePolicy*/,
3070  "" /*format*/,
3071  -960 /*offsetCode (-14400/15)*/,
3072  0 /*offsetRemainder (-14400%15)*/,
3073  0 /*deltaMinutes*/,
3074  2000 /*untilYear*/,
3075  3 /*untilMonth*/,
3076  3 /*untilDay*/,
3077  0 /*untilTimeCode (0/15)*/,
3078  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3079  },
3080  // -3:00 - %z 2004 May 23
3081  {
3082  nullptr /*zonePolicy*/,
3083  "" /*format*/,
3084  -720 /*offsetCode (-10800/15)*/,
3085  0 /*offsetRemainder (-10800%15)*/,
3086  0 /*deltaMinutes*/,
3087  2004 /*untilYear*/,
3088  5 /*untilMonth*/,
3089  23 /*untilDay*/,
3090  0 /*untilTimeCode (0/15)*/,
3091  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3092  },
3093  // -4:00 - %z 2004 Sep 26
3094  {
3095  nullptr /*zonePolicy*/,
3096  "" /*format*/,
3097  -960 /*offsetCode (-14400/15)*/,
3098  0 /*offsetRemainder (-14400%15)*/,
3099  0 /*deltaMinutes*/,
3100  2004 /*untilYear*/,
3101  9 /*untilMonth*/,
3102  26 /*untilDay*/,
3103  0 /*untilTimeCode (0/15)*/,
3104  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3105  },
3106  // -3:00 Arg %z 2008 Oct 18
3107  {
3108  &kZonePolicyArg /*zonePolicy*/,
3109  "" /*format*/,
3110  -720 /*offsetCode (-10800/15)*/,
3111  0 /*offsetRemainder (-10800%15)*/,
3112  0 /*deltaMinutes*/,
3113  2008 /*untilYear*/,
3114  10 /*untilMonth*/,
3115  18 /*untilDay*/,
3116  0 /*untilTimeCode (0/15)*/,
3117  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3118  },
3119  // -3:00 - %z
3120  {
3121  nullptr /*zonePolicy*/,
3122  "" /*format*/,
3123  -720 /*offsetCode (-10800/15)*/,
3124  0 /*offsetRemainder (-10800%15)*/,
3125  0 /*deltaMinutes*/,
3126  32767 /*untilYear*/,
3127  1 /*untilMonth*/,
3128  1 /*untilDay*/,
3129  0 /*untilTimeCode (0/15)*/,
3130  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3131  },
3132 
3133 };
3134 
3135 static const char kZoneNameAmerica_Argentina_Mendoza[] ACE_TIME_PROGMEM = "\x02" "\x04" "Mendoza";
3136 
3137 const complete::Info::ZoneInfo kZoneAmerica_Argentina_Mendoza ACE_TIME_PROGMEM = {
3138  kZoneNameAmerica_Argentina_Mendoza /*name*/,
3139  0xa9f72d5c /*zoneId*/,
3140  &kZoneContext /*zoneContext*/,
3141  16 /*numEras*/,
3142  kZoneEraAmerica_Argentina_Mendoza /*eras*/,
3143  nullptr /*targetInfo*/,
3144 };
3145 
3146 //---------------------------------------------------------------------------
3147 // Zone name: America/Argentina/Rio_Gallegos
3148 // Eras: 10
3149 //---------------------------------------------------------------------------
3150 
3151 static const complete::Info::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME_PROGMEM = {
3152  // -4:36:52 - LMT 1894 Oct 31
3153  {
3154  nullptr /*zonePolicy*/,
3155  "LMT" /*format*/,
3156  -1108 /*offsetCode (-16612/15)*/,
3157  8 /*offsetRemainder (-16612%15)*/,
3158  0 /*deltaMinutes*/,
3159  1894 /*untilYear*/,
3160  10 /*untilMonth*/,
3161  31 /*untilDay*/,
3162  0 /*untilTimeCode (0/15)*/,
3163  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3164  },
3165  // -4:16:48 - CMT 1920 May
3166  {
3167  nullptr /*zonePolicy*/,
3168  "CMT" /*format*/,
3169  -1028 /*offsetCode (-15408/15)*/,
3170  12 /*offsetRemainder (-15408%15)*/,
3171  0 /*deltaMinutes*/,
3172  1920 /*untilYear*/,
3173  5 /*untilMonth*/,
3174  1 /*untilDay*/,
3175  0 /*untilTimeCode (0/15)*/,
3176  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3177  },
3178  // -4:00 - %z 1930 Dec
3179  {
3180  nullptr /*zonePolicy*/,
3181  "" /*format*/,
3182  -960 /*offsetCode (-14400/15)*/,
3183  0 /*offsetRemainder (-14400%15)*/,
3184  0 /*deltaMinutes*/,
3185  1930 /*untilYear*/,
3186  12 /*untilMonth*/,
3187  1 /*untilDay*/,
3188  0 /*untilTimeCode (0/15)*/,
3189  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3190  },
3191  // -4:00 Arg %z 1969 Oct 5
3192  {
3193  &kZonePolicyArg /*zonePolicy*/,
3194  "" /*format*/,
3195  -960 /*offsetCode (-14400/15)*/,
3196  0 /*offsetRemainder (-14400%15)*/,
3197  0 /*deltaMinutes*/,
3198  1969 /*untilYear*/,
3199  10 /*untilMonth*/,
3200  5 /*untilDay*/,
3201  0 /*untilTimeCode (0/15)*/,
3202  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3203  },
3204  // -3:00 Arg %z 1999 Oct 3
3205  {
3206  &kZonePolicyArg /*zonePolicy*/,
3207  "" /*format*/,
3208  -720 /*offsetCode (-10800/15)*/,
3209  0 /*offsetRemainder (-10800%15)*/,
3210  0 /*deltaMinutes*/,
3211  1999 /*untilYear*/,
3212  10 /*untilMonth*/,
3213  3 /*untilDay*/,
3214  0 /*untilTimeCode (0/15)*/,
3215  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3216  },
3217  // -4:00 Arg %z 2000 Mar 3
3218  {
3219  &kZonePolicyArg /*zonePolicy*/,
3220  "" /*format*/,
3221  -960 /*offsetCode (-14400/15)*/,
3222  0 /*offsetRemainder (-14400%15)*/,
3223  0 /*deltaMinutes*/,
3224  2000 /*untilYear*/,
3225  3 /*untilMonth*/,
3226  3 /*untilDay*/,
3227  0 /*untilTimeCode (0/15)*/,
3228  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3229  },
3230  // -3:00 - %z 2004 Jun 1
3231  {
3232  nullptr /*zonePolicy*/,
3233  "" /*format*/,
3234  -720 /*offsetCode (-10800/15)*/,
3235  0 /*offsetRemainder (-10800%15)*/,
3236  0 /*deltaMinutes*/,
3237  2004 /*untilYear*/,
3238  6 /*untilMonth*/,
3239  1 /*untilDay*/,
3240  0 /*untilTimeCode (0/15)*/,
3241  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3242  },
3243  // -4:00 - %z 2004 Jun 20
3244  {
3245  nullptr /*zonePolicy*/,
3246  "" /*format*/,
3247  -960 /*offsetCode (-14400/15)*/,
3248  0 /*offsetRemainder (-14400%15)*/,
3249  0 /*deltaMinutes*/,
3250  2004 /*untilYear*/,
3251  6 /*untilMonth*/,
3252  20 /*untilDay*/,
3253  0 /*untilTimeCode (0/15)*/,
3254  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3255  },
3256  // -3:00 Arg %z 2008 Oct 18
3257  {
3258  &kZonePolicyArg /*zonePolicy*/,
3259  "" /*format*/,
3260  -720 /*offsetCode (-10800/15)*/,
3261  0 /*offsetRemainder (-10800%15)*/,
3262  0 /*deltaMinutes*/,
3263  2008 /*untilYear*/,
3264  10 /*untilMonth*/,
3265  18 /*untilDay*/,
3266  0 /*untilTimeCode (0/15)*/,
3267  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3268  },
3269  // -3:00 - %z
3270  {
3271  nullptr /*zonePolicy*/,
3272  "" /*format*/,
3273  -720 /*offsetCode (-10800/15)*/,
3274  0 /*offsetRemainder (-10800%15)*/,
3275  0 /*deltaMinutes*/,
3276  32767 /*untilYear*/,
3277  1 /*untilMonth*/,
3278  1 /*untilDay*/,
3279  0 /*untilTimeCode (0/15)*/,
3280  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3281  },
3282 
3283 };
3284 
3285 static const char kZoneNameAmerica_Argentina_Rio_Gallegos[] ACE_TIME_PROGMEM = "\x02" "\x04" "Rio_Gallegos";
3286 
3287 const complete::Info::ZoneInfo kZoneAmerica_Argentina_Rio_Gallegos ACE_TIME_PROGMEM = {
3288  kZoneNameAmerica_Argentina_Rio_Gallegos /*name*/,
3289  0xc5b0f565 /*zoneId*/,
3290  &kZoneContext /*zoneContext*/,
3291  10 /*numEras*/,
3292  kZoneEraAmerica_Argentina_Rio_Gallegos /*eras*/,
3293  nullptr /*targetInfo*/,
3294 };
3295 
3296 //---------------------------------------------------------------------------
3297 // Zone name: America/Argentina/Salta
3298 // Eras: 10
3299 //---------------------------------------------------------------------------
3300 
3301 static const complete::Info::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGMEM = {
3302  // -4:21:40 - LMT 1894 Oct 31
3303  {
3304  nullptr /*zonePolicy*/,
3305  "LMT" /*format*/,
3306  -1047 /*offsetCode (-15700/15)*/,
3307  5 /*offsetRemainder (-15700%15)*/,
3308  0 /*deltaMinutes*/,
3309  1894 /*untilYear*/,
3310  10 /*untilMonth*/,
3311  31 /*untilDay*/,
3312  0 /*untilTimeCode (0/15)*/,
3313  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3314  },
3315  // -4:16:48 - CMT 1920 May
3316  {
3317  nullptr /*zonePolicy*/,
3318  "CMT" /*format*/,
3319  -1028 /*offsetCode (-15408/15)*/,
3320  12 /*offsetRemainder (-15408%15)*/,
3321  0 /*deltaMinutes*/,
3322  1920 /*untilYear*/,
3323  5 /*untilMonth*/,
3324  1 /*untilDay*/,
3325  0 /*untilTimeCode (0/15)*/,
3326  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3327  },
3328  // -4:00 - %z 1930 Dec
3329  {
3330  nullptr /*zonePolicy*/,
3331  "" /*format*/,
3332  -960 /*offsetCode (-14400/15)*/,
3333  0 /*offsetRemainder (-14400%15)*/,
3334  0 /*deltaMinutes*/,
3335  1930 /*untilYear*/,
3336  12 /*untilMonth*/,
3337  1 /*untilDay*/,
3338  0 /*untilTimeCode (0/15)*/,
3339  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3340  },
3341  // -4:00 Arg %z 1969 Oct 5
3342  {
3343  &kZonePolicyArg /*zonePolicy*/,
3344  "" /*format*/,
3345  -960 /*offsetCode (-14400/15)*/,
3346  0 /*offsetRemainder (-14400%15)*/,
3347  0 /*deltaMinutes*/,
3348  1969 /*untilYear*/,
3349  10 /*untilMonth*/,
3350  5 /*untilDay*/,
3351  0 /*untilTimeCode (0/15)*/,
3352  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3353  },
3354  // -3:00 Arg %z 1991 Mar 3
3355  {
3356  &kZonePolicyArg /*zonePolicy*/,
3357  "" /*format*/,
3358  -720 /*offsetCode (-10800/15)*/,
3359  0 /*offsetRemainder (-10800%15)*/,
3360  0 /*deltaMinutes*/,
3361  1991 /*untilYear*/,
3362  3 /*untilMonth*/,
3363  3 /*untilDay*/,
3364  0 /*untilTimeCode (0/15)*/,
3365  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3366  },
3367  // -4:00 - %z 1991 Oct 20
3368  {
3369  nullptr /*zonePolicy*/,
3370  "" /*format*/,
3371  -960 /*offsetCode (-14400/15)*/,
3372  0 /*offsetRemainder (-14400%15)*/,
3373  0 /*deltaMinutes*/,
3374  1991 /*untilYear*/,
3375  10 /*untilMonth*/,
3376  20 /*untilDay*/,
3377  0 /*untilTimeCode (0/15)*/,
3378  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3379  },
3380  // -3:00 Arg %z 1999 Oct 3
3381  {
3382  &kZonePolicyArg /*zonePolicy*/,
3383  "" /*format*/,
3384  -720 /*offsetCode (-10800/15)*/,
3385  0 /*offsetRemainder (-10800%15)*/,
3386  0 /*deltaMinutes*/,
3387  1999 /*untilYear*/,
3388  10 /*untilMonth*/,
3389  3 /*untilDay*/,
3390  0 /*untilTimeCode (0/15)*/,
3391  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3392  },
3393  // -4:00 Arg %z 2000 Mar 3
3394  {
3395  &kZonePolicyArg /*zonePolicy*/,
3396  "" /*format*/,
3397  -960 /*offsetCode (-14400/15)*/,
3398  0 /*offsetRemainder (-14400%15)*/,
3399  0 /*deltaMinutes*/,
3400  2000 /*untilYear*/,
3401  3 /*untilMonth*/,
3402  3 /*untilDay*/,
3403  0 /*untilTimeCode (0/15)*/,
3404  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3405  },
3406  // -3:00 Arg %z 2008 Oct 18
3407  {
3408  &kZonePolicyArg /*zonePolicy*/,
3409  "" /*format*/,
3410  -720 /*offsetCode (-10800/15)*/,
3411  0 /*offsetRemainder (-10800%15)*/,
3412  0 /*deltaMinutes*/,
3413  2008 /*untilYear*/,
3414  10 /*untilMonth*/,
3415  18 /*untilDay*/,
3416  0 /*untilTimeCode (0/15)*/,
3417  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3418  },
3419  // -3:00 - %z
3420  {
3421  nullptr /*zonePolicy*/,
3422  "" /*format*/,
3423  -720 /*offsetCode (-10800/15)*/,
3424  0 /*offsetRemainder (-10800%15)*/,
3425  0 /*deltaMinutes*/,
3426  32767 /*untilYear*/,
3427  1 /*untilMonth*/,
3428  1 /*untilDay*/,
3429  0 /*untilTimeCode (0/15)*/,
3430  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3431  },
3432 
3433 };
3434 
3435 static const char kZoneNameAmerica_Argentina_Salta[] ACE_TIME_PROGMEM = "\x02" "\x04" "Salta";
3436 
3437 const complete::Info::ZoneInfo kZoneAmerica_Argentina_Salta ACE_TIME_PROGMEM = {
3438  kZoneNameAmerica_Argentina_Salta /*name*/,
3439  0x5fc73403 /*zoneId*/,
3440  &kZoneContext /*zoneContext*/,
3441  10 /*numEras*/,
3442  kZoneEraAmerica_Argentina_Salta /*eras*/,
3443  nullptr /*targetInfo*/,
3444 };
3445 
3446 //---------------------------------------------------------------------------
3447 // Zone name: America/Argentina/San_Juan
3448 // Eras: 12
3449 //---------------------------------------------------------------------------
3450 
3451 static const complete::Info::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PROGMEM = {
3452  // -4:34:04 - LMT 1894 Oct 31
3453  {
3454  nullptr /*zonePolicy*/,
3455  "LMT" /*format*/,
3456  -1097 /*offsetCode (-16444/15)*/,
3457  11 /*offsetRemainder (-16444%15)*/,
3458  0 /*deltaMinutes*/,
3459  1894 /*untilYear*/,
3460  10 /*untilMonth*/,
3461  31 /*untilDay*/,
3462  0 /*untilTimeCode (0/15)*/,
3463  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3464  },
3465  // -4:16:48 - CMT 1920 May
3466  {
3467  nullptr /*zonePolicy*/,
3468  "CMT" /*format*/,
3469  -1028 /*offsetCode (-15408/15)*/,
3470  12 /*offsetRemainder (-15408%15)*/,
3471  0 /*deltaMinutes*/,
3472  1920 /*untilYear*/,
3473  5 /*untilMonth*/,
3474  1 /*untilDay*/,
3475  0 /*untilTimeCode (0/15)*/,
3476  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3477  },
3478  // -4:00 - %z 1930 Dec
3479  {
3480  nullptr /*zonePolicy*/,
3481  "" /*format*/,
3482  -960 /*offsetCode (-14400/15)*/,
3483  0 /*offsetRemainder (-14400%15)*/,
3484  0 /*deltaMinutes*/,
3485  1930 /*untilYear*/,
3486  12 /*untilMonth*/,
3487  1 /*untilDay*/,
3488  0 /*untilTimeCode (0/15)*/,
3489  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3490  },
3491  // -4:00 Arg %z 1969 Oct 5
3492  {
3493  &kZonePolicyArg /*zonePolicy*/,
3494  "" /*format*/,
3495  -960 /*offsetCode (-14400/15)*/,
3496  0 /*offsetRemainder (-14400%15)*/,
3497  0 /*deltaMinutes*/,
3498  1969 /*untilYear*/,
3499  10 /*untilMonth*/,
3500  5 /*untilDay*/,
3501  0 /*untilTimeCode (0/15)*/,
3502  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3503  },
3504  // -3:00 Arg %z 1991 Mar 1
3505  {
3506  &kZonePolicyArg /*zonePolicy*/,
3507  "" /*format*/,
3508  -720 /*offsetCode (-10800/15)*/,
3509  0 /*offsetRemainder (-10800%15)*/,
3510  0 /*deltaMinutes*/,
3511  1991 /*untilYear*/,
3512  3 /*untilMonth*/,
3513  1 /*untilDay*/,
3514  0 /*untilTimeCode (0/15)*/,
3515  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3516  },
3517  // -4:00 - %z 1991 May 7
3518  {
3519  nullptr /*zonePolicy*/,
3520  "" /*format*/,
3521  -960 /*offsetCode (-14400/15)*/,
3522  0 /*offsetRemainder (-14400%15)*/,
3523  0 /*deltaMinutes*/,
3524  1991 /*untilYear*/,
3525  5 /*untilMonth*/,
3526  7 /*untilDay*/,
3527  0 /*untilTimeCode (0/15)*/,
3528  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3529  },
3530  // -3:00 Arg %z 1999 Oct 3
3531  {
3532  &kZonePolicyArg /*zonePolicy*/,
3533  "" /*format*/,
3534  -720 /*offsetCode (-10800/15)*/,
3535  0 /*offsetRemainder (-10800%15)*/,
3536  0 /*deltaMinutes*/,
3537  1999 /*untilYear*/,
3538  10 /*untilMonth*/,
3539  3 /*untilDay*/,
3540  0 /*untilTimeCode (0/15)*/,
3541  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3542  },
3543  // -4:00 Arg %z 2000 Mar 3
3544  {
3545  &kZonePolicyArg /*zonePolicy*/,
3546  "" /*format*/,
3547  -960 /*offsetCode (-14400/15)*/,
3548  0 /*offsetRemainder (-14400%15)*/,
3549  0 /*deltaMinutes*/,
3550  2000 /*untilYear*/,
3551  3 /*untilMonth*/,
3552  3 /*untilDay*/,
3553  0 /*untilTimeCode (0/15)*/,
3554  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3555  },
3556  // -3:00 - %z 2004 May 31
3557  {
3558  nullptr /*zonePolicy*/,
3559  "" /*format*/,
3560  -720 /*offsetCode (-10800/15)*/,
3561  0 /*offsetRemainder (-10800%15)*/,
3562  0 /*deltaMinutes*/,
3563  2004 /*untilYear*/,
3564  5 /*untilMonth*/,
3565  31 /*untilDay*/,
3566  0 /*untilTimeCode (0/15)*/,
3567  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3568  },
3569  // -4:00 - %z 2004 Jul 25
3570  {
3571  nullptr /*zonePolicy*/,
3572  "" /*format*/,
3573  -960 /*offsetCode (-14400/15)*/,
3574  0 /*offsetRemainder (-14400%15)*/,
3575  0 /*deltaMinutes*/,
3576  2004 /*untilYear*/,
3577  7 /*untilMonth*/,
3578  25 /*untilDay*/,
3579  0 /*untilTimeCode (0/15)*/,
3580  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3581  },
3582  // -3:00 Arg %z 2008 Oct 18
3583  {
3584  &kZonePolicyArg /*zonePolicy*/,
3585  "" /*format*/,
3586  -720 /*offsetCode (-10800/15)*/,
3587  0 /*offsetRemainder (-10800%15)*/,
3588  0 /*deltaMinutes*/,
3589  2008 /*untilYear*/,
3590  10 /*untilMonth*/,
3591  18 /*untilDay*/,
3592  0 /*untilTimeCode (0/15)*/,
3593  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3594  },
3595  // -3:00 - %z
3596  {
3597  nullptr /*zonePolicy*/,
3598  "" /*format*/,
3599  -720 /*offsetCode (-10800/15)*/,
3600  0 /*offsetRemainder (-10800%15)*/,
3601  0 /*deltaMinutes*/,
3602  32767 /*untilYear*/,
3603  1 /*untilMonth*/,
3604  1 /*untilDay*/,
3605  0 /*untilTimeCode (0/15)*/,
3606  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3607  },
3608 
3609 };
3610 
3611 static const char kZoneNameAmerica_Argentina_San_Juan[] ACE_TIME_PROGMEM = "\x02" "\x04" "San_Juan";
3612 
3613 const complete::Info::ZoneInfo kZoneAmerica_Argentina_San_Juan ACE_TIME_PROGMEM = {
3614  kZoneNameAmerica_Argentina_San_Juan /*name*/,
3615  0x3e1009bd /*zoneId*/,
3616  &kZoneContext /*zoneContext*/,
3617  12 /*numEras*/,
3618  kZoneEraAmerica_Argentina_San_Juan /*eras*/,
3619  nullptr /*targetInfo*/,
3620 };
3621 
3622 //---------------------------------------------------------------------------
3623 // Zone name: America/Argentina/San_Luis
3624 // Eras: 16
3625 //---------------------------------------------------------------------------
3626 
3627 static const complete::Info::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PROGMEM = {
3628  // -4:25:24 - LMT 1894 Oct 31
3629  {
3630  nullptr /*zonePolicy*/,
3631  "LMT" /*format*/,
3632  -1062 /*offsetCode (-15924/15)*/,
3633  6 /*offsetRemainder (-15924%15)*/,
3634  0 /*deltaMinutes*/,
3635  1894 /*untilYear*/,
3636  10 /*untilMonth*/,
3637  31 /*untilDay*/,
3638  0 /*untilTimeCode (0/15)*/,
3639  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3640  },
3641  // -4:16:48 - CMT 1920 May
3642  {
3643  nullptr /*zonePolicy*/,
3644  "CMT" /*format*/,
3645  -1028 /*offsetCode (-15408/15)*/,
3646  12 /*offsetRemainder (-15408%15)*/,
3647  0 /*deltaMinutes*/,
3648  1920 /*untilYear*/,
3649  5 /*untilMonth*/,
3650  1 /*untilDay*/,
3651  0 /*untilTimeCode (0/15)*/,
3652  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3653  },
3654  // -4:00 - %z 1930 Dec
3655  {
3656  nullptr /*zonePolicy*/,
3657  "" /*format*/,
3658  -960 /*offsetCode (-14400/15)*/,
3659  0 /*offsetRemainder (-14400%15)*/,
3660  0 /*deltaMinutes*/,
3661  1930 /*untilYear*/,
3662  12 /*untilMonth*/,
3663  1 /*untilDay*/,
3664  0 /*untilTimeCode (0/15)*/,
3665  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3666  },
3667  // -4:00 Arg %z 1969 Oct 5
3668  {
3669  &kZonePolicyArg /*zonePolicy*/,
3670  "" /*format*/,
3671  -960 /*offsetCode (-14400/15)*/,
3672  0 /*offsetRemainder (-14400%15)*/,
3673  0 /*deltaMinutes*/,
3674  1969 /*untilYear*/,
3675  10 /*untilMonth*/,
3676  5 /*untilDay*/,
3677  0 /*untilTimeCode (0/15)*/,
3678  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3679  },
3680  // -3:00 Arg %z 1990
3681  {
3682  &kZonePolicyArg /*zonePolicy*/,
3683  "" /*format*/,
3684  -720 /*offsetCode (-10800/15)*/,
3685  0 /*offsetRemainder (-10800%15)*/,
3686  0 /*deltaMinutes*/,
3687  1990 /*untilYear*/,
3688  1 /*untilMonth*/,
3689  1 /*untilDay*/,
3690  0 /*untilTimeCode (0/15)*/,
3691  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3692  },
3693  // -3:00 1:00 %z 1990 Mar 14
3694  {
3695  nullptr /*zonePolicy*/,
3696  "" /*format*/,
3697  -720 /*offsetCode (-10800/15)*/,
3698  0 /*offsetRemainder (-10800%15)*/,
3699  60 /*deltaMinutes*/,
3700  1990 /*untilYear*/,
3701  3 /*untilMonth*/,
3702  14 /*untilDay*/,
3703  0 /*untilTimeCode (0/15)*/,
3704  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3705  },
3706  // -4:00 - %z 1990 Oct 15
3707  {
3708  nullptr /*zonePolicy*/,
3709  "" /*format*/,
3710  -960 /*offsetCode (-14400/15)*/,
3711  0 /*offsetRemainder (-14400%15)*/,
3712  0 /*deltaMinutes*/,
3713  1990 /*untilYear*/,
3714  10 /*untilMonth*/,
3715  15 /*untilDay*/,
3716  0 /*untilTimeCode (0/15)*/,
3717  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3718  },
3719  // -4:00 1:00 %z 1991 Mar 1
3720  {
3721  nullptr /*zonePolicy*/,
3722  "" /*format*/,
3723  -960 /*offsetCode (-14400/15)*/,
3724  0 /*offsetRemainder (-14400%15)*/,
3725  60 /*deltaMinutes*/,
3726  1991 /*untilYear*/,
3727  3 /*untilMonth*/,
3728  1 /*untilDay*/,
3729  0 /*untilTimeCode (0/15)*/,
3730  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3731  },
3732  // -4:00 - %z 1991 Jun 1
3733  {
3734  nullptr /*zonePolicy*/,
3735  "" /*format*/,
3736  -960 /*offsetCode (-14400/15)*/,
3737  0 /*offsetRemainder (-14400%15)*/,
3738  0 /*deltaMinutes*/,
3739  1991 /*untilYear*/,
3740  6 /*untilMonth*/,
3741  1 /*untilDay*/,
3742  0 /*untilTimeCode (0/15)*/,
3743  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3744  },
3745  // -3:00 - %z 1999 Oct 3
3746  {
3747  nullptr /*zonePolicy*/,
3748  "" /*format*/,
3749  -720 /*offsetCode (-10800/15)*/,
3750  0 /*offsetRemainder (-10800%15)*/,
3751  0 /*deltaMinutes*/,
3752  1999 /*untilYear*/,
3753  10 /*untilMonth*/,
3754  3 /*untilDay*/,
3755  0 /*untilTimeCode (0/15)*/,
3756  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3757  },
3758  // -4:00 1:00 %z 2000 Mar 3
3759  {
3760  nullptr /*zonePolicy*/,
3761  "" /*format*/,
3762  -960 /*offsetCode (-14400/15)*/,
3763  0 /*offsetRemainder (-14400%15)*/,
3764  60 /*deltaMinutes*/,
3765  2000 /*untilYear*/,
3766  3 /*untilMonth*/,
3767  3 /*untilDay*/,
3768  0 /*untilTimeCode (0/15)*/,
3769  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3770  },
3771  // -3:00 - %z 2004 May 31
3772  {
3773  nullptr /*zonePolicy*/,
3774  "" /*format*/,
3775  -720 /*offsetCode (-10800/15)*/,
3776  0 /*offsetRemainder (-10800%15)*/,
3777  0 /*deltaMinutes*/,
3778  2004 /*untilYear*/,
3779  5 /*untilMonth*/,
3780  31 /*untilDay*/,
3781  0 /*untilTimeCode (0/15)*/,
3782  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3783  },
3784  // -4:00 - %z 2004 Jul 25
3785  {
3786  nullptr /*zonePolicy*/,
3787  "" /*format*/,
3788  -960 /*offsetCode (-14400/15)*/,
3789  0 /*offsetRemainder (-14400%15)*/,
3790  0 /*deltaMinutes*/,
3791  2004 /*untilYear*/,
3792  7 /*untilMonth*/,
3793  25 /*untilDay*/,
3794  0 /*untilTimeCode (0/15)*/,
3795  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3796  },
3797  // -3:00 Arg %z 2008 Jan 21
3798  {
3799  &kZonePolicyArg /*zonePolicy*/,
3800  "" /*format*/,
3801  -720 /*offsetCode (-10800/15)*/,
3802  0 /*offsetRemainder (-10800%15)*/,
3803  0 /*deltaMinutes*/,
3804  2008 /*untilYear*/,
3805  1 /*untilMonth*/,
3806  21 /*untilDay*/,
3807  0 /*untilTimeCode (0/15)*/,
3808  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3809  },
3810  // -4:00 SanLuis %z 2009 Oct 11
3811  {
3812  &kZonePolicySanLuis /*zonePolicy*/,
3813  "" /*format*/,
3814  -960 /*offsetCode (-14400/15)*/,
3815  0 /*offsetRemainder (-14400%15)*/,
3816  0 /*deltaMinutes*/,
3817  2009 /*untilYear*/,
3818  10 /*untilMonth*/,
3819  11 /*untilDay*/,
3820  0 /*untilTimeCode (0/15)*/,
3821  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3822  },
3823  // -3:00 - %z
3824  {
3825  nullptr /*zonePolicy*/,
3826  "" /*format*/,
3827  -720 /*offsetCode (-10800/15)*/,
3828  0 /*offsetRemainder (-10800%15)*/,
3829  0 /*deltaMinutes*/,
3830  32767 /*untilYear*/,
3831  1 /*untilMonth*/,
3832  1 /*untilDay*/,
3833  0 /*untilTimeCode (0/15)*/,
3834  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3835  },
3836 
3837 };
3838 
3839 static const char kZoneNameAmerica_Argentina_San_Luis[] ACE_TIME_PROGMEM = "\x02" "\x04" "San_Luis";
3840 
3841 const complete::Info::ZoneInfo kZoneAmerica_Argentina_San_Luis ACE_TIME_PROGMEM = {
3842  kZoneNameAmerica_Argentina_San_Luis /*name*/,
3843  0x3e11238c /*zoneId*/,
3844  &kZoneContext /*zoneContext*/,
3845  16 /*numEras*/,
3846  kZoneEraAmerica_Argentina_San_Luis /*eras*/,
3847  nullptr /*targetInfo*/,
3848 };
3849 
3850 //---------------------------------------------------------------------------
3851 // Zone name: America/Argentina/Tucuman
3852 // Eras: 11
3853 //---------------------------------------------------------------------------
3854 
3855 static const complete::Info::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROGMEM = {
3856  // -4:20:52 - LMT 1894 Oct 31
3857  {
3858  nullptr /*zonePolicy*/,
3859  "LMT" /*format*/,
3860  -1044 /*offsetCode (-15652/15)*/,
3861  8 /*offsetRemainder (-15652%15)*/,
3862  0 /*deltaMinutes*/,
3863  1894 /*untilYear*/,
3864  10 /*untilMonth*/,
3865  31 /*untilDay*/,
3866  0 /*untilTimeCode (0/15)*/,
3867  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3868  },
3869  // -4:16:48 - CMT 1920 May
3870  {
3871  nullptr /*zonePolicy*/,
3872  "CMT" /*format*/,
3873  -1028 /*offsetCode (-15408/15)*/,
3874  12 /*offsetRemainder (-15408%15)*/,
3875  0 /*deltaMinutes*/,
3876  1920 /*untilYear*/,
3877  5 /*untilMonth*/,
3878  1 /*untilDay*/,
3879  0 /*untilTimeCode (0/15)*/,
3880  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3881  },
3882  // -4:00 - %z 1930 Dec
3883  {
3884  nullptr /*zonePolicy*/,
3885  "" /*format*/,
3886  -960 /*offsetCode (-14400/15)*/,
3887  0 /*offsetRemainder (-14400%15)*/,
3888  0 /*deltaMinutes*/,
3889  1930 /*untilYear*/,
3890  12 /*untilMonth*/,
3891  1 /*untilDay*/,
3892  0 /*untilTimeCode (0/15)*/,
3893  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3894  },
3895  // -4:00 Arg %z 1969 Oct 5
3896  {
3897  &kZonePolicyArg /*zonePolicy*/,
3898  "" /*format*/,
3899  -960 /*offsetCode (-14400/15)*/,
3900  0 /*offsetRemainder (-14400%15)*/,
3901  0 /*deltaMinutes*/,
3902  1969 /*untilYear*/,
3903  10 /*untilMonth*/,
3904  5 /*untilDay*/,
3905  0 /*untilTimeCode (0/15)*/,
3906  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3907  },
3908  // -3:00 Arg %z 1991 Mar 3
3909  {
3910  &kZonePolicyArg /*zonePolicy*/,
3911  "" /*format*/,
3912  -720 /*offsetCode (-10800/15)*/,
3913  0 /*offsetRemainder (-10800%15)*/,
3914  0 /*deltaMinutes*/,
3915  1991 /*untilYear*/,
3916  3 /*untilMonth*/,
3917  3 /*untilDay*/,
3918  0 /*untilTimeCode (0/15)*/,
3919  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3920  },
3921  // -4:00 - %z 1991 Oct 20
3922  {
3923  nullptr /*zonePolicy*/,
3924  "" /*format*/,
3925  -960 /*offsetCode (-14400/15)*/,
3926  0 /*offsetRemainder (-14400%15)*/,
3927  0 /*deltaMinutes*/,
3928  1991 /*untilYear*/,
3929  10 /*untilMonth*/,
3930  20 /*untilDay*/,
3931  0 /*untilTimeCode (0/15)*/,
3932  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3933  },
3934  // -3:00 Arg %z 1999 Oct 3
3935  {
3936  &kZonePolicyArg /*zonePolicy*/,
3937  "" /*format*/,
3938  -720 /*offsetCode (-10800/15)*/,
3939  0 /*offsetRemainder (-10800%15)*/,
3940  0 /*deltaMinutes*/,
3941  1999 /*untilYear*/,
3942  10 /*untilMonth*/,
3943  3 /*untilDay*/,
3944  0 /*untilTimeCode (0/15)*/,
3945  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3946  },
3947  // -4:00 Arg %z 2000 Mar 3
3948  {
3949  &kZonePolicyArg /*zonePolicy*/,
3950  "" /*format*/,
3951  -960 /*offsetCode (-14400/15)*/,
3952  0 /*offsetRemainder (-14400%15)*/,
3953  0 /*deltaMinutes*/,
3954  2000 /*untilYear*/,
3955  3 /*untilMonth*/,
3956  3 /*untilDay*/,
3957  0 /*untilTimeCode (0/15)*/,
3958  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3959  },
3960  // -3:00 - %z 2004 Jun 1
3961  {
3962  nullptr /*zonePolicy*/,
3963  "" /*format*/,
3964  -720 /*offsetCode (-10800/15)*/,
3965  0 /*offsetRemainder (-10800%15)*/,
3966  0 /*deltaMinutes*/,
3967  2004 /*untilYear*/,
3968  6 /*untilMonth*/,
3969  1 /*untilDay*/,
3970  0 /*untilTimeCode (0/15)*/,
3971  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3972  },
3973  // -4:00 - %z 2004 Jun 13
3974  {
3975  nullptr /*zonePolicy*/,
3976  "" /*format*/,
3977  -960 /*offsetCode (-14400/15)*/,
3978  0 /*offsetRemainder (-14400%15)*/,
3979  0 /*deltaMinutes*/,
3980  2004 /*untilYear*/,
3981  6 /*untilMonth*/,
3982  13 /*untilDay*/,
3983  0 /*untilTimeCode (0/15)*/,
3984  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3985  },
3986  // -3:00 Arg %z
3987  {
3988  &kZonePolicyArg /*zonePolicy*/,
3989  "" /*format*/,
3990  -720 /*offsetCode (-10800/15)*/,
3991  0 /*offsetRemainder (-10800%15)*/,
3992  0 /*deltaMinutes*/,
3993  32767 /*untilYear*/,
3994  1 /*untilMonth*/,
3995  1 /*untilDay*/,
3996  0 /*untilTimeCode (0/15)*/,
3997  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3998  },
3999 
4000 };
4001 
4002 static const char kZoneNameAmerica_Argentina_Tucuman[] ACE_TIME_PROGMEM = "\x02" "\x04" "Tucuman";
4003 
4004 const complete::Info::ZoneInfo kZoneAmerica_Argentina_Tucuman ACE_TIME_PROGMEM = {
4005  kZoneNameAmerica_Argentina_Tucuman /*name*/,
4006  0xe96399eb /*zoneId*/,
4007  &kZoneContext /*zoneContext*/,
4008  11 /*numEras*/,
4009  kZoneEraAmerica_Argentina_Tucuman /*eras*/,
4010  nullptr /*targetInfo*/,
4011 };
4012 
4013 //---------------------------------------------------------------------------
4014 // Zone name: America/Argentina/Ushuaia
4015 // Eras: 10
4016 //---------------------------------------------------------------------------
4017 
4018 static const complete::Info::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROGMEM = {
4019  // -4:33:12 - LMT 1894 Oct 31
4020  {
4021  nullptr /*zonePolicy*/,
4022  "LMT" /*format*/,
4023  -1093 /*offsetCode (-16392/15)*/,
4024  3 /*offsetRemainder (-16392%15)*/,
4025  0 /*deltaMinutes*/,
4026  1894 /*untilYear*/,
4027  10 /*untilMonth*/,
4028  31 /*untilDay*/,
4029  0 /*untilTimeCode (0/15)*/,
4030  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4031  },
4032  // -4:16:48 - CMT 1920 May
4033  {
4034  nullptr /*zonePolicy*/,
4035  "CMT" /*format*/,
4036  -1028 /*offsetCode (-15408/15)*/,
4037  12 /*offsetRemainder (-15408%15)*/,
4038  0 /*deltaMinutes*/,
4039  1920 /*untilYear*/,
4040  5 /*untilMonth*/,
4041  1 /*untilDay*/,
4042  0 /*untilTimeCode (0/15)*/,
4043  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4044  },
4045  // -4:00 - %z 1930 Dec
4046  {
4047  nullptr /*zonePolicy*/,
4048  "" /*format*/,
4049  -960 /*offsetCode (-14400/15)*/,
4050  0 /*offsetRemainder (-14400%15)*/,
4051  0 /*deltaMinutes*/,
4052  1930 /*untilYear*/,
4053  12 /*untilMonth*/,
4054  1 /*untilDay*/,
4055  0 /*untilTimeCode (0/15)*/,
4056  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4057  },
4058  // -4:00 Arg %z 1969 Oct 5
4059  {
4060  &kZonePolicyArg /*zonePolicy*/,
4061  "" /*format*/,
4062  -960 /*offsetCode (-14400/15)*/,
4063  0 /*offsetRemainder (-14400%15)*/,
4064  0 /*deltaMinutes*/,
4065  1969 /*untilYear*/,
4066  10 /*untilMonth*/,
4067  5 /*untilDay*/,
4068  0 /*untilTimeCode (0/15)*/,
4069  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4070  },
4071  // -3:00 Arg %z 1999 Oct 3
4072  {
4073  &kZonePolicyArg /*zonePolicy*/,
4074  "" /*format*/,
4075  -720 /*offsetCode (-10800/15)*/,
4076  0 /*offsetRemainder (-10800%15)*/,
4077  0 /*deltaMinutes*/,
4078  1999 /*untilYear*/,
4079  10 /*untilMonth*/,
4080  3 /*untilDay*/,
4081  0 /*untilTimeCode (0/15)*/,
4082  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4083  },
4084  // -4:00 Arg %z 2000 Mar 3
4085  {
4086  &kZonePolicyArg /*zonePolicy*/,
4087  "" /*format*/,
4088  -960 /*offsetCode (-14400/15)*/,
4089  0 /*offsetRemainder (-14400%15)*/,
4090  0 /*deltaMinutes*/,
4091  2000 /*untilYear*/,
4092  3 /*untilMonth*/,
4093  3 /*untilDay*/,
4094  0 /*untilTimeCode (0/15)*/,
4095  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4096  },
4097  // -3:00 - %z 2004 May 30
4098  {
4099  nullptr /*zonePolicy*/,
4100  "" /*format*/,
4101  -720 /*offsetCode (-10800/15)*/,
4102  0 /*offsetRemainder (-10800%15)*/,
4103  0 /*deltaMinutes*/,
4104  2004 /*untilYear*/,
4105  5 /*untilMonth*/,
4106  30 /*untilDay*/,
4107  0 /*untilTimeCode (0/15)*/,
4108  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4109  },
4110  // -4:00 - %z 2004 Jun 20
4111  {
4112  nullptr /*zonePolicy*/,
4113  "" /*format*/,
4114  -960 /*offsetCode (-14400/15)*/,
4115  0 /*offsetRemainder (-14400%15)*/,
4116  0 /*deltaMinutes*/,
4117  2004 /*untilYear*/,
4118  6 /*untilMonth*/,
4119  20 /*untilDay*/,
4120  0 /*untilTimeCode (0/15)*/,
4121  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4122  },
4123  // -3:00 Arg %z 2008 Oct 18
4124  {
4125  &kZonePolicyArg /*zonePolicy*/,
4126  "" /*format*/,
4127  -720 /*offsetCode (-10800/15)*/,
4128  0 /*offsetRemainder (-10800%15)*/,
4129  0 /*deltaMinutes*/,
4130  2008 /*untilYear*/,
4131  10 /*untilMonth*/,
4132  18 /*untilDay*/,
4133  0 /*untilTimeCode (0/15)*/,
4134  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4135  },
4136  // -3:00 - %z
4137  {
4138  nullptr /*zonePolicy*/,
4139  "" /*format*/,
4140  -720 /*offsetCode (-10800/15)*/,
4141  0 /*offsetRemainder (-10800%15)*/,
4142  0 /*deltaMinutes*/,
4143  32767 /*untilYear*/,
4144  1 /*untilMonth*/,
4145  1 /*untilDay*/,
4146  0 /*untilTimeCode (0/15)*/,
4147  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4148  },
4149 
4150 };
4151 
4152 static const char kZoneNameAmerica_Argentina_Ushuaia[] ACE_TIME_PROGMEM = "\x02" "\x04" "Ushuaia";
4153 
4154 const complete::Info::ZoneInfo kZoneAmerica_Argentina_Ushuaia ACE_TIME_PROGMEM = {
4155  kZoneNameAmerica_Argentina_Ushuaia /*name*/,
4156  0x320dcdde /*zoneId*/,
4157  &kZoneContext /*zoneContext*/,
4158  10 /*numEras*/,
4159  kZoneEraAmerica_Argentina_Ushuaia /*eras*/,
4160  nullptr /*targetInfo*/,
4161 };
4162 
4163 //---------------------------------------------------------------------------
4164 // Zone name: America/Asuncion
4165 // Eras: 6
4166 //---------------------------------------------------------------------------
4167 
4168 static const complete::Info::ZoneEra kZoneEraAmerica_Asuncion[] ACE_TIME_PROGMEM = {
4169  // -3:50:40 - LMT 1890
4170  {
4171  nullptr /*zonePolicy*/,
4172  "LMT" /*format*/,
4173  -923 /*offsetCode (-13840/15)*/,
4174  5 /*offsetRemainder (-13840%15)*/,
4175  0 /*deltaMinutes*/,
4176  1890 /*untilYear*/,
4177  1 /*untilMonth*/,
4178  1 /*untilDay*/,
4179  0 /*untilTimeCode (0/15)*/,
4180  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4181  },
4182  // -3:50:40 - AMT 1931 Oct 10
4183  {
4184  nullptr /*zonePolicy*/,
4185  "AMT" /*format*/,
4186  -923 /*offsetCode (-13840/15)*/,
4187  5 /*offsetRemainder (-13840%15)*/,
4188  0 /*deltaMinutes*/,
4189  1931 /*untilYear*/,
4190  10 /*untilMonth*/,
4191  10 /*untilDay*/,
4192  0 /*untilTimeCode (0/15)*/,
4193  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4194  },
4195  // -4:00 - %z 1972 Oct
4196  {
4197  nullptr /*zonePolicy*/,
4198  "" /*format*/,
4199  -960 /*offsetCode (-14400/15)*/,
4200  0 /*offsetRemainder (-14400%15)*/,
4201  0 /*deltaMinutes*/,
4202  1972 /*untilYear*/,
4203  10 /*untilMonth*/,
4204  1 /*untilDay*/,
4205  0 /*untilTimeCode (0/15)*/,
4206  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4207  },
4208  // -3:00 - %z 1974 Apr
4209  {
4210  nullptr /*zonePolicy*/,
4211  "" /*format*/,
4212  -720 /*offsetCode (-10800/15)*/,
4213  0 /*offsetRemainder (-10800%15)*/,
4214  0 /*deltaMinutes*/,
4215  1974 /*untilYear*/,
4216  4 /*untilMonth*/,
4217  1 /*untilDay*/,
4218  0 /*untilTimeCode (0/15)*/,
4219  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4220  },
4221  // -4:00 Para %z 2024 Oct 15
4222  {
4223  &kZonePolicyPara /*zonePolicy*/,
4224  "" /*format*/,
4225  -960 /*offsetCode (-14400/15)*/,
4226  0 /*offsetRemainder (-14400%15)*/,
4227  0 /*deltaMinutes*/,
4228  2024 /*untilYear*/,
4229  10 /*untilMonth*/,
4230  15 /*untilDay*/,
4231  0 /*untilTimeCode (0/15)*/,
4232  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4233  },
4234  // -3:00 - %z
4235  {
4236  nullptr /*zonePolicy*/,
4237  "" /*format*/,
4238  -720 /*offsetCode (-10800/15)*/,
4239  0 /*offsetRemainder (-10800%15)*/,
4240  0 /*deltaMinutes*/,
4241  32767 /*untilYear*/,
4242  1 /*untilMonth*/,
4243  1 /*untilDay*/,
4244  0 /*untilTimeCode (0/15)*/,
4245  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4246  },
4247 
4248 };
4249 
4250 static const char kZoneNameAmerica_Asuncion[] ACE_TIME_PROGMEM = "\x02" "Asuncion";
4251 
4252 const complete::Info::ZoneInfo kZoneAmerica_Asuncion ACE_TIME_PROGMEM = {
4253  kZoneNameAmerica_Asuncion /*name*/,
4254  0x50ec79a6 /*zoneId*/,
4255  &kZoneContext /*zoneContext*/,
4256  6 /*numEras*/,
4257  kZoneEraAmerica_Asuncion /*eras*/,
4258  nullptr /*targetInfo*/,
4259 };
4260 
4261 //---------------------------------------------------------------------------
4262 // Zone name: America/Bahia
4263 // Eras: 5
4264 //---------------------------------------------------------------------------
4265 
4266 static const complete::Info::ZoneEra kZoneEraAmerica_Bahia[] ACE_TIME_PROGMEM = {
4267  // -2:34:04 - LMT 1914
4268  {
4269  nullptr /*zonePolicy*/,
4270  "LMT" /*format*/,
4271  -617 /*offsetCode (-9244/15)*/,
4272  11 /*offsetRemainder (-9244%15)*/,
4273  0 /*deltaMinutes*/,
4274  1914 /*untilYear*/,
4275  1 /*untilMonth*/,
4276  1 /*untilDay*/,
4277  0 /*untilTimeCode (0/15)*/,
4278  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4279  },
4280  // -3:00 Brazil %z 2003 Sep 24
4281  {
4282  &kZonePolicyBrazil /*zonePolicy*/,
4283  "" /*format*/,
4284  -720 /*offsetCode (-10800/15)*/,
4285  0 /*offsetRemainder (-10800%15)*/,
4286  0 /*deltaMinutes*/,
4287  2003 /*untilYear*/,
4288  9 /*untilMonth*/,
4289  24 /*untilDay*/,
4290  0 /*untilTimeCode (0/15)*/,
4291  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4292  },
4293  // -3:00 - %z 2011 Oct 16
4294  {
4295  nullptr /*zonePolicy*/,
4296  "" /*format*/,
4297  -720 /*offsetCode (-10800/15)*/,
4298  0 /*offsetRemainder (-10800%15)*/,
4299  0 /*deltaMinutes*/,
4300  2011 /*untilYear*/,
4301  10 /*untilMonth*/,
4302  16 /*untilDay*/,
4303  0 /*untilTimeCode (0/15)*/,
4304  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4305  },
4306  // -3:00 Brazil %z 2012 Oct 21
4307  {
4308  &kZonePolicyBrazil /*zonePolicy*/,
4309  "" /*format*/,
4310  -720 /*offsetCode (-10800/15)*/,
4311  0 /*offsetRemainder (-10800%15)*/,
4312  0 /*deltaMinutes*/,
4313  2012 /*untilYear*/,
4314  10 /*untilMonth*/,
4315  21 /*untilDay*/,
4316  0 /*untilTimeCode (0/15)*/,
4317  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4318  },
4319  // -3:00 - %z
4320  {
4321  nullptr /*zonePolicy*/,
4322  "" /*format*/,
4323  -720 /*offsetCode (-10800/15)*/,
4324  0 /*offsetRemainder (-10800%15)*/,
4325  0 /*deltaMinutes*/,
4326  32767 /*untilYear*/,
4327  1 /*untilMonth*/,
4328  1 /*untilDay*/,
4329  0 /*untilTimeCode (0/15)*/,
4330  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4331  },
4332 
4333 };
4334 
4335 static const char kZoneNameAmerica_Bahia[] ACE_TIME_PROGMEM = "\x02" "Bahia";
4336 
4337 const complete::Info::ZoneInfo kZoneAmerica_Bahia ACE_TIME_PROGMEM = {
4338  kZoneNameAmerica_Bahia /*name*/,
4339  0x97d815fb /*zoneId*/,
4340  &kZoneContext /*zoneContext*/,
4341  5 /*numEras*/,
4342  kZoneEraAmerica_Bahia /*eras*/,
4343  nullptr /*targetInfo*/,
4344 };
4345 
4346 //---------------------------------------------------------------------------
4347 // Zone name: America/Bahia_Banderas
4348 // Eras: 8
4349 //---------------------------------------------------------------------------
4350 
4351 static const complete::Info::ZoneEra kZoneEraAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM = {
4352  // -7:01:00 - LMT 1922 Jan 1 7:00u
4353  {
4354  nullptr /*zonePolicy*/,
4355  "LMT" /*format*/,
4356  -1684 /*offsetCode (-25260/15)*/,
4357  0 /*offsetRemainder (-25260%15)*/,
4358  0 /*deltaMinutes*/,
4359  1922 /*untilYear*/,
4360  1 /*untilMonth*/,
4361  1 /*untilDay*/,
4362  1680 /*untilTimeCode (25200/15)*/,
4363  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
4364  },
4365  // -7:00 - MST 1927 Jun 10
4366  {
4367  nullptr /*zonePolicy*/,
4368  "MST" /*format*/,
4369  -1680 /*offsetCode (-25200/15)*/,
4370  0 /*offsetRemainder (-25200%15)*/,
4371  0 /*deltaMinutes*/,
4372  1927 /*untilYear*/,
4373  6 /*untilMonth*/,
4374  10 /*untilDay*/,
4375  0 /*untilTimeCode (0/15)*/,
4376  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4377  },
4378  // -6:00 - CST 1930 Nov 15
4379  {
4380  nullptr /*zonePolicy*/,
4381  "CST" /*format*/,
4382  -1440 /*offsetCode (-21600/15)*/,
4383  0 /*offsetRemainder (-21600%15)*/,
4384  0 /*deltaMinutes*/,
4385  1930 /*untilYear*/,
4386  11 /*untilMonth*/,
4387  15 /*untilDay*/,
4388  0 /*untilTimeCode (0/15)*/,
4389  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4390  },
4391  // -7:00 Mexico M%sT 1932 Apr 1
4392  {
4393  &kZonePolicyMexico /*zonePolicy*/,
4394  "M%T" /*format*/,
4395  -1680 /*offsetCode (-25200/15)*/,
4396  0 /*offsetRemainder (-25200%15)*/,
4397  0 /*deltaMinutes*/,
4398  1932 /*untilYear*/,
4399  4 /*untilMonth*/,
4400  1 /*untilDay*/,
4401  0 /*untilTimeCode (0/15)*/,
4402  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4403  },
4404  // -6:00 - CST 1942 Apr 24
4405  {
4406  nullptr /*zonePolicy*/,
4407  "CST" /*format*/,
4408  -1440 /*offsetCode (-21600/15)*/,
4409  0 /*offsetRemainder (-21600%15)*/,
4410  0 /*deltaMinutes*/,
4411  1942 /*untilYear*/,
4412  4 /*untilMonth*/,
4413  24 /*untilDay*/,
4414  0 /*untilTimeCode (0/15)*/,
4415  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4416  },
4417  // -7:00 - MST 1970
4418  {
4419  nullptr /*zonePolicy*/,
4420  "MST" /*format*/,
4421  -1680 /*offsetCode (-25200/15)*/,
4422  0 /*offsetRemainder (-25200%15)*/,
4423  0 /*deltaMinutes*/,
4424  1970 /*untilYear*/,
4425  1 /*untilMonth*/,
4426  1 /*untilDay*/,
4427  0 /*untilTimeCode (0/15)*/,
4428  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4429  },
4430  // -7:00 Mexico M%sT 2010 Apr 4 2:00
4431  {
4432  &kZonePolicyMexico /*zonePolicy*/,
4433  "M%T" /*format*/,
4434  -1680 /*offsetCode (-25200/15)*/,
4435  0 /*offsetRemainder (-25200%15)*/,
4436  0 /*deltaMinutes*/,
4437  2010 /*untilYear*/,
4438  4 /*untilMonth*/,
4439  4 /*untilDay*/,
4440  480 /*untilTimeCode (7200/15)*/,
4441  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4442  },
4443  // -6:00 Mexico C%sT
4444  {
4445  &kZonePolicyMexico /*zonePolicy*/,
4446  "C%T" /*format*/,
4447  -1440 /*offsetCode (-21600/15)*/,
4448  0 /*offsetRemainder (-21600%15)*/,
4449  0 /*deltaMinutes*/,
4450  32767 /*untilYear*/,
4451  1 /*untilMonth*/,
4452  1 /*untilDay*/,
4453  0 /*untilTimeCode (0/15)*/,
4454  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4455  },
4456 
4457 };
4458 
4459 static const char kZoneNameAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM = "\x02" "Bahia_Banderas";
4460 
4461 const complete::Info::ZoneInfo kZoneAmerica_Bahia_Banderas ACE_TIME_PROGMEM = {
4462  kZoneNameAmerica_Bahia_Banderas /*name*/,
4463  0x14f6329a /*zoneId*/,
4464  &kZoneContext /*zoneContext*/,
4465  8 /*numEras*/,
4466  kZoneEraAmerica_Bahia_Banderas /*eras*/,
4467  nullptr /*targetInfo*/,
4468 };
4469 
4470 //---------------------------------------------------------------------------
4471 // Zone name: America/Barbados
4472 // Eras: 4
4473 //---------------------------------------------------------------------------
4474 
4475 static const complete::Info::ZoneEra kZoneEraAmerica_Barbados[] ACE_TIME_PROGMEM = {
4476  // -3:58:29 - LMT 1911 Aug 28
4477  {
4478  nullptr /*zonePolicy*/,
4479  "LMT" /*format*/,
4480  -954 /*offsetCode (-14309/15)*/,
4481  1 /*offsetRemainder (-14309%15)*/,
4482  0 /*deltaMinutes*/,
4483  1911 /*untilYear*/,
4484  8 /*untilMonth*/,
4485  28 /*untilDay*/,
4486  0 /*untilTimeCode (0/15)*/,
4487  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4488  },
4489  // -4:00 Barb A%sT 1944
4490  {
4491  &kZonePolicyBarb /*zonePolicy*/,
4492  "A%T" /*format*/,
4493  -960 /*offsetCode (-14400/15)*/,
4494  0 /*offsetRemainder (-14400%15)*/,
4495  0 /*deltaMinutes*/,
4496  1944 /*untilYear*/,
4497  1 /*untilMonth*/,
4498  1 /*untilDay*/,
4499  0 /*untilTimeCode (0/15)*/,
4500  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4501  },
4502  // -4:00 Barb AST/-0330 1945
4503  {
4504  &kZonePolicyBarb /*zonePolicy*/,
4505  "AST/-0330" /*format*/,
4506  -960 /*offsetCode (-14400/15)*/,
4507  0 /*offsetRemainder (-14400%15)*/,
4508  0 /*deltaMinutes*/,
4509  1945 /*untilYear*/,
4510  1 /*untilMonth*/,
4511  1 /*untilDay*/,
4512  0 /*untilTimeCode (0/15)*/,
4513  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4514  },
4515  // -4:00 Barb A%sT
4516  {
4517  &kZonePolicyBarb /*zonePolicy*/,
4518  "A%T" /*format*/,
4519  -960 /*offsetCode (-14400/15)*/,
4520  0 /*offsetRemainder (-14400%15)*/,
4521  0 /*deltaMinutes*/,
4522  32767 /*untilYear*/,
4523  1 /*untilMonth*/,
4524  1 /*untilDay*/,
4525  0 /*untilTimeCode (0/15)*/,
4526  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4527  },
4528 
4529 };
4530 
4531 static const char kZoneNameAmerica_Barbados[] ACE_TIME_PROGMEM = "\x02" "Barbados";
4532 
4533 const complete::Info::ZoneInfo kZoneAmerica_Barbados ACE_TIME_PROGMEM = {
4534  kZoneNameAmerica_Barbados /*name*/,
4535  0xcbbc3b04 /*zoneId*/,
4536  &kZoneContext /*zoneContext*/,
4537  4 /*numEras*/,
4538  kZoneEraAmerica_Barbados /*eras*/,
4539  nullptr /*targetInfo*/,
4540 };
4541 
4542 //---------------------------------------------------------------------------
4543 // Zone name: America/Belem
4544 // Eras: 3
4545 //---------------------------------------------------------------------------
4546 
4547 static const complete::Info::ZoneEra kZoneEraAmerica_Belem[] ACE_TIME_PROGMEM = {
4548  // -3:13:56 - LMT 1914
4549  {
4550  nullptr /*zonePolicy*/,
4551  "LMT" /*format*/,
4552  -776 /*offsetCode (-11636/15)*/,
4553  4 /*offsetRemainder (-11636%15)*/,
4554  0 /*deltaMinutes*/,
4555  1914 /*untilYear*/,
4556  1 /*untilMonth*/,
4557  1 /*untilDay*/,
4558  0 /*untilTimeCode (0/15)*/,
4559  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4560  },
4561  // -3:00 Brazil %z 1988 Sep 12
4562  {
4563  &kZonePolicyBrazil /*zonePolicy*/,
4564  "" /*format*/,
4565  -720 /*offsetCode (-10800/15)*/,
4566  0 /*offsetRemainder (-10800%15)*/,
4567  0 /*deltaMinutes*/,
4568  1988 /*untilYear*/,
4569  9 /*untilMonth*/,
4570  12 /*untilDay*/,
4571  0 /*untilTimeCode (0/15)*/,
4572  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4573  },
4574  // -3:00 - %z
4575  {
4576  nullptr /*zonePolicy*/,
4577  "" /*format*/,
4578  -720 /*offsetCode (-10800/15)*/,
4579  0 /*offsetRemainder (-10800%15)*/,
4580  0 /*deltaMinutes*/,
4581  32767 /*untilYear*/,
4582  1 /*untilMonth*/,
4583  1 /*untilDay*/,
4584  0 /*untilTimeCode (0/15)*/,
4585  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4586  },
4587 
4588 };
4589 
4590 static const char kZoneNameAmerica_Belem[] ACE_TIME_PROGMEM = "\x02" "Belem";
4591 
4592 const complete::Info::ZoneInfo kZoneAmerica_Belem ACE_TIME_PROGMEM = {
4593  kZoneNameAmerica_Belem /*name*/,
4594  0x97da580b /*zoneId*/,
4595  &kZoneContext /*zoneContext*/,
4596  3 /*numEras*/,
4597  kZoneEraAmerica_Belem /*eras*/,
4598  nullptr /*targetInfo*/,
4599 };
4600 
4601 //---------------------------------------------------------------------------
4602 // Zone name: America/Belize
4603 // Eras: 2
4604 //---------------------------------------------------------------------------
4605 
4606 static const complete::Info::ZoneEra kZoneEraAmerica_Belize[] ACE_TIME_PROGMEM = {
4607  // -5:52:48 - LMT 1912 Apr 1
4608  {
4609  nullptr /*zonePolicy*/,
4610  "LMT" /*format*/,
4611  -1412 /*offsetCode (-21168/15)*/,
4612  12 /*offsetRemainder (-21168%15)*/,
4613  0 /*deltaMinutes*/,
4614  1912 /*untilYear*/,
4615  4 /*untilMonth*/,
4616  1 /*untilDay*/,
4617  0 /*untilTimeCode (0/15)*/,
4618  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4619  },
4620  // -6:00 Belize %s
4621  {
4622  &kZonePolicyBelize /*zonePolicy*/,
4623  "%" /*format*/,
4624  -1440 /*offsetCode (-21600/15)*/,
4625  0 /*offsetRemainder (-21600%15)*/,
4626  0 /*deltaMinutes*/,
4627  32767 /*untilYear*/,
4628  1 /*untilMonth*/,
4629  1 /*untilDay*/,
4630  0 /*untilTimeCode (0/15)*/,
4631  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4632  },
4633 
4634 };
4635 
4636 static const char kZoneNameAmerica_Belize[] ACE_TIME_PROGMEM = "\x02" "Belize";
4637 
4638 const complete::Info::ZoneInfo kZoneAmerica_Belize ACE_TIME_PROGMEM = {
4639  kZoneNameAmerica_Belize /*name*/,
4640  0x93256c81 /*zoneId*/,
4641  &kZoneContext /*zoneContext*/,
4642  2 /*numEras*/,
4643  kZoneEraAmerica_Belize /*eras*/,
4644  nullptr /*targetInfo*/,
4645 };
4646 
4647 //---------------------------------------------------------------------------
4648 // Zone name: America/Boa_Vista
4649 // Eras: 5
4650 //---------------------------------------------------------------------------
4651 
4652 static const complete::Info::ZoneEra kZoneEraAmerica_Boa_Vista[] ACE_TIME_PROGMEM = {
4653  // -4:02:40 - LMT 1914
4654  {
4655  nullptr /*zonePolicy*/,
4656  "LMT" /*format*/,
4657  -971 /*offsetCode (-14560/15)*/,
4658  5 /*offsetRemainder (-14560%15)*/,
4659  0 /*deltaMinutes*/,
4660  1914 /*untilYear*/,
4661  1 /*untilMonth*/,
4662  1 /*untilDay*/,
4663  0 /*untilTimeCode (0/15)*/,
4664  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4665  },
4666  // -4:00 Brazil %z 1988 Sep 12
4667  {
4668  &kZonePolicyBrazil /*zonePolicy*/,
4669  "" /*format*/,
4670  -960 /*offsetCode (-14400/15)*/,
4671  0 /*offsetRemainder (-14400%15)*/,
4672  0 /*deltaMinutes*/,
4673  1988 /*untilYear*/,
4674  9 /*untilMonth*/,
4675  12 /*untilDay*/,
4676  0 /*untilTimeCode (0/15)*/,
4677  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4678  },
4679  // -4:00 - %z 1999 Sep 30
4680  {
4681  nullptr /*zonePolicy*/,
4682  "" /*format*/,
4683  -960 /*offsetCode (-14400/15)*/,
4684  0 /*offsetRemainder (-14400%15)*/,
4685  0 /*deltaMinutes*/,
4686  1999 /*untilYear*/,
4687  9 /*untilMonth*/,
4688  30 /*untilDay*/,
4689  0 /*untilTimeCode (0/15)*/,
4690  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4691  },
4692  // -4:00 Brazil %z 2000 Oct 15
4693  {
4694  &kZonePolicyBrazil /*zonePolicy*/,
4695  "" /*format*/,
4696  -960 /*offsetCode (-14400/15)*/,
4697  0 /*offsetRemainder (-14400%15)*/,
4698  0 /*deltaMinutes*/,
4699  2000 /*untilYear*/,
4700  10 /*untilMonth*/,
4701  15 /*untilDay*/,
4702  0 /*untilTimeCode (0/15)*/,
4703  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4704  },
4705  // -4:00 - %z
4706  {
4707  nullptr /*zonePolicy*/,
4708  "" /*format*/,
4709  -960 /*offsetCode (-14400/15)*/,
4710  0 /*offsetRemainder (-14400%15)*/,
4711  0 /*deltaMinutes*/,
4712  32767 /*untilYear*/,
4713  1 /*untilMonth*/,
4714  1 /*untilDay*/,
4715  0 /*untilTimeCode (0/15)*/,
4716  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4717  },
4718 
4719 };
4720 
4721 static const char kZoneNameAmerica_Boa_Vista[] ACE_TIME_PROGMEM = "\x02" "Boa_Vista";
4722 
4723 const complete::Info::ZoneInfo kZoneAmerica_Boa_Vista ACE_TIME_PROGMEM = {
4724  kZoneNameAmerica_Boa_Vista /*name*/,
4725  0x0a7b7efe /*zoneId*/,
4726  &kZoneContext /*zoneContext*/,
4727  5 /*numEras*/,
4728  kZoneEraAmerica_Boa_Vista /*eras*/,
4729  nullptr /*targetInfo*/,
4730 };
4731 
4732 //---------------------------------------------------------------------------
4733 // Zone name: America/Bogota
4734 // Eras: 3
4735 //---------------------------------------------------------------------------
4736 
4737 static const complete::Info::ZoneEra kZoneEraAmerica_Bogota[] ACE_TIME_PROGMEM = {
4738  // -4:56:16 - LMT 1884 Mar 13
4739  {
4740  nullptr /*zonePolicy*/,
4741  "LMT" /*format*/,
4742  -1186 /*offsetCode (-17776/15)*/,
4743  14 /*offsetRemainder (-17776%15)*/,
4744  0 /*deltaMinutes*/,
4745  1884 /*untilYear*/,
4746  3 /*untilMonth*/,
4747  13 /*untilDay*/,
4748  0 /*untilTimeCode (0/15)*/,
4749  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4750  },
4751  // -4:56:16 - BMT 1914 Nov 23
4752  {
4753  nullptr /*zonePolicy*/,
4754  "BMT" /*format*/,
4755  -1186 /*offsetCode (-17776/15)*/,
4756  14 /*offsetRemainder (-17776%15)*/,
4757  0 /*deltaMinutes*/,
4758  1914 /*untilYear*/,
4759  11 /*untilMonth*/,
4760  23 /*untilDay*/,
4761  0 /*untilTimeCode (0/15)*/,
4762  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4763  },
4764  // -5:00 CO %z
4765  {
4766  &kZonePolicyCO /*zonePolicy*/,
4767  "" /*format*/,
4768  -1200 /*offsetCode (-18000/15)*/,
4769  0 /*offsetRemainder (-18000%15)*/,
4770  0 /*deltaMinutes*/,
4771  32767 /*untilYear*/,
4772  1 /*untilMonth*/,
4773  1 /*untilDay*/,
4774  0 /*untilTimeCode (0/15)*/,
4775  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4776  },
4777 
4778 };
4779 
4780 static const char kZoneNameAmerica_Bogota[] ACE_TIME_PROGMEM = "\x02" "Bogota";
4781 
4782 const complete::Info::ZoneInfo kZoneAmerica_Bogota ACE_TIME_PROGMEM = {
4783  kZoneNameAmerica_Bogota /*name*/,
4784  0x93d7bc62 /*zoneId*/,
4785  &kZoneContext /*zoneContext*/,
4786  3 /*numEras*/,
4787  kZoneEraAmerica_Bogota /*eras*/,
4788  nullptr /*targetInfo*/,
4789 };
4790 
4791 //---------------------------------------------------------------------------
4792 // Zone name: America/Boise
4793 // Eras: 5
4794 //---------------------------------------------------------------------------
4795 
4796 static const complete::Info::ZoneEra kZoneEraAmerica_Boise[] ACE_TIME_PROGMEM = {
4797  // -7:44:49 - LMT 1883 Nov 18 20:00u
4798  {
4799  nullptr /*zonePolicy*/,
4800  "LMT" /*format*/,
4801  -1860 /*offsetCode (-27889/15)*/,
4802  11 /*offsetRemainder (-27889%15)*/,
4803  0 /*deltaMinutes*/,
4804  1883 /*untilYear*/,
4805  11 /*untilMonth*/,
4806  18 /*untilDay*/,
4807  4800 /*untilTimeCode (72000/15)*/,
4808  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
4809  },
4810  // -8:00 US P%sT 1923 May 13 2:00
4811  {
4812  &kZonePolicyUS /*zonePolicy*/,
4813  "P%T" /*format*/,
4814  -1920 /*offsetCode (-28800/15)*/,
4815  0 /*offsetRemainder (-28800%15)*/,
4816  0 /*deltaMinutes*/,
4817  1923 /*untilYear*/,
4818  5 /*untilMonth*/,
4819  13 /*untilDay*/,
4820  480 /*untilTimeCode (7200/15)*/,
4821  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4822  },
4823  // -7:00 US M%sT 1974
4824  {
4825  &kZonePolicyUS /*zonePolicy*/,
4826  "M%T" /*format*/,
4827  -1680 /*offsetCode (-25200/15)*/,
4828  0 /*offsetRemainder (-25200%15)*/,
4829  0 /*deltaMinutes*/,
4830  1974 /*untilYear*/,
4831  1 /*untilMonth*/,
4832  1 /*untilDay*/,
4833  0 /*untilTimeCode (0/15)*/,
4834  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4835  },
4836  // -7:00 - MST 1974 Feb 3 2:00
4837  {
4838  nullptr /*zonePolicy*/,
4839  "MST" /*format*/,
4840  -1680 /*offsetCode (-25200/15)*/,
4841  0 /*offsetRemainder (-25200%15)*/,
4842  0 /*deltaMinutes*/,
4843  1974 /*untilYear*/,
4844  2 /*untilMonth*/,
4845  3 /*untilDay*/,
4846  480 /*untilTimeCode (7200/15)*/,
4847  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4848  },
4849  // -7:00 US M%sT
4850  {
4851  &kZonePolicyUS /*zonePolicy*/,
4852  "M%T" /*format*/,
4853  -1680 /*offsetCode (-25200/15)*/,
4854  0 /*offsetRemainder (-25200%15)*/,
4855  0 /*deltaMinutes*/,
4856  32767 /*untilYear*/,
4857  1 /*untilMonth*/,
4858  1 /*untilDay*/,
4859  0 /*untilTimeCode (0/15)*/,
4860  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4861  },
4862 
4863 };
4864 
4865 static const char kZoneNameAmerica_Boise[] ACE_TIME_PROGMEM = "\x02" "Boise";
4866 
4867 const complete::Info::ZoneInfo kZoneAmerica_Boise ACE_TIME_PROGMEM = {
4868  kZoneNameAmerica_Boise /*name*/,
4869  0x97dfc8d8 /*zoneId*/,
4870  &kZoneContext /*zoneContext*/,
4871  5 /*numEras*/,
4872  kZoneEraAmerica_Boise /*eras*/,
4873  nullptr /*targetInfo*/,
4874 };
4875 
4876 //---------------------------------------------------------------------------
4877 // Zone name: America/Cambridge_Bay
4878 // Eras: 6
4879 //---------------------------------------------------------------------------
4880 
4881 static const complete::Info::ZoneEra kZoneEraAmerica_Cambridge_Bay[] ACE_TIME_PROGMEM = {
4882  // 0 - -00 1920
4883  {
4884  nullptr /*zonePolicy*/,
4885  "-00" /*format*/,
4886  0 /*offsetCode (0/15)*/,
4887  0 /*offsetRemainder (0%15)*/,
4888  0 /*deltaMinutes*/,
4889  1920 /*untilYear*/,
4890  1 /*untilMonth*/,
4891  1 /*untilDay*/,
4892  0 /*untilTimeCode (0/15)*/,
4893  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4894  },
4895  // -7:00 NT_YK M%sT 1999 Oct 31 2:00
4896  {
4897  &kZonePolicyNT_YK /*zonePolicy*/,
4898  "M%T" /*format*/,
4899  -1680 /*offsetCode (-25200/15)*/,
4900  0 /*offsetRemainder (-25200%15)*/,
4901  0 /*deltaMinutes*/,
4902  1999 /*untilYear*/,
4903  10 /*untilMonth*/,
4904  31 /*untilDay*/,
4905  480 /*untilTimeCode (7200/15)*/,
4906  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4907  },
4908  // -6:00 Canada C%sT 2000 Oct 29 2:00
4909  {
4910  &kZonePolicyCanada /*zonePolicy*/,
4911  "C%T" /*format*/,
4912  -1440 /*offsetCode (-21600/15)*/,
4913  0 /*offsetRemainder (-21600%15)*/,
4914  0 /*deltaMinutes*/,
4915  2000 /*untilYear*/,
4916  10 /*untilMonth*/,
4917  29 /*untilDay*/,
4918  480 /*untilTimeCode (7200/15)*/,
4919  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4920  },
4921  // -5:00 - EST 2000 Nov 5 0:00
4922  {
4923  nullptr /*zonePolicy*/,
4924  "EST" /*format*/,
4925  -1200 /*offsetCode (-18000/15)*/,
4926  0 /*offsetRemainder (-18000%15)*/,
4927  0 /*deltaMinutes*/,
4928  2000 /*untilYear*/,
4929  11 /*untilMonth*/,
4930  5 /*untilDay*/,
4931  0 /*untilTimeCode (0/15)*/,
4932  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4933  },
4934  // -6:00 - CST 2001 Apr 1 3:00
4935  {
4936  nullptr /*zonePolicy*/,
4937  "CST" /*format*/,
4938  -1440 /*offsetCode (-21600/15)*/,
4939  0 /*offsetRemainder (-21600%15)*/,
4940  0 /*deltaMinutes*/,
4941  2001 /*untilYear*/,
4942  4 /*untilMonth*/,
4943  1 /*untilDay*/,
4944  720 /*untilTimeCode (10800/15)*/,
4945  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4946  },
4947  // -7:00 Canada M%sT
4948  {
4949  &kZonePolicyCanada /*zonePolicy*/,
4950  "M%T" /*format*/,
4951  -1680 /*offsetCode (-25200/15)*/,
4952  0 /*offsetRemainder (-25200%15)*/,
4953  0 /*deltaMinutes*/,
4954  32767 /*untilYear*/,
4955  1 /*untilMonth*/,
4956  1 /*untilDay*/,
4957  0 /*untilTimeCode (0/15)*/,
4958  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4959  },
4960 
4961 };
4962 
4963 static const char kZoneNameAmerica_Cambridge_Bay[] ACE_TIME_PROGMEM = "\x02" "Cambridge_Bay";
4964 
4965 const complete::Info::ZoneInfo kZoneAmerica_Cambridge_Bay ACE_TIME_PROGMEM = {
4966  kZoneNameAmerica_Cambridge_Bay /*name*/,
4967  0xd5a44aff /*zoneId*/,
4968  &kZoneContext /*zoneContext*/,
4969  6 /*numEras*/,
4970  kZoneEraAmerica_Cambridge_Bay /*eras*/,
4971  nullptr /*targetInfo*/,
4972 };
4973 
4974 //---------------------------------------------------------------------------
4975 // Zone name: America/Campo_Grande
4976 // Eras: 2
4977 //---------------------------------------------------------------------------
4978 
4979 static const complete::Info::ZoneEra kZoneEraAmerica_Campo_Grande[] ACE_TIME_PROGMEM = {
4980  // -3:38:28 - LMT 1914
4981  {
4982  nullptr /*zonePolicy*/,
4983  "LMT" /*format*/,
4984  -874 /*offsetCode (-13108/15)*/,
4985  2 /*offsetRemainder (-13108%15)*/,
4986  0 /*deltaMinutes*/,
4987  1914 /*untilYear*/,
4988  1 /*untilMonth*/,
4989  1 /*untilDay*/,
4990  0 /*untilTimeCode (0/15)*/,
4991  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4992  },
4993  // -4:00 Brazil %z
4994  {
4995  &kZonePolicyBrazil /*zonePolicy*/,
4996  "" /*format*/,
4997  -960 /*offsetCode (-14400/15)*/,
4998  0 /*offsetRemainder (-14400%15)*/,
4999  0 /*deltaMinutes*/,
5000  32767 /*untilYear*/,
5001  1 /*untilMonth*/,
5002  1 /*untilDay*/,
5003  0 /*untilTimeCode (0/15)*/,
5004  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5005  },
5006 
5007 };
5008 
5009 static const char kZoneNameAmerica_Campo_Grande[] ACE_TIME_PROGMEM = "\x02" "Campo_Grande";
5010 
5011 const complete::Info::ZoneInfo kZoneAmerica_Campo_Grande ACE_TIME_PROGMEM = {
5012  kZoneNameAmerica_Campo_Grande /*name*/,
5013  0xfec3e7a6 /*zoneId*/,
5014  &kZoneContext /*zoneContext*/,
5015  2 /*numEras*/,
5016  kZoneEraAmerica_Campo_Grande /*eras*/,
5017  nullptr /*targetInfo*/,
5018 };
5019 
5020 //---------------------------------------------------------------------------
5021 // Zone name: America/Cancun
5022 // Eras: 7
5023 //---------------------------------------------------------------------------
5024 
5025 static const complete::Info::ZoneEra kZoneEraAmerica_Cancun[] ACE_TIME_PROGMEM = {
5026  // -5:47:04 - LMT 1922 Jan 1 6:00u
5027  {
5028  nullptr /*zonePolicy*/,
5029  "LMT" /*format*/,
5030  -1389 /*offsetCode (-20824/15)*/,
5031  11 /*offsetRemainder (-20824%15)*/,
5032  0 /*deltaMinutes*/,
5033  1922 /*untilYear*/,
5034  1 /*untilMonth*/,
5035  1 /*untilDay*/,
5036  1440 /*untilTimeCode (21600/15)*/,
5037  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
5038  },
5039  // -6:00 - CST 1981 Dec 26 2:00
5040  {
5041  nullptr /*zonePolicy*/,
5042  "CST" /*format*/,
5043  -1440 /*offsetCode (-21600/15)*/,
5044  0 /*offsetRemainder (-21600%15)*/,
5045  0 /*deltaMinutes*/,
5046  1981 /*untilYear*/,
5047  12 /*untilMonth*/,
5048  26 /*untilDay*/,
5049  480 /*untilTimeCode (7200/15)*/,
5050  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5051  },
5052  // -5:00 - EST 1983 Jan 4 0:00
5053  {
5054  nullptr /*zonePolicy*/,
5055  "EST" /*format*/,
5056  -1200 /*offsetCode (-18000/15)*/,
5057  0 /*offsetRemainder (-18000%15)*/,
5058  0 /*deltaMinutes*/,
5059  1983 /*untilYear*/,
5060  1 /*untilMonth*/,
5061  4 /*untilDay*/,
5062  0 /*untilTimeCode (0/15)*/,
5063  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5064  },
5065  // -6:00 Mexico C%sT 1997 Oct 26 2:00
5066  {
5067  &kZonePolicyMexico /*zonePolicy*/,
5068  "C%T" /*format*/,
5069  -1440 /*offsetCode (-21600/15)*/,
5070  0 /*offsetRemainder (-21600%15)*/,
5071  0 /*deltaMinutes*/,
5072  1997 /*untilYear*/,
5073  10 /*untilMonth*/,
5074  26 /*untilDay*/,
5075  480 /*untilTimeCode (7200/15)*/,
5076  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5077  },
5078  // -5:00 Mexico E%sT 1998 Aug 2 2:00
5079  {
5080  &kZonePolicyMexico /*zonePolicy*/,
5081  "E%T" /*format*/,
5082  -1200 /*offsetCode (-18000/15)*/,
5083  0 /*offsetRemainder (-18000%15)*/,
5084  0 /*deltaMinutes*/,
5085  1998 /*untilYear*/,
5086  8 /*untilMonth*/,
5087  2 /*untilDay*/,
5088  480 /*untilTimeCode (7200/15)*/,
5089  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5090  },
5091  // -6:00 Mexico C%sT 2015 Feb 1 2:00
5092  {
5093  &kZonePolicyMexico /*zonePolicy*/,
5094  "C%T" /*format*/,
5095  -1440 /*offsetCode (-21600/15)*/,
5096  0 /*offsetRemainder (-21600%15)*/,
5097  0 /*deltaMinutes*/,
5098  2015 /*untilYear*/,
5099  2 /*untilMonth*/,
5100  1 /*untilDay*/,
5101  480 /*untilTimeCode (7200/15)*/,
5102  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5103  },
5104  // -5:00 - EST
5105  {
5106  nullptr /*zonePolicy*/,
5107  "EST" /*format*/,
5108  -1200 /*offsetCode (-18000/15)*/,
5109  0 /*offsetRemainder (-18000%15)*/,
5110  0 /*deltaMinutes*/,
5111  32767 /*untilYear*/,
5112  1 /*untilMonth*/,
5113  1 /*untilDay*/,
5114  0 /*untilTimeCode (0/15)*/,
5115  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5116  },
5117 
5118 };
5119 
5120 static const char kZoneNameAmerica_Cancun[] ACE_TIME_PROGMEM = "\x02" "Cancun";
5121 
5122 const complete::Info::ZoneInfo kZoneAmerica_Cancun ACE_TIME_PROGMEM = {
5123  kZoneNameAmerica_Cancun /*name*/,
5124  0x953331be /*zoneId*/,
5125  &kZoneContext /*zoneContext*/,
5126  7 /*numEras*/,
5127  kZoneEraAmerica_Cancun /*eras*/,
5128  nullptr /*targetInfo*/,
5129 };
5130 
5131 //---------------------------------------------------------------------------
5132 // Zone name: America/Caracas
5133 // Eras: 6
5134 //---------------------------------------------------------------------------
5135 
5136 static const complete::Info::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = {
5137  // -4:27:44 - LMT 1890
5138  {
5139  nullptr /*zonePolicy*/,
5140  "LMT" /*format*/,
5141  -1071 /*offsetCode (-16064/15)*/,
5142  1 /*offsetRemainder (-16064%15)*/,
5143  0 /*deltaMinutes*/,
5144  1890 /*untilYear*/,
5145  1 /*untilMonth*/,
5146  1 /*untilDay*/,
5147  0 /*untilTimeCode (0/15)*/,
5148  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5149  },
5150  // -4:27:40 - CMT 1912 Feb 12
5151  {
5152  nullptr /*zonePolicy*/,
5153  "CMT" /*format*/,
5154  -1071 /*offsetCode (-16060/15)*/,
5155  5 /*offsetRemainder (-16060%15)*/,
5156  0 /*deltaMinutes*/,
5157  1912 /*untilYear*/,
5158  2 /*untilMonth*/,
5159  12 /*untilDay*/,
5160  0 /*untilTimeCode (0/15)*/,
5161  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5162  },
5163  // -4:30 - %z 1965 Jan 1 0:00
5164  {
5165  nullptr /*zonePolicy*/,
5166  "" /*format*/,
5167  -1080 /*offsetCode (-16200/15)*/,
5168  0 /*offsetRemainder (-16200%15)*/,
5169  0 /*deltaMinutes*/,
5170  1965 /*untilYear*/,
5171  1 /*untilMonth*/,
5172  1 /*untilDay*/,
5173  0 /*untilTimeCode (0/15)*/,
5174  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5175  },
5176  // -4:00 - %z 2007 Dec 9 3:00
5177  {
5178  nullptr /*zonePolicy*/,
5179  "" /*format*/,
5180  -960 /*offsetCode (-14400/15)*/,
5181  0 /*offsetRemainder (-14400%15)*/,
5182  0 /*deltaMinutes*/,
5183  2007 /*untilYear*/,
5184  12 /*untilMonth*/,
5185  9 /*untilDay*/,
5186  720 /*untilTimeCode (10800/15)*/,
5187  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5188  },
5189  // -4:30 - %z 2016 May 1 2:30
5190  {
5191  nullptr /*zonePolicy*/,
5192  "" /*format*/,
5193  -1080 /*offsetCode (-16200/15)*/,
5194  0 /*offsetRemainder (-16200%15)*/,
5195  0 /*deltaMinutes*/,
5196  2016 /*untilYear*/,
5197  5 /*untilMonth*/,
5198  1 /*untilDay*/,
5199  600 /*untilTimeCode (9000/15)*/,
5200  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5201  },
5202  // -4:00 - %z
5203  {
5204  nullptr /*zonePolicy*/,
5205  "" /*format*/,
5206  -960 /*offsetCode (-14400/15)*/,
5207  0 /*offsetRemainder (-14400%15)*/,
5208  0 /*deltaMinutes*/,
5209  32767 /*untilYear*/,
5210  1 /*untilMonth*/,
5211  1 /*untilDay*/,
5212  0 /*untilTimeCode (0/15)*/,
5213  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5214  },
5215 
5216 };
5217 
5218 static const char kZoneNameAmerica_Caracas[] ACE_TIME_PROGMEM = "\x02" "Caracas";
5219 
5220 const complete::Info::ZoneInfo kZoneAmerica_Caracas ACE_TIME_PROGMEM = {
5221  kZoneNameAmerica_Caracas /*name*/,
5222  0x3be064f4 /*zoneId*/,
5223  &kZoneContext /*zoneContext*/,
5224  6 /*numEras*/,
5225  kZoneEraAmerica_Caracas /*eras*/,
5226  nullptr /*targetInfo*/,
5227 };
5228 
5229 //---------------------------------------------------------------------------
5230 // Zone name: America/Cayenne
5231 // Eras: 3
5232 //---------------------------------------------------------------------------
5233 
5234 static const complete::Info::ZoneEra kZoneEraAmerica_Cayenne[] ACE_TIME_PROGMEM = {
5235  // -3:29:20 - LMT 1911 Jul 1
5236  {
5237  nullptr /*zonePolicy*/,
5238  "LMT" /*format*/,
5239  -838 /*offsetCode (-12560/15)*/,
5240  10 /*offsetRemainder (-12560%15)*/,
5241  0 /*deltaMinutes*/,
5242  1911 /*untilYear*/,
5243  7 /*untilMonth*/,
5244  1 /*untilDay*/,
5245  0 /*untilTimeCode (0/15)*/,
5246  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5247  },
5248  // -4:00 - %z 1967 Oct
5249  {
5250  nullptr /*zonePolicy*/,
5251  "" /*format*/,
5252  -960 /*offsetCode (-14400/15)*/,
5253  0 /*offsetRemainder (-14400%15)*/,
5254  0 /*deltaMinutes*/,
5255  1967 /*untilYear*/,
5256  10 /*untilMonth*/,
5257  1 /*untilDay*/,
5258  0 /*untilTimeCode (0/15)*/,
5259  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5260  },
5261  // -3:00 - %z
5262  {
5263  nullptr /*zonePolicy*/,
5264  "" /*format*/,
5265  -720 /*offsetCode (-10800/15)*/,
5266  0 /*offsetRemainder (-10800%15)*/,
5267  0 /*deltaMinutes*/,
5268  32767 /*untilYear*/,
5269  1 /*untilMonth*/,
5270  1 /*untilDay*/,
5271  0 /*untilTimeCode (0/15)*/,
5272  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5273  },
5274 
5275 };
5276 
5277 static const char kZoneNameAmerica_Cayenne[] ACE_TIME_PROGMEM = "\x02" "Cayenne";
5278 
5279 const complete::Info::ZoneInfo kZoneAmerica_Cayenne ACE_TIME_PROGMEM = {
5280  kZoneNameAmerica_Cayenne /*name*/,
5281  0x3c617269 /*zoneId*/,
5282  &kZoneContext /*zoneContext*/,
5283  3 /*numEras*/,
5284  kZoneEraAmerica_Cayenne /*eras*/,
5285  nullptr /*targetInfo*/,
5286 };
5287 
5288 //---------------------------------------------------------------------------
5289 // Zone name: America/Chicago
5290 // Eras: 8
5291 //---------------------------------------------------------------------------
5292 
5293 static const complete::Info::ZoneEra kZoneEraAmerica_Chicago[] ACE_TIME_PROGMEM = {
5294  // -5:50:36 - LMT 1883 Nov 18 18:00u
5295  {
5296  nullptr /*zonePolicy*/,
5297  "LMT" /*format*/,
5298  -1403 /*offsetCode (-21036/15)*/,
5299  9 /*offsetRemainder (-21036%15)*/,
5300  0 /*deltaMinutes*/,
5301  1883 /*untilYear*/,
5302  11 /*untilMonth*/,
5303  18 /*untilDay*/,
5304  4320 /*untilTimeCode (64800/15)*/,
5305  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
5306  },
5307  // -6:00 US C%sT 1920
5308  {
5309  &kZonePolicyUS /*zonePolicy*/,
5310  "C%T" /*format*/,
5311  -1440 /*offsetCode (-21600/15)*/,
5312  0 /*offsetRemainder (-21600%15)*/,
5313  0 /*deltaMinutes*/,
5314  1920 /*untilYear*/,
5315  1 /*untilMonth*/,
5316  1 /*untilDay*/,
5317  0 /*untilTimeCode (0/15)*/,
5318  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5319  },
5320  // -6:00 Chicago C%sT 1936 Mar 1 2:00
5321  {
5322  &kZonePolicyChicago /*zonePolicy*/,
5323  "C%T" /*format*/,
5324  -1440 /*offsetCode (-21600/15)*/,
5325  0 /*offsetRemainder (-21600%15)*/,
5326  0 /*deltaMinutes*/,
5327  1936 /*untilYear*/,
5328  3 /*untilMonth*/,
5329  1 /*untilDay*/,
5330  480 /*untilTimeCode (7200/15)*/,
5331  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5332  },
5333  // -5:00 - EST 1936 Nov 15 2:00
5334  {
5335  nullptr /*zonePolicy*/,
5336  "EST" /*format*/,
5337  -1200 /*offsetCode (-18000/15)*/,
5338  0 /*offsetRemainder (-18000%15)*/,
5339  0 /*deltaMinutes*/,
5340  1936 /*untilYear*/,
5341  11 /*untilMonth*/,
5342  15 /*untilDay*/,
5343  480 /*untilTimeCode (7200/15)*/,
5344  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5345  },
5346  // -6:00 Chicago C%sT 1942
5347  {
5348  &kZonePolicyChicago /*zonePolicy*/,
5349  "C%T" /*format*/,
5350  -1440 /*offsetCode (-21600/15)*/,
5351  0 /*offsetRemainder (-21600%15)*/,
5352  0 /*deltaMinutes*/,
5353  1942 /*untilYear*/,
5354  1 /*untilMonth*/,
5355  1 /*untilDay*/,
5356  0 /*untilTimeCode (0/15)*/,
5357  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5358  },
5359  // -6:00 US C%sT 1946
5360  {
5361  &kZonePolicyUS /*zonePolicy*/,
5362  "C%T" /*format*/,
5363  -1440 /*offsetCode (-21600/15)*/,
5364  0 /*offsetRemainder (-21600%15)*/,
5365  0 /*deltaMinutes*/,
5366  1946 /*untilYear*/,
5367  1 /*untilMonth*/,
5368  1 /*untilDay*/,
5369  0 /*untilTimeCode (0/15)*/,
5370  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5371  },
5372  // -6:00 Chicago C%sT 1967
5373  {
5374  &kZonePolicyChicago /*zonePolicy*/,
5375  "C%T" /*format*/,
5376  -1440 /*offsetCode (-21600/15)*/,
5377  0 /*offsetRemainder (-21600%15)*/,
5378  0 /*deltaMinutes*/,
5379  1967 /*untilYear*/,
5380  1 /*untilMonth*/,
5381  1 /*untilDay*/,
5382  0 /*untilTimeCode (0/15)*/,
5383  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5384  },
5385  // -6:00 US C%sT
5386  {
5387  &kZonePolicyUS /*zonePolicy*/,
5388  "C%T" /*format*/,
5389  -1440 /*offsetCode (-21600/15)*/,
5390  0 /*offsetRemainder (-21600%15)*/,
5391  0 /*deltaMinutes*/,
5392  32767 /*untilYear*/,
5393  1 /*untilMonth*/,
5394  1 /*untilDay*/,
5395  0 /*untilTimeCode (0/15)*/,
5396  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5397  },
5398 
5399 };
5400 
5401 static const char kZoneNameAmerica_Chicago[] ACE_TIME_PROGMEM = "\x02" "Chicago";
5402 
5403 const complete::Info::ZoneInfo kZoneAmerica_Chicago ACE_TIME_PROGMEM = {
5404  kZoneNameAmerica_Chicago /*name*/,
5405  0x4b92b5d4 /*zoneId*/,
5406  &kZoneContext /*zoneContext*/,
5407  8 /*numEras*/,
5408  kZoneEraAmerica_Chicago /*eras*/,
5409  nullptr /*targetInfo*/,
5410 };
5411 
5412 //---------------------------------------------------------------------------
5413 // Zone name: America/Chihuahua
5414 // Eras: 9
5415 //---------------------------------------------------------------------------
5416 
5417 static const complete::Info::ZoneEra kZoneEraAmerica_Chihuahua[] ACE_TIME_PROGMEM = {
5418  // -7:04:20 - LMT 1922 Jan 1 7:00u
5419  {
5420  nullptr /*zonePolicy*/,
5421  "LMT" /*format*/,
5422  -1698 /*offsetCode (-25460/15)*/,
5423  10 /*offsetRemainder (-25460%15)*/,
5424  0 /*deltaMinutes*/,
5425  1922 /*untilYear*/,
5426  1 /*untilMonth*/,
5427  1 /*untilDay*/,
5428  1680 /*untilTimeCode (25200/15)*/,
5429  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
5430  },
5431  // -7:00 - MST 1927 Jun 10
5432  {
5433  nullptr /*zonePolicy*/,
5434  "MST" /*format*/,
5435  -1680 /*offsetCode (-25200/15)*/,
5436  0 /*offsetRemainder (-25200%15)*/,
5437  0 /*deltaMinutes*/,
5438  1927 /*untilYear*/,
5439  6 /*untilMonth*/,
5440  10 /*untilDay*/,
5441  0 /*untilTimeCode (0/15)*/,
5442  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5443  },
5444  // -6:00 - CST 1930 Nov 15
5445  {
5446  nullptr /*zonePolicy*/,
5447  "CST" /*format*/,
5448  -1440 /*offsetCode (-21600/15)*/,
5449  0 /*offsetRemainder (-21600%15)*/,
5450  0 /*deltaMinutes*/,
5451  1930 /*untilYear*/,
5452  11 /*untilMonth*/,
5453  15 /*untilDay*/,
5454  0 /*untilTimeCode (0/15)*/,
5455  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5456  },
5457  // -7:00 Mexico M%sT 1932 Apr 1
5458  {
5459  &kZonePolicyMexico /*zonePolicy*/,
5460  "M%T" /*format*/,
5461  -1680 /*offsetCode (-25200/15)*/,
5462  0 /*offsetRemainder (-25200%15)*/,
5463  0 /*deltaMinutes*/,
5464  1932 /*untilYear*/,
5465  4 /*untilMonth*/,
5466  1 /*untilDay*/,
5467  0 /*untilTimeCode (0/15)*/,
5468  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5469  },
5470  // -6:00 - CST 1996
5471  {
5472  nullptr /*zonePolicy*/,
5473  "CST" /*format*/,
5474  -1440 /*offsetCode (-21600/15)*/,
5475  0 /*offsetRemainder (-21600%15)*/,
5476  0 /*deltaMinutes*/,
5477  1996 /*untilYear*/,
5478  1 /*untilMonth*/,
5479  1 /*untilDay*/,
5480  0 /*untilTimeCode (0/15)*/,
5481  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5482  },
5483  // -6:00 Mexico C%sT 1998
5484  {
5485  &kZonePolicyMexico /*zonePolicy*/,
5486  "C%T" /*format*/,
5487  -1440 /*offsetCode (-21600/15)*/,
5488  0 /*offsetRemainder (-21600%15)*/,
5489  0 /*deltaMinutes*/,
5490  1998 /*untilYear*/,
5491  1 /*untilMonth*/,
5492  1 /*untilDay*/,
5493  0 /*untilTimeCode (0/15)*/,
5494  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5495  },
5496  // -6:00 - CST 1998 Apr Sun>=1 3:00
5497  {
5498  nullptr /*zonePolicy*/,
5499  "CST" /*format*/,
5500  -1440 /*offsetCode (-21600/15)*/,
5501  0 /*offsetRemainder (-21600%15)*/,
5502  0 /*deltaMinutes*/,
5503  1998 /*untilYear*/,
5504  4 /*untilMonth*/,
5505  5 /*untilDay*/,
5506  720 /*untilTimeCode (10800/15)*/,
5507  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5508  },
5509  // -7:00 Mexico M%sT 2022 Oct 30 2:00
5510  {
5511  &kZonePolicyMexico /*zonePolicy*/,
5512  "M%T" /*format*/,
5513  -1680 /*offsetCode (-25200/15)*/,
5514  0 /*offsetRemainder (-25200%15)*/,
5515  0 /*deltaMinutes*/,
5516  2022 /*untilYear*/,
5517  10 /*untilMonth*/,
5518  30 /*untilDay*/,
5519  480 /*untilTimeCode (7200/15)*/,
5520  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5521  },
5522  // -6:00 - CST
5523  {
5524  nullptr /*zonePolicy*/,
5525  "CST" /*format*/,
5526  -1440 /*offsetCode (-21600/15)*/,
5527  0 /*offsetRemainder (-21600%15)*/,
5528  0 /*deltaMinutes*/,
5529  32767 /*untilYear*/,
5530  1 /*untilMonth*/,
5531  1 /*untilDay*/,
5532  0 /*untilTimeCode (0/15)*/,
5533  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5534  },
5535 
5536 };
5537 
5538 static const char kZoneNameAmerica_Chihuahua[] ACE_TIME_PROGMEM = "\x02" "Chihuahua";
5539 
5540 const complete::Info::ZoneInfo kZoneAmerica_Chihuahua ACE_TIME_PROGMEM = {
5541  kZoneNameAmerica_Chihuahua /*name*/,
5542  0x8827d776 /*zoneId*/,
5543  &kZoneContext /*zoneContext*/,
5544  9 /*numEras*/,
5545  kZoneEraAmerica_Chihuahua /*eras*/,
5546  nullptr /*targetInfo*/,
5547 };
5548 
5549 //---------------------------------------------------------------------------
5550 // Zone name: America/Ciudad_Juarez
5551 // Eras: 11
5552 //---------------------------------------------------------------------------
5553 
5554 static const complete::Info::ZoneEra kZoneEraAmerica_Ciudad_Juarez[] ACE_TIME_PROGMEM = {
5555  // -7:05:56 - LMT 1922 Jan 1 7:00u
5556  {
5557  nullptr /*zonePolicy*/,
5558  "LMT" /*format*/,
5559  -1704 /*offsetCode (-25556/15)*/,
5560  4 /*offsetRemainder (-25556%15)*/,
5561  0 /*deltaMinutes*/,
5562  1922 /*untilYear*/,
5563  1 /*untilMonth*/,
5564  1 /*untilDay*/,
5565  1680 /*untilTimeCode (25200/15)*/,
5566  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
5567  },
5568  // -7:00 - MST 1927 Jun 10
5569  {
5570  nullptr /*zonePolicy*/,
5571  "MST" /*format*/,
5572  -1680 /*offsetCode (-25200/15)*/,
5573  0 /*offsetRemainder (-25200%15)*/,
5574  0 /*deltaMinutes*/,
5575  1927 /*untilYear*/,
5576  6 /*untilMonth*/,
5577  10 /*untilDay*/,
5578  0 /*untilTimeCode (0/15)*/,
5579  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5580  },
5581  // -6:00 - CST 1930 Nov 15
5582  {
5583  nullptr /*zonePolicy*/,
5584  "CST" /*format*/,
5585  -1440 /*offsetCode (-21600/15)*/,
5586  0 /*offsetRemainder (-21600%15)*/,
5587  0 /*deltaMinutes*/,
5588  1930 /*untilYear*/,
5589  11 /*untilMonth*/,
5590  15 /*untilDay*/,
5591  0 /*untilTimeCode (0/15)*/,
5592  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5593  },
5594  // -7:00 Mexico M%sT 1932 Apr 1
5595  {
5596  &kZonePolicyMexico /*zonePolicy*/,
5597  "M%T" /*format*/,
5598  -1680 /*offsetCode (-25200/15)*/,
5599  0 /*offsetRemainder (-25200%15)*/,
5600  0 /*deltaMinutes*/,
5601  1932 /*untilYear*/,
5602  4 /*untilMonth*/,
5603  1 /*untilDay*/,
5604  0 /*untilTimeCode (0/15)*/,
5605  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5606  },
5607  // -6:00 - CST 1996
5608  {
5609  nullptr /*zonePolicy*/,
5610  "CST" /*format*/,
5611  -1440 /*offsetCode (-21600/15)*/,
5612  0 /*offsetRemainder (-21600%15)*/,
5613  0 /*deltaMinutes*/,
5614  1996 /*untilYear*/,
5615  1 /*untilMonth*/,
5616  1 /*untilDay*/,
5617  0 /*untilTimeCode (0/15)*/,
5618  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5619  },
5620  // -6:00 Mexico C%sT 1998
5621  {
5622  &kZonePolicyMexico /*zonePolicy*/,
5623  "C%T" /*format*/,
5624  -1440 /*offsetCode (-21600/15)*/,
5625  0 /*offsetRemainder (-21600%15)*/,
5626  0 /*deltaMinutes*/,
5627  1998 /*untilYear*/,
5628  1 /*untilMonth*/,
5629  1 /*untilDay*/,
5630  0 /*untilTimeCode (0/15)*/,
5631  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5632  },
5633  // -6:00 - CST 1998 Apr Sun>=1 3:00
5634  {
5635  nullptr /*zonePolicy*/,
5636  "CST" /*format*/,
5637  -1440 /*offsetCode (-21600/15)*/,
5638  0 /*offsetRemainder (-21600%15)*/,
5639  0 /*deltaMinutes*/,
5640  1998 /*untilYear*/,
5641  4 /*untilMonth*/,
5642  5 /*untilDay*/,
5643  720 /*untilTimeCode (10800/15)*/,
5644  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5645  },
5646  // -7:00 Mexico M%sT 2010
5647  {
5648  &kZonePolicyMexico /*zonePolicy*/,
5649  "M%T" /*format*/,
5650  -1680 /*offsetCode (-25200/15)*/,
5651  0 /*offsetRemainder (-25200%15)*/,
5652  0 /*deltaMinutes*/,
5653  2010 /*untilYear*/,
5654  1 /*untilMonth*/,
5655  1 /*untilDay*/,
5656  0 /*untilTimeCode (0/15)*/,
5657  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5658  },
5659  // -7:00 US M%sT 2022 Oct 30 2:00
5660  {
5661  &kZonePolicyUS /*zonePolicy*/,
5662  "M%T" /*format*/,
5663  -1680 /*offsetCode (-25200/15)*/,
5664  0 /*offsetRemainder (-25200%15)*/,
5665  0 /*deltaMinutes*/,
5666  2022 /*untilYear*/,
5667  10 /*untilMonth*/,
5668  30 /*untilDay*/,
5669  480 /*untilTimeCode (7200/15)*/,
5670  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5671  },
5672  // -6:00 - CST 2022 Nov 30 0:00
5673  {
5674  nullptr /*zonePolicy*/,
5675  "CST" /*format*/,
5676  -1440 /*offsetCode (-21600/15)*/,
5677  0 /*offsetRemainder (-21600%15)*/,
5678  0 /*deltaMinutes*/,
5679  2022 /*untilYear*/,
5680  11 /*untilMonth*/,
5681  30 /*untilDay*/,
5682  0 /*untilTimeCode (0/15)*/,
5683  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5684  },
5685  // -7:00 US M%sT
5686  {
5687  &kZonePolicyUS /*zonePolicy*/,
5688  "M%T" /*format*/,
5689  -1680 /*offsetCode (-25200/15)*/,
5690  0 /*offsetRemainder (-25200%15)*/,
5691  0 /*deltaMinutes*/,
5692  32767 /*untilYear*/,
5693  1 /*untilMonth*/,
5694  1 /*untilDay*/,
5695  0 /*untilTimeCode (0/15)*/,
5696  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5697  },
5698 
5699 };
5700 
5701 static const char kZoneNameAmerica_Ciudad_Juarez[] ACE_TIME_PROGMEM = "\x02" "Ciudad_Juarez";
5702 
5703 const complete::Info::ZoneInfo kZoneAmerica_Ciudad_Juarez ACE_TIME_PROGMEM = {
5704  kZoneNameAmerica_Ciudad_Juarez /*name*/,
5705  0x7347fc60 /*zoneId*/,
5706  &kZoneContext /*zoneContext*/,
5707  11 /*numEras*/,
5708  kZoneEraAmerica_Ciudad_Juarez /*eras*/,
5709  nullptr /*targetInfo*/,
5710 };
5711 
5712 //---------------------------------------------------------------------------
5713 // Zone name: America/Costa_Rica
5714 // Eras: 3
5715 //---------------------------------------------------------------------------
5716 
5717 static const complete::Info::ZoneEra kZoneEraAmerica_Costa_Rica[] ACE_TIME_PROGMEM = {
5718  // -5:36:13 - LMT 1890
5719  {
5720  nullptr /*zonePolicy*/,
5721  "LMT" /*format*/,
5722  -1345 /*offsetCode (-20173/15)*/,
5723  2 /*offsetRemainder (-20173%15)*/,
5724  0 /*deltaMinutes*/,
5725  1890 /*untilYear*/,
5726  1 /*untilMonth*/,
5727  1 /*untilDay*/,
5728  0 /*untilTimeCode (0/15)*/,
5729  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5730  },
5731  // -5:36:13 - SJMT 1921 Jan 15
5732  {
5733  nullptr /*zonePolicy*/,
5734  "SJMT" /*format*/,
5735  -1345 /*offsetCode (-20173/15)*/,
5736  2 /*offsetRemainder (-20173%15)*/,
5737  0 /*deltaMinutes*/,
5738  1921 /*untilYear*/,
5739  1 /*untilMonth*/,
5740  15 /*untilDay*/,
5741  0 /*untilTimeCode (0/15)*/,
5742  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5743  },
5744  // -6:00 CR C%sT
5745  {
5746  &kZonePolicyCR /*zonePolicy*/,
5747  "C%T" /*format*/,
5748  -1440 /*offsetCode (-21600/15)*/,
5749  0 /*offsetRemainder (-21600%15)*/,
5750  0 /*deltaMinutes*/,
5751  32767 /*untilYear*/,
5752  1 /*untilMonth*/,
5753  1 /*untilDay*/,
5754  0 /*untilTimeCode (0/15)*/,
5755  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5756  },
5757 
5758 };
5759 
5760 static const char kZoneNameAmerica_Costa_Rica[] ACE_TIME_PROGMEM = "\x02" "Costa_Rica";
5761 
5762 const complete::Info::ZoneInfo kZoneAmerica_Costa_Rica ACE_TIME_PROGMEM = {
5763  kZoneNameAmerica_Costa_Rica /*name*/,
5764  0x63ff66be /*zoneId*/,
5765  &kZoneContext /*zoneContext*/,
5766  3 /*numEras*/,
5767  kZoneEraAmerica_Costa_Rica /*eras*/,
5768  nullptr /*targetInfo*/,
5769 };
5770 
5771 //---------------------------------------------------------------------------
5772 // Zone name: America/Coyhaique
5773 // Eras: 14
5774 //---------------------------------------------------------------------------
5775 
5776 static const complete::Info::ZoneEra kZoneEraAmerica_Coyhaique[] ACE_TIME_PROGMEM = {
5777  // -4:48:16 - LMT 1890
5778  {
5779  nullptr /*zonePolicy*/,
5780  "LMT" /*format*/,
5781  -1154 /*offsetCode (-17296/15)*/,
5782  14 /*offsetRemainder (-17296%15)*/,
5783  0 /*deltaMinutes*/,
5784  1890 /*untilYear*/,
5785  1 /*untilMonth*/,
5786  1 /*untilDay*/,
5787  0 /*untilTimeCode (0/15)*/,
5788  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5789  },
5790  // -4:42:45 - SMT 1910 Jan 10
5791  {
5792  nullptr /*zonePolicy*/,
5793  "SMT" /*format*/,
5794  -1131 /*offsetCode (-16965/15)*/,
5795  0 /*offsetRemainder (-16965%15)*/,
5796  0 /*deltaMinutes*/,
5797  1910 /*untilYear*/,
5798  1 /*untilMonth*/,
5799  10 /*untilDay*/,
5800  0 /*untilTimeCode (0/15)*/,
5801  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5802  },
5803  // -5:00 - %z 1916 Jul 1
5804  {
5805  nullptr /*zonePolicy*/,
5806  "" /*format*/,
5807  -1200 /*offsetCode (-18000/15)*/,
5808  0 /*offsetRemainder (-18000%15)*/,
5809  0 /*deltaMinutes*/,
5810  1916 /*untilYear*/,
5811  7 /*untilMonth*/,
5812  1 /*untilDay*/,
5813  0 /*untilTimeCode (0/15)*/,
5814  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5815  },
5816  // -4:42:45 - SMT 1918 Sep 10
5817  {
5818  nullptr /*zonePolicy*/,
5819  "SMT" /*format*/,
5820  -1131 /*offsetCode (-16965/15)*/,
5821  0 /*offsetRemainder (-16965%15)*/,
5822  0 /*deltaMinutes*/,
5823  1918 /*untilYear*/,
5824  9 /*untilMonth*/,
5825  10 /*untilDay*/,
5826  0 /*untilTimeCode (0/15)*/,
5827  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5828  },
5829  // -4:00 - %z 1919 Jul 1
5830  {
5831  nullptr /*zonePolicy*/,
5832  "" /*format*/,
5833  -960 /*offsetCode (-14400/15)*/,
5834  0 /*offsetRemainder (-14400%15)*/,
5835  0 /*deltaMinutes*/,
5836  1919 /*untilYear*/,
5837  7 /*untilMonth*/,
5838  1 /*untilDay*/,
5839  0 /*untilTimeCode (0/15)*/,
5840  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5841  },
5842  // -4:42:45 - SMT 1927 Sep 1
5843  {
5844  nullptr /*zonePolicy*/,
5845  "SMT" /*format*/,
5846  -1131 /*offsetCode (-16965/15)*/,
5847  0 /*offsetRemainder (-16965%15)*/,
5848  0 /*deltaMinutes*/,
5849  1927 /*untilYear*/,
5850  9 /*untilMonth*/,
5851  1 /*untilDay*/,
5852  0 /*untilTimeCode (0/15)*/,
5853  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5854  },
5855  // -5:00 Chile %z 1932 Sep 1
5856  {
5857  &kZonePolicyChile /*zonePolicy*/,
5858  "" /*format*/,
5859  -1200 /*offsetCode (-18000/15)*/,
5860  0 /*offsetRemainder (-18000%15)*/,
5861  0 /*deltaMinutes*/,
5862  1932 /*untilYear*/,
5863  9 /*untilMonth*/,
5864  1 /*untilDay*/,
5865  0 /*untilTimeCode (0/15)*/,
5866  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5867  },
5868  // -4:00 - %z 1942 Jun 1
5869  {
5870  nullptr /*zonePolicy*/,
5871  "" /*format*/,
5872  -960 /*offsetCode (-14400/15)*/,
5873  0 /*offsetRemainder (-14400%15)*/,
5874  0 /*deltaMinutes*/,
5875  1942 /*untilYear*/,
5876  6 /*untilMonth*/,
5877  1 /*untilDay*/,
5878  0 /*untilTimeCode (0/15)*/,
5879  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5880  },
5881  // -5:00 - %z 1942 Aug 1
5882  {
5883  nullptr /*zonePolicy*/,
5884  "" /*format*/,
5885  -1200 /*offsetCode (-18000/15)*/,
5886  0 /*offsetRemainder (-18000%15)*/,
5887  0 /*deltaMinutes*/,
5888  1942 /*untilYear*/,
5889  8 /*untilMonth*/,
5890  1 /*untilDay*/,
5891  0 /*untilTimeCode (0/15)*/,
5892  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5893  },
5894  // -4:00 - %z 1946 Aug 28 24:00
5895  {
5896  nullptr /*zonePolicy*/,
5897  "" /*format*/,
5898  -960 /*offsetCode (-14400/15)*/,
5899  0 /*offsetRemainder (-14400%15)*/,
5900  0 /*deltaMinutes*/,
5901  1946 /*untilYear*/,
5902  8 /*untilMonth*/,
5903  28 /*untilDay*/,
5904  5760 /*untilTimeCode (86400/15)*/,
5905  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5906  },
5907  // -5:00 1:00 %z 1947 Mar 31 24:00
5908  {
5909  nullptr /*zonePolicy*/,
5910  "" /*format*/,
5911  -1200 /*offsetCode (-18000/15)*/,
5912  0 /*offsetRemainder (-18000%15)*/,
5913  60 /*deltaMinutes*/,
5914  1947 /*untilYear*/,
5915  3 /*untilMonth*/,
5916  31 /*untilDay*/,
5917  5760 /*untilTimeCode (86400/15)*/,
5918  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5919  },
5920  // -5:00 - %z 1947 May 21 23:00
5921  {
5922  nullptr /*zonePolicy*/,
5923  "" /*format*/,
5924  -1200 /*offsetCode (-18000/15)*/,
5925  0 /*offsetRemainder (-18000%15)*/,
5926  0 /*deltaMinutes*/,
5927  1947 /*untilYear*/,
5928  5 /*untilMonth*/,
5929  21 /*untilDay*/,
5930  5520 /*untilTimeCode (82800/15)*/,
5931  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5932  },
5933  // -4:00 Chile %z 2025 Mar 20
5934  {
5935  &kZonePolicyChile /*zonePolicy*/,
5936  "" /*format*/,
5937  -960 /*offsetCode (-14400/15)*/,
5938  0 /*offsetRemainder (-14400%15)*/,
5939  0 /*deltaMinutes*/,
5940  2025 /*untilYear*/,
5941  3 /*untilMonth*/,
5942  20 /*untilDay*/,
5943  0 /*untilTimeCode (0/15)*/,
5944  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5945  },
5946  // -3:00 - %z
5947  {
5948  nullptr /*zonePolicy*/,
5949  "" /*format*/,
5950  -720 /*offsetCode (-10800/15)*/,
5951  0 /*offsetRemainder (-10800%15)*/,
5952  0 /*deltaMinutes*/,
5953  32767 /*untilYear*/,
5954  1 /*untilMonth*/,
5955  1 /*untilDay*/,
5956  0 /*untilTimeCode (0/15)*/,
5957  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5958  },
5959 
5960 };
5961 
5962 static const char kZoneNameAmerica_Coyhaique[] ACE_TIME_PROGMEM = "\x02" "Coyhaique";
5963 
5964 const complete::Info::ZoneInfo kZoneAmerica_Coyhaique ACE_TIME_PROGMEM = {
5965  kZoneNameAmerica_Coyhaique /*name*/,
5966  0xcc3314ee /*zoneId*/,
5967  &kZoneContext /*zoneContext*/,
5968  14 /*numEras*/,
5969  kZoneEraAmerica_Coyhaique /*eras*/,
5970  nullptr /*targetInfo*/,
5971 };
5972 
5973 //---------------------------------------------------------------------------
5974 // Zone name: America/Cuiaba
5975 // Eras: 4
5976 //---------------------------------------------------------------------------
5977 
5978 static const complete::Info::ZoneEra kZoneEraAmerica_Cuiaba[] ACE_TIME_PROGMEM = {
5979  // -3:44:20 - LMT 1914
5980  {
5981  nullptr /*zonePolicy*/,
5982  "LMT" /*format*/,
5983  -898 /*offsetCode (-13460/15)*/,
5984  10 /*offsetRemainder (-13460%15)*/,
5985  0 /*deltaMinutes*/,
5986  1914 /*untilYear*/,
5987  1 /*untilMonth*/,
5988  1 /*untilDay*/,
5989  0 /*untilTimeCode (0/15)*/,
5990  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5991  },
5992  // -4:00 Brazil %z 2003 Sep 24
5993  {
5994  &kZonePolicyBrazil /*zonePolicy*/,
5995  "" /*format*/,
5996  -960 /*offsetCode (-14400/15)*/,
5997  0 /*offsetRemainder (-14400%15)*/,
5998  0 /*deltaMinutes*/,
5999  2003 /*untilYear*/,
6000  9 /*untilMonth*/,
6001  24 /*untilDay*/,
6002  0 /*untilTimeCode (0/15)*/,
6003  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6004  },
6005  // -4:00 - %z 2004 Oct 1
6006  {
6007  nullptr /*zonePolicy*/,
6008  "" /*format*/,
6009  -960 /*offsetCode (-14400/15)*/,
6010  0 /*offsetRemainder (-14400%15)*/,
6011  0 /*deltaMinutes*/,
6012  2004 /*untilYear*/,
6013  10 /*untilMonth*/,
6014  1 /*untilDay*/,
6015  0 /*untilTimeCode (0/15)*/,
6016  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6017  },
6018  // -4:00 Brazil %z
6019  {
6020  &kZonePolicyBrazil /*zonePolicy*/,
6021  "" /*format*/,
6022  -960 /*offsetCode (-14400/15)*/,
6023  0 /*offsetRemainder (-14400%15)*/,
6024  0 /*deltaMinutes*/,
6025  32767 /*untilYear*/,
6026  1 /*untilMonth*/,
6027  1 /*untilDay*/,
6028  0 /*untilTimeCode (0/15)*/,
6029  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6030  },
6031 
6032 };
6033 
6034 static const char kZoneNameAmerica_Cuiaba[] ACE_TIME_PROGMEM = "\x02" "Cuiaba";
6035 
6036 const complete::Info::ZoneInfo kZoneAmerica_Cuiaba ACE_TIME_PROGMEM = {
6037  kZoneNameAmerica_Cuiaba /*name*/,
6038  0x969a52eb /*zoneId*/,
6039  &kZoneContext /*zoneContext*/,
6040  4 /*numEras*/,
6041  kZoneEraAmerica_Cuiaba /*eras*/,
6042  nullptr /*targetInfo*/,
6043 };
6044 
6045 //---------------------------------------------------------------------------
6046 // Zone name: America/Danmarkshavn
6047 // Eras: 4
6048 //---------------------------------------------------------------------------
6049 
6050 static const complete::Info::ZoneEra kZoneEraAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = {
6051  // -1:14:40 - LMT 1916 Jul 28
6052  {
6053  nullptr /*zonePolicy*/,
6054  "LMT" /*format*/,
6055  -299 /*offsetCode (-4480/15)*/,
6056  5 /*offsetRemainder (-4480%15)*/,
6057  0 /*deltaMinutes*/,
6058  1916 /*untilYear*/,
6059  7 /*untilMonth*/,
6060  28 /*untilDay*/,
6061  0 /*untilTimeCode (0/15)*/,
6062  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6063  },
6064  // -3:00 - %z 1980 Apr 6 2:00
6065  {
6066  nullptr /*zonePolicy*/,
6067  "" /*format*/,
6068  -720 /*offsetCode (-10800/15)*/,
6069  0 /*offsetRemainder (-10800%15)*/,
6070  0 /*deltaMinutes*/,
6071  1980 /*untilYear*/,
6072  4 /*untilMonth*/,
6073  6 /*untilDay*/,
6074  480 /*untilTimeCode (7200/15)*/,
6075  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6076  },
6077  // -3:00 EU %z 1996
6078  {
6079  &kZonePolicyEU /*zonePolicy*/,
6080  "" /*format*/,
6081  -720 /*offsetCode (-10800/15)*/,
6082  0 /*offsetRemainder (-10800%15)*/,
6083  0 /*deltaMinutes*/,
6084  1996 /*untilYear*/,
6085  1 /*untilMonth*/,
6086  1 /*untilDay*/,
6087  0 /*untilTimeCode (0/15)*/,
6088  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6089  },
6090  // 0:00 - GMT
6091  {
6092  nullptr /*zonePolicy*/,
6093  "GMT" /*format*/,
6094  0 /*offsetCode (0/15)*/,
6095  0 /*offsetRemainder (0%15)*/,
6096  0 /*deltaMinutes*/,
6097  32767 /*untilYear*/,
6098  1 /*untilMonth*/,
6099  1 /*untilDay*/,
6100  0 /*untilTimeCode (0/15)*/,
6101  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6102  },
6103 
6104 };
6105 
6106 static const char kZoneNameAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = "\x02" "Danmarkshavn";
6107 
6108 const complete::Info::ZoneInfo kZoneAmerica_Danmarkshavn ACE_TIME_PROGMEM = {
6109  kZoneNameAmerica_Danmarkshavn /*name*/,
6110  0xf554d204 /*zoneId*/,
6111  &kZoneContext /*zoneContext*/,
6112  4 /*numEras*/,
6113  kZoneEraAmerica_Danmarkshavn /*eras*/,
6114  nullptr /*targetInfo*/,
6115 };
6116 
6117 //---------------------------------------------------------------------------
6118 // Zone name: America/Dawson
6119 // Eras: 6
6120 //---------------------------------------------------------------------------
6121 
6122 static const complete::Info::ZoneEra kZoneEraAmerica_Dawson[] ACE_TIME_PROGMEM = {
6123  // -9:17:40 - LMT 1900 Aug 20
6124  {
6125  nullptr /*zonePolicy*/,
6126  "LMT" /*format*/,
6127  -2231 /*offsetCode (-33460/15)*/,
6128  5 /*offsetRemainder (-33460%15)*/,
6129  0 /*deltaMinutes*/,
6130  1900 /*untilYear*/,
6131  8 /*untilMonth*/,
6132  20 /*untilDay*/,
6133  0 /*untilTimeCode (0/15)*/,
6134  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6135  },
6136  // -9:00 NT_YK Y%sT 1965
6137  {
6138  &kZonePolicyNT_YK /*zonePolicy*/,
6139  "Y%T" /*format*/,
6140  -2160 /*offsetCode (-32400/15)*/,
6141  0 /*offsetRemainder (-32400%15)*/,
6142  0 /*deltaMinutes*/,
6143  1965 /*untilYear*/,
6144  1 /*untilMonth*/,
6145  1 /*untilDay*/,
6146  0 /*untilTimeCode (0/15)*/,
6147  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6148  },
6149  // -9:00 Yukon Y%sT 1973 Oct 28 0:00
6150  {
6151  &kZonePolicyYukon /*zonePolicy*/,
6152  "Y%T" /*format*/,
6153  -2160 /*offsetCode (-32400/15)*/,
6154  0 /*offsetRemainder (-32400%15)*/,
6155  0 /*deltaMinutes*/,
6156  1973 /*untilYear*/,
6157  10 /*untilMonth*/,
6158  28 /*untilDay*/,
6159  0 /*untilTimeCode (0/15)*/,
6160  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6161  },
6162  // -8:00 - PST 1980
6163  {
6164  nullptr /*zonePolicy*/,
6165  "PST" /*format*/,
6166  -1920 /*offsetCode (-28800/15)*/,
6167  0 /*offsetRemainder (-28800%15)*/,
6168  0 /*deltaMinutes*/,
6169  1980 /*untilYear*/,
6170  1 /*untilMonth*/,
6171  1 /*untilDay*/,
6172  0 /*untilTimeCode (0/15)*/,
6173  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6174  },
6175  // -8:00 Canada P%sT 2020 Nov 1
6176  {
6177  &kZonePolicyCanada /*zonePolicy*/,
6178  "P%T" /*format*/,
6179  -1920 /*offsetCode (-28800/15)*/,
6180  0 /*offsetRemainder (-28800%15)*/,
6181  0 /*deltaMinutes*/,
6182  2020 /*untilYear*/,
6183  11 /*untilMonth*/,
6184  1 /*untilDay*/,
6185  0 /*untilTimeCode (0/15)*/,
6186  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6187  },
6188  // -7:00 - MST
6189  {
6190  nullptr /*zonePolicy*/,
6191  "MST" /*format*/,
6192  -1680 /*offsetCode (-25200/15)*/,
6193  0 /*offsetRemainder (-25200%15)*/,
6194  0 /*deltaMinutes*/,
6195  32767 /*untilYear*/,
6196  1 /*untilMonth*/,
6197  1 /*untilDay*/,
6198  0 /*untilTimeCode (0/15)*/,
6199  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6200  },
6201 
6202 };
6203 
6204 static const char kZoneNameAmerica_Dawson[] ACE_TIME_PROGMEM = "\x02" "Dawson";
6205 
6206 const complete::Info::ZoneInfo kZoneAmerica_Dawson ACE_TIME_PROGMEM = {
6207  kZoneNameAmerica_Dawson /*name*/,
6208  0x978d8d12 /*zoneId*/,
6209  &kZoneContext /*zoneContext*/,
6210  6 /*numEras*/,
6211  kZoneEraAmerica_Dawson /*eras*/,
6212  nullptr /*targetInfo*/,
6213 };
6214 
6215 //---------------------------------------------------------------------------
6216 // Zone name: America/Dawson_Creek
6217 // Eras: 4
6218 //---------------------------------------------------------------------------
6219 
6220 static const complete::Info::ZoneEra kZoneEraAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = {
6221  // -8:00:56 - LMT 1884
6222  {
6223  nullptr /*zonePolicy*/,
6224  "LMT" /*format*/,
6225  -1924 /*offsetCode (-28856/15)*/,
6226  4 /*offsetRemainder (-28856%15)*/,
6227  0 /*deltaMinutes*/,
6228  1884 /*untilYear*/,
6229  1 /*untilMonth*/,
6230  1 /*untilDay*/,
6231  0 /*untilTimeCode (0/15)*/,
6232  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6233  },
6234  // -8:00 Canada P%sT 1947
6235  {
6236  &kZonePolicyCanada /*zonePolicy*/,
6237  "P%T" /*format*/,
6238  -1920 /*offsetCode (-28800/15)*/,
6239  0 /*offsetRemainder (-28800%15)*/,
6240  0 /*deltaMinutes*/,
6241  1947 /*untilYear*/,
6242  1 /*untilMonth*/,
6243  1 /*untilDay*/,
6244  0 /*untilTimeCode (0/15)*/,
6245  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6246  },
6247  // -8:00 Vanc P%sT 1972 Aug 30 2:00
6248  {
6249  &kZonePolicyVanc /*zonePolicy*/,
6250  "P%T" /*format*/,
6251  -1920 /*offsetCode (-28800/15)*/,
6252  0 /*offsetRemainder (-28800%15)*/,
6253  0 /*deltaMinutes*/,
6254  1972 /*untilYear*/,
6255  8 /*untilMonth*/,
6256  30 /*untilDay*/,
6257  480 /*untilTimeCode (7200/15)*/,
6258  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6259  },
6260  // -7:00 - MST
6261  {
6262  nullptr /*zonePolicy*/,
6263  "MST" /*format*/,
6264  -1680 /*offsetCode (-25200/15)*/,
6265  0 /*offsetRemainder (-25200%15)*/,
6266  0 /*deltaMinutes*/,
6267  32767 /*untilYear*/,
6268  1 /*untilMonth*/,
6269  1 /*untilDay*/,
6270  0 /*untilTimeCode (0/15)*/,
6271  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6272  },
6273 
6274 };
6275 
6276 static const char kZoneNameAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = "\x02" "Dawson_Creek";
6277 
6278 const complete::Info::ZoneInfo kZoneAmerica_Dawson_Creek ACE_TIME_PROGMEM = {
6279  kZoneNameAmerica_Dawson_Creek /*name*/,
6280  0x6cf24e5b /*zoneId*/,
6281  &kZoneContext /*zoneContext*/,
6282  4 /*numEras*/,
6283  kZoneEraAmerica_Dawson_Creek /*eras*/,
6284  nullptr /*targetInfo*/,
6285 };
6286 
6287 //---------------------------------------------------------------------------
6288 // Zone name: America/Denver
6289 // Eras: 6
6290 //---------------------------------------------------------------------------
6291 
6292 static const complete::Info::ZoneEra kZoneEraAmerica_Denver[] ACE_TIME_PROGMEM = {
6293  // -6:59:56 - LMT 1883 Nov 18 19:00u
6294  {
6295  nullptr /*zonePolicy*/,
6296  "LMT" /*format*/,
6297  -1680 /*offsetCode (-25196/15)*/,
6298  4 /*offsetRemainder (-25196%15)*/,
6299  0 /*deltaMinutes*/,
6300  1883 /*untilYear*/,
6301  11 /*untilMonth*/,
6302  18 /*untilDay*/,
6303  4560 /*untilTimeCode (68400/15)*/,
6304  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
6305  },
6306  // -7:00 US M%sT 1920
6307  {
6308  &kZonePolicyUS /*zonePolicy*/,
6309  "M%T" /*format*/,
6310  -1680 /*offsetCode (-25200/15)*/,
6311  0 /*offsetRemainder (-25200%15)*/,
6312  0 /*deltaMinutes*/,
6313  1920 /*untilYear*/,
6314  1 /*untilMonth*/,
6315  1 /*untilDay*/,
6316  0 /*untilTimeCode (0/15)*/,
6317  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6318  },
6319  // -7:00 Denver M%sT 1942
6320  {
6321  &kZonePolicyDenver /*zonePolicy*/,
6322  "M%T" /*format*/,
6323  -1680 /*offsetCode (-25200/15)*/,
6324  0 /*offsetRemainder (-25200%15)*/,
6325  0 /*deltaMinutes*/,
6326  1942 /*untilYear*/,
6327  1 /*untilMonth*/,
6328  1 /*untilDay*/,
6329  0 /*untilTimeCode (0/15)*/,
6330  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6331  },
6332  // -7:00 US M%sT 1946
6333  {
6334  &kZonePolicyUS /*zonePolicy*/,
6335  "M%T" /*format*/,
6336  -1680 /*offsetCode (-25200/15)*/,
6337  0 /*offsetRemainder (-25200%15)*/,
6338  0 /*deltaMinutes*/,
6339  1946 /*untilYear*/,
6340  1 /*untilMonth*/,
6341  1 /*untilDay*/,
6342  0 /*untilTimeCode (0/15)*/,
6343  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6344  },
6345  // -7:00 Denver M%sT 1967
6346  {
6347  &kZonePolicyDenver /*zonePolicy*/,
6348  "M%T" /*format*/,
6349  -1680 /*offsetCode (-25200/15)*/,
6350  0 /*offsetRemainder (-25200%15)*/,
6351  0 /*deltaMinutes*/,
6352  1967 /*untilYear*/,
6353  1 /*untilMonth*/,
6354  1 /*untilDay*/,
6355  0 /*untilTimeCode (0/15)*/,
6356  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6357  },
6358  // -7:00 US M%sT
6359  {
6360  &kZonePolicyUS /*zonePolicy*/,
6361  "M%T" /*format*/,
6362  -1680 /*offsetCode (-25200/15)*/,
6363  0 /*offsetRemainder (-25200%15)*/,
6364  0 /*deltaMinutes*/,
6365  32767 /*untilYear*/,
6366  1 /*untilMonth*/,
6367  1 /*untilDay*/,
6368  0 /*untilTimeCode (0/15)*/,
6369  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6370  },
6371 
6372 };
6373 
6374 static const char kZoneNameAmerica_Denver[] ACE_TIME_PROGMEM = "\x02" "Denver";
6375 
6376 const complete::Info::ZoneInfo kZoneAmerica_Denver ACE_TIME_PROGMEM = {
6377  kZoneNameAmerica_Denver /*name*/,
6378  0x97d10b2a /*zoneId*/,
6379  &kZoneContext /*zoneContext*/,
6380  6 /*numEras*/,
6381  kZoneEraAmerica_Denver /*eras*/,
6382  nullptr /*targetInfo*/,
6383 };
6384 
6385 //---------------------------------------------------------------------------
6386 // Zone name: America/Detroit
6387 // Eras: 10
6388 //---------------------------------------------------------------------------
6389 
6390 static const complete::Info::ZoneEra kZoneEraAmerica_Detroit[] ACE_TIME_PROGMEM = {
6391  // -5:32:11 - LMT 1905
6392  {
6393  nullptr /*zonePolicy*/,
6394  "LMT" /*format*/,
6395  -1329 /*offsetCode (-19931/15)*/,
6396  4 /*offsetRemainder (-19931%15)*/,
6397  0 /*deltaMinutes*/,
6398  1905 /*untilYear*/,
6399  1 /*untilMonth*/,
6400  1 /*untilDay*/,
6401  0 /*untilTimeCode (0/15)*/,
6402  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6403  },
6404  // -6:00 - CST 1915 May 15 2:00
6405  {
6406  nullptr /*zonePolicy*/,
6407  "CST" /*format*/,
6408  -1440 /*offsetCode (-21600/15)*/,
6409  0 /*offsetRemainder (-21600%15)*/,
6410  0 /*deltaMinutes*/,
6411  1915 /*untilYear*/,
6412  5 /*untilMonth*/,
6413  15 /*untilDay*/,
6414  480 /*untilTimeCode (7200/15)*/,
6415  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6416  },
6417  // -5:00 - EST 1942
6418  {
6419  nullptr /*zonePolicy*/,
6420  "EST" /*format*/,
6421  -1200 /*offsetCode (-18000/15)*/,
6422  0 /*offsetRemainder (-18000%15)*/,
6423  0 /*deltaMinutes*/,
6424  1942 /*untilYear*/,
6425  1 /*untilMonth*/,
6426  1 /*untilDay*/,
6427  0 /*untilTimeCode (0/15)*/,
6428  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6429  },
6430  // -5:00 US E%sT 1946
6431  {
6432  &kZonePolicyUS /*zonePolicy*/,
6433  "E%T" /*format*/,
6434  -1200 /*offsetCode (-18000/15)*/,
6435  0 /*offsetRemainder (-18000%15)*/,
6436  0 /*deltaMinutes*/,
6437  1946 /*untilYear*/,
6438  1 /*untilMonth*/,
6439  1 /*untilDay*/,
6440  0 /*untilTimeCode (0/15)*/,
6441  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6442  },
6443  // -5:00 Detroit E%sT 1967 Jun 14 0:01
6444  {
6445  &kZonePolicyDetroit /*zonePolicy*/,
6446  "E%T" /*format*/,
6447  -1200 /*offsetCode (-18000/15)*/,
6448  0 /*offsetRemainder (-18000%15)*/,
6449  0 /*deltaMinutes*/,
6450  1967 /*untilYear*/,
6451  6 /*untilMonth*/,
6452  14 /*untilDay*/,
6453  4 /*untilTimeCode (60/15)*/,
6454  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6455  },
6456  // -5:00 US E%sT 1969
6457  {
6458  &kZonePolicyUS /*zonePolicy*/,
6459  "E%T" /*format*/,
6460  -1200 /*offsetCode (-18000/15)*/,
6461  0 /*offsetRemainder (-18000%15)*/,
6462  0 /*deltaMinutes*/,
6463  1969 /*untilYear*/,
6464  1 /*untilMonth*/,
6465  1 /*untilDay*/,
6466  0 /*untilTimeCode (0/15)*/,
6467  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6468  },
6469  // -5:00 - EST 1973
6470  {
6471  nullptr /*zonePolicy*/,
6472  "EST" /*format*/,
6473  -1200 /*offsetCode (-18000/15)*/,
6474  0 /*offsetRemainder (-18000%15)*/,
6475  0 /*deltaMinutes*/,
6476  1973 /*untilYear*/,
6477  1 /*untilMonth*/,
6478  1 /*untilDay*/,
6479  0 /*untilTimeCode (0/15)*/,
6480  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6481  },
6482  // -5:00 US E%sT 1975
6483  {
6484  &kZonePolicyUS /*zonePolicy*/,
6485  "E%T" /*format*/,
6486  -1200 /*offsetCode (-18000/15)*/,
6487  0 /*offsetRemainder (-18000%15)*/,
6488  0 /*deltaMinutes*/,
6489  1975 /*untilYear*/,
6490  1 /*untilMonth*/,
6491  1 /*untilDay*/,
6492  0 /*untilTimeCode (0/15)*/,
6493  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6494  },
6495  // -5:00 - EST 1975 Apr 27 2:00
6496  {
6497  nullptr /*zonePolicy*/,
6498  "EST" /*format*/,
6499  -1200 /*offsetCode (-18000/15)*/,
6500  0 /*offsetRemainder (-18000%15)*/,
6501  0 /*deltaMinutes*/,
6502  1975 /*untilYear*/,
6503  4 /*untilMonth*/,
6504  27 /*untilDay*/,
6505  480 /*untilTimeCode (7200/15)*/,
6506  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6507  },
6508  // -5:00 US E%sT
6509  {
6510  &kZonePolicyUS /*zonePolicy*/,
6511  "E%T" /*format*/,
6512  -1200 /*offsetCode (-18000/15)*/,
6513  0 /*offsetRemainder (-18000%15)*/,
6514  0 /*deltaMinutes*/,
6515  32767 /*untilYear*/,
6516  1 /*untilMonth*/,
6517  1 /*untilDay*/,
6518  0 /*untilTimeCode (0/15)*/,
6519  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6520  },
6521 
6522 };
6523 
6524 static const char kZoneNameAmerica_Detroit[] ACE_TIME_PROGMEM = "\x02" "Detroit";
6525 
6526 const complete::Info::ZoneInfo kZoneAmerica_Detroit ACE_TIME_PROGMEM = {
6527  kZoneNameAmerica_Detroit /*name*/,
6528  0x925cfbc1 /*zoneId*/,
6529  &kZoneContext /*zoneContext*/,
6530  10 /*numEras*/,
6531  kZoneEraAmerica_Detroit /*eras*/,
6532  nullptr /*targetInfo*/,
6533 };
6534 
6535 //---------------------------------------------------------------------------
6536 // Zone name: America/Edmonton
6537 // Eras: 3
6538 //---------------------------------------------------------------------------
6539 
6540 static const complete::Info::ZoneEra kZoneEraAmerica_Edmonton[] ACE_TIME_PROGMEM = {
6541  // -7:33:52 - LMT 1906 Sep
6542  {
6543  nullptr /*zonePolicy*/,
6544  "LMT" /*format*/,
6545  -1816 /*offsetCode (-27232/15)*/,
6546  8 /*offsetRemainder (-27232%15)*/,
6547  0 /*deltaMinutes*/,
6548  1906 /*untilYear*/,
6549  9 /*untilMonth*/,
6550  1 /*untilDay*/,
6551  0 /*untilTimeCode (0/15)*/,
6552  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6553  },
6554  // -7:00 Edm M%sT 1987
6555  {
6556  &kZonePolicyEdm /*zonePolicy*/,
6557  "M%T" /*format*/,
6558  -1680 /*offsetCode (-25200/15)*/,
6559  0 /*offsetRemainder (-25200%15)*/,
6560  0 /*deltaMinutes*/,
6561  1987 /*untilYear*/,
6562  1 /*untilMonth*/,
6563  1 /*untilDay*/,
6564  0 /*untilTimeCode (0/15)*/,
6565  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6566  },
6567  // -7:00 Canada M%sT
6568  {
6569  &kZonePolicyCanada /*zonePolicy*/,
6570  "M%T" /*format*/,
6571  -1680 /*offsetCode (-25200/15)*/,
6572  0 /*offsetRemainder (-25200%15)*/,
6573  0 /*deltaMinutes*/,
6574  32767 /*untilYear*/,
6575  1 /*untilMonth*/,
6576  1 /*untilDay*/,
6577  0 /*untilTimeCode (0/15)*/,
6578  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6579  },
6580 
6581 };
6582 
6583 static const char kZoneNameAmerica_Edmonton[] ACE_TIME_PROGMEM = "\x02" "Edmonton";
6584 
6585 const complete::Info::ZoneInfo kZoneAmerica_Edmonton ACE_TIME_PROGMEM = {
6586  kZoneNameAmerica_Edmonton /*name*/,
6587  0x6cb9484a /*zoneId*/,
6588  &kZoneContext /*zoneContext*/,
6589  3 /*numEras*/,
6590  kZoneEraAmerica_Edmonton /*eras*/,
6591  nullptr /*targetInfo*/,
6592 };
6593 
6594 //---------------------------------------------------------------------------
6595 // Zone name: America/Eirunepe
6596 // Eras: 7
6597 //---------------------------------------------------------------------------
6598 
6599 static const complete::Info::ZoneEra kZoneEraAmerica_Eirunepe[] ACE_TIME_PROGMEM = {
6600  // -4:39:28 - LMT 1914
6601  {
6602  nullptr /*zonePolicy*/,
6603  "LMT" /*format*/,
6604  -1118 /*offsetCode (-16768/15)*/,
6605  2 /*offsetRemainder (-16768%15)*/,
6606  0 /*deltaMinutes*/,
6607  1914 /*untilYear*/,
6608  1 /*untilMonth*/,
6609  1 /*untilDay*/,
6610  0 /*untilTimeCode (0/15)*/,
6611  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6612  },
6613  // -5:00 Brazil %z 1988 Sep 12
6614  {
6615  &kZonePolicyBrazil /*zonePolicy*/,
6616  "" /*format*/,
6617  -1200 /*offsetCode (-18000/15)*/,
6618  0 /*offsetRemainder (-18000%15)*/,
6619  0 /*deltaMinutes*/,
6620  1988 /*untilYear*/,
6621  9 /*untilMonth*/,
6622  12 /*untilDay*/,
6623  0 /*untilTimeCode (0/15)*/,
6624  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6625  },
6626  // -5:00 - %z 1993 Sep 28
6627  {
6628  nullptr /*zonePolicy*/,
6629  "" /*format*/,
6630  -1200 /*offsetCode (-18000/15)*/,
6631  0 /*offsetRemainder (-18000%15)*/,
6632  0 /*deltaMinutes*/,
6633  1993 /*untilYear*/,
6634  9 /*untilMonth*/,
6635  28 /*untilDay*/,
6636  0 /*untilTimeCode (0/15)*/,
6637  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6638  },
6639  // -5:00 Brazil %z 1994 Sep 22
6640  {
6641  &kZonePolicyBrazil /*zonePolicy*/,
6642  "" /*format*/,
6643  -1200 /*offsetCode (-18000/15)*/,
6644  0 /*offsetRemainder (-18000%15)*/,
6645  0 /*deltaMinutes*/,
6646  1994 /*untilYear*/,
6647  9 /*untilMonth*/,
6648  22 /*untilDay*/,
6649  0 /*untilTimeCode (0/15)*/,
6650  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6651  },
6652  // -5:00 - %z 2008 Jun 24 0:00
6653  {
6654  nullptr /*zonePolicy*/,
6655  "" /*format*/,
6656  -1200 /*offsetCode (-18000/15)*/,
6657  0 /*offsetRemainder (-18000%15)*/,
6658  0 /*deltaMinutes*/,
6659  2008 /*untilYear*/,
6660  6 /*untilMonth*/,
6661  24 /*untilDay*/,
6662  0 /*untilTimeCode (0/15)*/,
6663  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6664  },
6665  // -4:00 - %z 2013 Nov 10
6666  {
6667  nullptr /*zonePolicy*/,
6668  "" /*format*/,
6669  -960 /*offsetCode (-14400/15)*/,
6670  0 /*offsetRemainder (-14400%15)*/,
6671  0 /*deltaMinutes*/,
6672  2013 /*untilYear*/,
6673  11 /*untilMonth*/,
6674  10 /*untilDay*/,
6675  0 /*untilTimeCode (0/15)*/,
6676  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6677  },
6678  // -5:00 - %z
6679  {
6680  nullptr /*zonePolicy*/,
6681  "" /*format*/,
6682  -1200 /*offsetCode (-18000/15)*/,
6683  0 /*offsetRemainder (-18000%15)*/,
6684  0 /*deltaMinutes*/,
6685  32767 /*untilYear*/,
6686  1 /*untilMonth*/,
6687  1 /*untilDay*/,
6688  0 /*untilTimeCode (0/15)*/,
6689  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6690  },
6691 
6692 };
6693 
6694 static const char kZoneNameAmerica_Eirunepe[] ACE_TIME_PROGMEM = "\x02" "Eirunepe";
6695 
6696 const complete::Info::ZoneInfo kZoneAmerica_Eirunepe ACE_TIME_PROGMEM = {
6697  kZoneNameAmerica_Eirunepe /*name*/,
6698  0xf9b29683 /*zoneId*/,
6699  &kZoneContext /*zoneContext*/,
6700  7 /*numEras*/,
6701  kZoneEraAmerica_Eirunepe /*eras*/,
6702  nullptr /*targetInfo*/,
6703 };
6704 
6705 //---------------------------------------------------------------------------
6706 // Zone name: America/El_Salvador
6707 // Eras: 2
6708 //---------------------------------------------------------------------------
6709 
6710 static const complete::Info::ZoneEra kZoneEraAmerica_El_Salvador[] ACE_TIME_PROGMEM = {
6711  // -5:56:48 - LMT 1921
6712  {
6713  nullptr /*zonePolicy*/,
6714  "LMT" /*format*/,
6715  -1428 /*offsetCode (-21408/15)*/,
6716  12 /*offsetRemainder (-21408%15)*/,
6717  0 /*deltaMinutes*/,
6718  1921 /*untilYear*/,
6719  1 /*untilMonth*/,
6720  1 /*untilDay*/,
6721  0 /*untilTimeCode (0/15)*/,
6722  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6723  },
6724  // -6:00 Salv C%sT
6725  {
6726  &kZonePolicySalv /*zonePolicy*/,
6727  "C%T" /*format*/,
6728  -1440 /*offsetCode (-21600/15)*/,
6729  0 /*offsetRemainder (-21600%15)*/,
6730  0 /*deltaMinutes*/,
6731  32767 /*untilYear*/,
6732  1 /*untilMonth*/,
6733  1 /*untilDay*/,
6734  0 /*untilTimeCode (0/15)*/,
6735  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6736  },
6737 
6738 };
6739 
6740 static const char kZoneNameAmerica_El_Salvador[] ACE_TIME_PROGMEM = "\x02" "El_Salvador";
6741 
6742 const complete::Info::ZoneInfo kZoneAmerica_El_Salvador ACE_TIME_PROGMEM = {
6743  kZoneNameAmerica_El_Salvador /*name*/,
6744  0x752ad652 /*zoneId*/,
6745  &kZoneContext /*zoneContext*/,
6746  2 /*numEras*/,
6747  kZoneEraAmerica_El_Salvador /*eras*/,
6748  nullptr /*targetInfo*/,
6749 };
6750 
6751 //---------------------------------------------------------------------------
6752 // Zone name: America/Fort_Nelson
6753 // Eras: 6
6754 //---------------------------------------------------------------------------
6755 
6756 static const complete::Info::ZoneEra kZoneEraAmerica_Fort_Nelson[] ACE_TIME_PROGMEM = {
6757  // -8:10:47 - LMT 1884
6758  {
6759  nullptr /*zonePolicy*/,
6760  "LMT" /*format*/,
6761  -1964 /*offsetCode (-29447/15)*/,
6762  13 /*offsetRemainder (-29447%15)*/,
6763  0 /*deltaMinutes*/,
6764  1884 /*untilYear*/,
6765  1 /*untilMonth*/,
6766  1 /*untilDay*/,
6767  0 /*untilTimeCode (0/15)*/,
6768  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6769  },
6770  // -8:00 Vanc P%sT 1946
6771  {
6772  &kZonePolicyVanc /*zonePolicy*/,
6773  "P%T" /*format*/,
6774  -1920 /*offsetCode (-28800/15)*/,
6775  0 /*offsetRemainder (-28800%15)*/,
6776  0 /*deltaMinutes*/,
6777  1946 /*untilYear*/,
6778  1 /*untilMonth*/,
6779  1 /*untilDay*/,
6780  0 /*untilTimeCode (0/15)*/,
6781  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6782  },
6783  // -8:00 - PST 1947
6784  {
6785  nullptr /*zonePolicy*/,
6786  "PST" /*format*/,
6787  -1920 /*offsetCode (-28800/15)*/,
6788  0 /*offsetRemainder (-28800%15)*/,
6789  0 /*deltaMinutes*/,
6790  1947 /*untilYear*/,
6791  1 /*untilMonth*/,
6792  1 /*untilDay*/,
6793  0 /*untilTimeCode (0/15)*/,
6794  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6795  },
6796  // -8:00 Vanc P%sT 1987
6797  {
6798  &kZonePolicyVanc /*zonePolicy*/,
6799  "P%T" /*format*/,
6800  -1920 /*offsetCode (-28800/15)*/,
6801  0 /*offsetRemainder (-28800%15)*/,
6802  0 /*deltaMinutes*/,
6803  1987 /*untilYear*/,
6804  1 /*untilMonth*/,
6805  1 /*untilDay*/,
6806  0 /*untilTimeCode (0/15)*/,
6807  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6808  },
6809  // -8:00 Canada P%sT 2015 Mar 8 2:00
6810  {
6811  &kZonePolicyCanada /*zonePolicy*/,
6812  "P%T" /*format*/,
6813  -1920 /*offsetCode (-28800/15)*/,
6814  0 /*offsetRemainder (-28800%15)*/,
6815  0 /*deltaMinutes*/,
6816  2015 /*untilYear*/,
6817  3 /*untilMonth*/,
6818  8 /*untilDay*/,
6819  480 /*untilTimeCode (7200/15)*/,
6820  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6821  },
6822  // -7:00 - MST
6823  {
6824  nullptr /*zonePolicy*/,
6825  "MST" /*format*/,
6826  -1680 /*offsetCode (-25200/15)*/,
6827  0 /*offsetRemainder (-25200%15)*/,
6828  0 /*deltaMinutes*/,
6829  32767 /*untilYear*/,
6830  1 /*untilMonth*/,
6831  1 /*untilDay*/,
6832  0 /*untilTimeCode (0/15)*/,
6833  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6834  },
6835 
6836 };
6837 
6838 static const char kZoneNameAmerica_Fort_Nelson[] ACE_TIME_PROGMEM = "\x02" "Fort_Nelson";
6839 
6840 const complete::Info::ZoneInfo kZoneAmerica_Fort_Nelson ACE_TIME_PROGMEM = {
6841  kZoneNameAmerica_Fort_Nelson /*name*/,
6842  0x3f437e0f /*zoneId*/,
6843  &kZoneContext /*zoneContext*/,
6844  6 /*numEras*/,
6845  kZoneEraAmerica_Fort_Nelson /*eras*/,
6846  nullptr /*targetInfo*/,
6847 };
6848 
6849 //---------------------------------------------------------------------------
6850 // Zone name: America/Fortaleza
6851 // Eras: 7
6852 //---------------------------------------------------------------------------
6853 
6854 static const complete::Info::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = {
6855  // -2:34:00 - LMT 1914
6856  {
6857  nullptr /*zonePolicy*/,
6858  "LMT" /*format*/,
6859  -616 /*offsetCode (-9240/15)*/,
6860  0 /*offsetRemainder (-9240%15)*/,
6861  0 /*deltaMinutes*/,
6862  1914 /*untilYear*/,
6863  1 /*untilMonth*/,
6864  1 /*untilDay*/,
6865  0 /*untilTimeCode (0/15)*/,
6866  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6867  },
6868  // -3:00 Brazil %z 1990 Sep 17
6869  {
6870  &kZonePolicyBrazil /*zonePolicy*/,
6871  "" /*format*/,
6872  -720 /*offsetCode (-10800/15)*/,
6873  0 /*offsetRemainder (-10800%15)*/,
6874  0 /*deltaMinutes*/,
6875  1990 /*untilYear*/,
6876  9 /*untilMonth*/,
6877  17 /*untilDay*/,
6878  0 /*untilTimeCode (0/15)*/,
6879  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6880  },
6881  // -3:00 - %z 1999 Sep 30
6882  {
6883  nullptr /*zonePolicy*/,
6884  "" /*format*/,
6885  -720 /*offsetCode (-10800/15)*/,
6886  0 /*offsetRemainder (-10800%15)*/,
6887  0 /*deltaMinutes*/,
6888  1999 /*untilYear*/,
6889  9 /*untilMonth*/,
6890  30 /*untilDay*/,
6891  0 /*untilTimeCode (0/15)*/,
6892  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6893  },
6894  // -3:00 Brazil %z 2000 Oct 22
6895  {
6896  &kZonePolicyBrazil /*zonePolicy*/,
6897  "" /*format*/,
6898  -720 /*offsetCode (-10800/15)*/,
6899  0 /*offsetRemainder (-10800%15)*/,
6900  0 /*deltaMinutes*/,
6901  2000 /*untilYear*/,
6902  10 /*untilMonth*/,
6903  22 /*untilDay*/,
6904  0 /*untilTimeCode (0/15)*/,
6905  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6906  },
6907  // -3:00 - %z 2001 Sep 13
6908  {
6909  nullptr /*zonePolicy*/,
6910  "" /*format*/,
6911  -720 /*offsetCode (-10800/15)*/,
6912  0 /*offsetRemainder (-10800%15)*/,
6913  0 /*deltaMinutes*/,
6914  2001 /*untilYear*/,
6915  9 /*untilMonth*/,
6916  13 /*untilDay*/,
6917  0 /*untilTimeCode (0/15)*/,
6918  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6919  },
6920  // -3:00 Brazil %z 2002 Oct 1
6921  {
6922  &kZonePolicyBrazil /*zonePolicy*/,
6923  "" /*format*/,
6924  -720 /*offsetCode (-10800/15)*/,
6925  0 /*offsetRemainder (-10800%15)*/,
6926  0 /*deltaMinutes*/,
6927  2002 /*untilYear*/,
6928  10 /*untilMonth*/,
6929  1 /*untilDay*/,
6930  0 /*untilTimeCode (0/15)*/,
6931  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6932  },
6933  // -3:00 - %z
6934  {
6935  nullptr /*zonePolicy*/,
6936  "" /*format*/,
6937  -720 /*offsetCode (-10800/15)*/,
6938  0 /*offsetRemainder (-10800%15)*/,
6939  0 /*deltaMinutes*/,
6940  32767 /*untilYear*/,
6941  1 /*untilMonth*/,
6942  1 /*untilDay*/,
6943  0 /*untilTimeCode (0/15)*/,
6944  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6945  },
6946 
6947 };
6948 
6949 static const char kZoneNameAmerica_Fortaleza[] ACE_TIME_PROGMEM = "\x02" "Fortaleza";
6950 
6951 const complete::Info::ZoneInfo kZoneAmerica_Fortaleza ACE_TIME_PROGMEM = {
6952  kZoneNameAmerica_Fortaleza /*name*/,
6953  0x2ad018ee /*zoneId*/,
6954  &kZoneContext /*zoneContext*/,
6955  7 /*numEras*/,
6956  kZoneEraAmerica_Fortaleza /*eras*/,
6957  nullptr /*targetInfo*/,
6958 };
6959 
6960 //---------------------------------------------------------------------------
6961 // Zone name: America/Glace_Bay
6962 // Eras: 6
6963 //---------------------------------------------------------------------------
6964 
6965 static const complete::Info::ZoneEra kZoneEraAmerica_Glace_Bay[] ACE_TIME_PROGMEM = {
6966  // -3:59:48 - LMT 1902 Jun 15
6967  {
6968  nullptr /*zonePolicy*/,
6969  "LMT" /*format*/,
6970  -960 /*offsetCode (-14388/15)*/,
6971  12 /*offsetRemainder (-14388%15)*/,
6972  0 /*deltaMinutes*/,
6973  1902 /*untilYear*/,
6974  6 /*untilMonth*/,
6975  15 /*untilDay*/,
6976  0 /*untilTimeCode (0/15)*/,
6977  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6978  },
6979  // -4:00 Canada A%sT 1953
6980  {
6981  &kZonePolicyCanada /*zonePolicy*/,
6982  "A%T" /*format*/,
6983  -960 /*offsetCode (-14400/15)*/,
6984  0 /*offsetRemainder (-14400%15)*/,
6985  0 /*deltaMinutes*/,
6986  1953 /*untilYear*/,
6987  1 /*untilMonth*/,
6988  1 /*untilDay*/,
6989  0 /*untilTimeCode (0/15)*/,
6990  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6991  },
6992  // -4:00 Halifax A%sT 1954
6993  {
6994  &kZonePolicyHalifax /*zonePolicy*/,
6995  "A%T" /*format*/,
6996  -960 /*offsetCode (-14400/15)*/,
6997  0 /*offsetRemainder (-14400%15)*/,
6998  0 /*deltaMinutes*/,
6999  1954 /*untilYear*/,
7000  1 /*untilMonth*/,
7001  1 /*untilDay*/,
7002  0 /*untilTimeCode (0/15)*/,
7003  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7004  },
7005  // -4:00 - AST 1972
7006  {
7007  nullptr /*zonePolicy*/,
7008  "AST" /*format*/,
7009  -960 /*offsetCode (-14400/15)*/,
7010  0 /*offsetRemainder (-14400%15)*/,
7011  0 /*deltaMinutes*/,
7012  1972 /*untilYear*/,
7013  1 /*untilMonth*/,
7014  1 /*untilDay*/,
7015  0 /*untilTimeCode (0/15)*/,
7016  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7017  },
7018  // -4:00 Halifax A%sT 1974
7019  {
7020  &kZonePolicyHalifax /*zonePolicy*/,
7021  "A%T" /*format*/,
7022  -960 /*offsetCode (-14400/15)*/,
7023  0 /*offsetRemainder (-14400%15)*/,
7024  0 /*deltaMinutes*/,
7025  1974 /*untilYear*/,
7026  1 /*untilMonth*/,
7027  1 /*untilDay*/,
7028  0 /*untilTimeCode (0/15)*/,
7029  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7030  },
7031  // -4:00 Canada A%sT
7032  {
7033  &kZonePolicyCanada /*zonePolicy*/,
7034  "A%T" /*format*/,
7035  -960 /*offsetCode (-14400/15)*/,
7036  0 /*offsetRemainder (-14400%15)*/,
7037  0 /*deltaMinutes*/,
7038  32767 /*untilYear*/,
7039  1 /*untilMonth*/,
7040  1 /*untilDay*/,
7041  0 /*untilTimeCode (0/15)*/,
7042  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7043  },
7044 
7045 };
7046 
7047 static const char kZoneNameAmerica_Glace_Bay[] ACE_TIME_PROGMEM = "\x02" "Glace_Bay";
7048 
7049 const complete::Info::ZoneInfo kZoneAmerica_Glace_Bay ACE_TIME_PROGMEM = {
7050  kZoneNameAmerica_Glace_Bay /*name*/,
7051  0x9681f8dd /*zoneId*/,
7052  &kZoneContext /*zoneContext*/,
7053  6 /*numEras*/,
7054  kZoneEraAmerica_Glace_Bay /*eras*/,
7055  nullptr /*targetInfo*/,
7056 };
7057 
7058 //---------------------------------------------------------------------------
7059 // Zone name: America/Goose_Bay
7060 // Eras: 10
7061 //---------------------------------------------------------------------------
7062 
7063 static const complete::Info::ZoneEra kZoneEraAmerica_Goose_Bay[] ACE_TIME_PROGMEM = {
7064  // -4:01:40 - LMT 1884
7065  {
7066  nullptr /*zonePolicy*/,
7067  "LMT" /*format*/,
7068  -967 /*offsetCode (-14500/15)*/,
7069  5 /*offsetRemainder (-14500%15)*/,
7070  0 /*deltaMinutes*/,
7071  1884 /*untilYear*/,
7072  1 /*untilMonth*/,
7073  1 /*untilDay*/,
7074  0 /*untilTimeCode (0/15)*/,
7075  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7076  },
7077  // -3:30:52 - NST 1918
7078  {
7079  nullptr /*zonePolicy*/,
7080  "NST" /*format*/,
7081  -844 /*offsetCode (-12652/15)*/,
7082  8 /*offsetRemainder (-12652%15)*/,
7083  0 /*deltaMinutes*/,
7084  1918 /*untilYear*/,
7085  1 /*untilMonth*/,
7086  1 /*untilDay*/,
7087  0 /*untilTimeCode (0/15)*/,
7088  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7089  },
7090  // -3:30:52 Canada N%sT 1919
7091  {
7092  &kZonePolicyCanada /*zonePolicy*/,
7093  "N%T" /*format*/,
7094  -844 /*offsetCode (-12652/15)*/,
7095  8 /*offsetRemainder (-12652%15)*/,
7096  0 /*deltaMinutes*/,
7097  1919 /*untilYear*/,
7098  1 /*untilMonth*/,
7099  1 /*untilDay*/,
7100  0 /*untilTimeCode (0/15)*/,
7101  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7102  },
7103  // -3:30:52 - NST 1935 Mar 30
7104  {
7105  nullptr /*zonePolicy*/,
7106  "NST" /*format*/,
7107  -844 /*offsetCode (-12652/15)*/,
7108  8 /*offsetRemainder (-12652%15)*/,
7109  0 /*deltaMinutes*/,
7110  1935 /*untilYear*/,
7111  3 /*untilMonth*/,
7112  30 /*untilDay*/,
7113  0 /*untilTimeCode (0/15)*/,
7114  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7115  },
7116  // -3:30 - NST 1936
7117  {
7118  nullptr /*zonePolicy*/,
7119  "NST" /*format*/,
7120  -840 /*offsetCode (-12600/15)*/,
7121  0 /*offsetRemainder (-12600%15)*/,
7122  0 /*deltaMinutes*/,
7123  1936 /*untilYear*/,
7124  1 /*untilMonth*/,
7125  1 /*untilDay*/,
7126  0 /*untilTimeCode (0/15)*/,
7127  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7128  },
7129  // -3:30 StJohns N%sT 1942 May 11
7130  {
7131  &kZonePolicyStJohns /*zonePolicy*/,
7132  "N%T" /*format*/,
7133  -840 /*offsetCode (-12600/15)*/,
7134  0 /*offsetRemainder (-12600%15)*/,
7135  0 /*deltaMinutes*/,
7136  1942 /*untilYear*/,
7137  5 /*untilMonth*/,
7138  11 /*untilDay*/,
7139  0 /*untilTimeCode (0/15)*/,
7140  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7141  },
7142  // -3:30 Canada N%sT 1946
7143  {
7144  &kZonePolicyCanada /*zonePolicy*/,
7145  "N%T" /*format*/,
7146  -840 /*offsetCode (-12600/15)*/,
7147  0 /*offsetRemainder (-12600%15)*/,
7148  0 /*deltaMinutes*/,
7149  1946 /*untilYear*/,
7150  1 /*untilMonth*/,
7151  1 /*untilDay*/,
7152  0 /*untilTimeCode (0/15)*/,
7153  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7154  },
7155  // -3:30 StJohns N%sT 1966 Mar 15 2:00
7156  {
7157  &kZonePolicyStJohns /*zonePolicy*/,
7158  "N%T" /*format*/,
7159  -840 /*offsetCode (-12600/15)*/,
7160  0 /*offsetRemainder (-12600%15)*/,
7161  0 /*deltaMinutes*/,
7162  1966 /*untilYear*/,
7163  3 /*untilMonth*/,
7164  15 /*untilDay*/,
7165  480 /*untilTimeCode (7200/15)*/,
7166  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7167  },
7168  // -4:00 StJohns A%sT 2011 Nov
7169  {
7170  &kZonePolicyStJohns /*zonePolicy*/,
7171  "A%T" /*format*/,
7172  -960 /*offsetCode (-14400/15)*/,
7173  0 /*offsetRemainder (-14400%15)*/,
7174  0 /*deltaMinutes*/,
7175  2011 /*untilYear*/,
7176  11 /*untilMonth*/,
7177  1 /*untilDay*/,
7178  0 /*untilTimeCode (0/15)*/,
7179  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7180  },
7181  // -4:00 Canada A%sT
7182  {
7183  &kZonePolicyCanada /*zonePolicy*/,
7184  "A%T" /*format*/,
7185  -960 /*offsetCode (-14400/15)*/,
7186  0 /*offsetRemainder (-14400%15)*/,
7187  0 /*deltaMinutes*/,
7188  32767 /*untilYear*/,
7189  1 /*untilMonth*/,
7190  1 /*untilDay*/,
7191  0 /*untilTimeCode (0/15)*/,
7192  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7193  },
7194 
7195 };
7196 
7197 static const char kZoneNameAmerica_Goose_Bay[] ACE_TIME_PROGMEM = "\x02" "Goose_Bay";
7198 
7199 const complete::Info::ZoneInfo kZoneAmerica_Goose_Bay ACE_TIME_PROGMEM = {
7200  kZoneNameAmerica_Goose_Bay /*name*/,
7201  0xb649541e /*zoneId*/,
7202  &kZoneContext /*zoneContext*/,
7203  10 /*numEras*/,
7204  kZoneEraAmerica_Goose_Bay /*eras*/,
7205  nullptr /*targetInfo*/,
7206 };
7207 
7208 //---------------------------------------------------------------------------
7209 // Zone name: America/Grand_Turk
7210 // Eras: 6
7211 //---------------------------------------------------------------------------
7212 
7213 static const complete::Info::ZoneEra kZoneEraAmerica_Grand_Turk[] ACE_TIME_PROGMEM = {
7214  // -4:44:32 - LMT 1890
7215  {
7216  nullptr /*zonePolicy*/,
7217  "LMT" /*format*/,
7218  -1139 /*offsetCode (-17072/15)*/,
7219  13 /*offsetRemainder (-17072%15)*/,
7220  0 /*deltaMinutes*/,
7221  1890 /*untilYear*/,
7222  1 /*untilMonth*/,
7223  1 /*untilDay*/,
7224  0 /*untilTimeCode (0/15)*/,
7225  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7226  },
7227  // -5:07:10 - KMT 1912 Feb
7228  {
7229  nullptr /*zonePolicy*/,
7230  "KMT" /*format*/,
7231  -1229 /*offsetCode (-18430/15)*/,
7232  5 /*offsetRemainder (-18430%15)*/,
7233  0 /*deltaMinutes*/,
7234  1912 /*untilYear*/,
7235  2 /*untilMonth*/,
7236  1 /*untilDay*/,
7237  0 /*untilTimeCode (0/15)*/,
7238  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7239  },
7240  // -5:00 - EST 1979
7241  {
7242  nullptr /*zonePolicy*/,
7243  "EST" /*format*/,
7244  -1200 /*offsetCode (-18000/15)*/,
7245  0 /*offsetRemainder (-18000%15)*/,
7246  0 /*deltaMinutes*/,
7247  1979 /*untilYear*/,
7248  1 /*untilMonth*/,
7249  1 /*untilDay*/,
7250  0 /*untilTimeCode (0/15)*/,
7251  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7252  },
7253  // -5:00 US E%sT 2015 Mar 8 2:00
7254  {
7255  &kZonePolicyUS /*zonePolicy*/,
7256  "E%T" /*format*/,
7257  -1200 /*offsetCode (-18000/15)*/,
7258  0 /*offsetRemainder (-18000%15)*/,
7259  0 /*deltaMinutes*/,
7260  2015 /*untilYear*/,
7261  3 /*untilMonth*/,
7262  8 /*untilDay*/,
7263  480 /*untilTimeCode (7200/15)*/,
7264  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7265  },
7266  // -4:00 - AST 2018 Mar 11 3:00
7267  {
7268  nullptr /*zonePolicy*/,
7269  "AST" /*format*/,
7270  -960 /*offsetCode (-14400/15)*/,
7271  0 /*offsetRemainder (-14400%15)*/,
7272  0 /*deltaMinutes*/,
7273  2018 /*untilYear*/,
7274  3 /*untilMonth*/,
7275  11 /*untilDay*/,
7276  720 /*untilTimeCode (10800/15)*/,
7277  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7278  },
7279  // -5:00 US E%sT
7280  {
7281  &kZonePolicyUS /*zonePolicy*/,
7282  "E%T" /*format*/,
7283  -1200 /*offsetCode (-18000/15)*/,
7284  0 /*offsetRemainder (-18000%15)*/,
7285  0 /*deltaMinutes*/,
7286  32767 /*untilYear*/,
7287  1 /*untilMonth*/,
7288  1 /*untilDay*/,
7289  0 /*untilTimeCode (0/15)*/,
7290  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7291  },
7292 
7293 };
7294 
7295 static const char kZoneNameAmerica_Grand_Turk[] ACE_TIME_PROGMEM = "\x02" "Grand_Turk";
7296 
7297 const complete::Info::ZoneInfo kZoneAmerica_Grand_Turk ACE_TIME_PROGMEM = {
7298  kZoneNameAmerica_Grand_Turk /*name*/,
7299  0x6e216197 /*zoneId*/,
7300  &kZoneContext /*zoneContext*/,
7301  6 /*numEras*/,
7302  kZoneEraAmerica_Grand_Turk /*eras*/,
7303  nullptr /*targetInfo*/,
7304 };
7305 
7306 //---------------------------------------------------------------------------
7307 // Zone name: America/Guatemala
7308 // Eras: 2
7309 //---------------------------------------------------------------------------
7310 
7311 static const complete::Info::ZoneEra kZoneEraAmerica_Guatemala[] ACE_TIME_PROGMEM = {
7312  // -6:02:04 - LMT 1918 Oct 5
7313  {
7314  nullptr /*zonePolicy*/,
7315  "LMT" /*format*/,
7316  -1449 /*offsetCode (-21724/15)*/,
7317  11 /*offsetRemainder (-21724%15)*/,
7318  0 /*deltaMinutes*/,
7319  1918 /*untilYear*/,
7320  10 /*untilMonth*/,
7321  5 /*untilDay*/,
7322  0 /*untilTimeCode (0/15)*/,
7323  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7324  },
7325  // -6:00 Guat C%sT
7326  {
7327  &kZonePolicyGuat /*zonePolicy*/,
7328  "C%T" /*format*/,
7329  -1440 /*offsetCode (-21600/15)*/,
7330  0 /*offsetRemainder (-21600%15)*/,
7331  0 /*deltaMinutes*/,
7332  32767 /*untilYear*/,
7333  1 /*untilMonth*/,
7334  1 /*untilDay*/,
7335  0 /*untilTimeCode (0/15)*/,
7336  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7337  },
7338 
7339 };
7340 
7341 static const char kZoneNameAmerica_Guatemala[] ACE_TIME_PROGMEM = "\x02" "Guatemala";
7342 
7343 const complete::Info::ZoneInfo kZoneAmerica_Guatemala ACE_TIME_PROGMEM = {
7344  kZoneNameAmerica_Guatemala /*name*/,
7345  0x0c8259f7 /*zoneId*/,
7346  &kZoneContext /*zoneContext*/,
7347  2 /*numEras*/,
7348  kZoneEraAmerica_Guatemala /*eras*/,
7349  nullptr /*targetInfo*/,
7350 };
7351 
7352 //---------------------------------------------------------------------------
7353 // Zone name: America/Guayaquil
7354 // Eras: 3
7355 //---------------------------------------------------------------------------
7356 
7357 static const complete::Info::ZoneEra kZoneEraAmerica_Guayaquil[] ACE_TIME_PROGMEM = {
7358  // -5:19:20 - LMT 1890
7359  {
7360  nullptr /*zonePolicy*/,
7361  "LMT" /*format*/,
7362  -1278 /*offsetCode (-19160/15)*/,
7363  10 /*offsetRemainder (-19160%15)*/,
7364  0 /*deltaMinutes*/,
7365  1890 /*untilYear*/,
7366  1 /*untilMonth*/,
7367  1 /*untilDay*/,
7368  0 /*untilTimeCode (0/15)*/,
7369  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7370  },
7371  // -5:14:00 - QMT 1931
7372  {
7373  nullptr /*zonePolicy*/,
7374  "QMT" /*format*/,
7375  -1256 /*offsetCode (-18840/15)*/,
7376  0 /*offsetRemainder (-18840%15)*/,
7377  0 /*deltaMinutes*/,
7378  1931 /*untilYear*/,
7379  1 /*untilMonth*/,
7380  1 /*untilDay*/,
7381  0 /*untilTimeCode (0/15)*/,
7382  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7383  },
7384  // -5:00 Ecuador %z
7385  {
7386  &kZonePolicyEcuador /*zonePolicy*/,
7387  "" /*format*/,
7388  -1200 /*offsetCode (-18000/15)*/,
7389  0 /*offsetRemainder (-18000%15)*/,
7390  0 /*deltaMinutes*/,
7391  32767 /*untilYear*/,
7392  1 /*untilMonth*/,
7393  1 /*untilDay*/,
7394  0 /*untilTimeCode (0/15)*/,
7395  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7396  },
7397 
7398 };
7399 
7400 static const char kZoneNameAmerica_Guayaquil[] ACE_TIME_PROGMEM = "\x02" "Guayaquil";
7401 
7402 const complete::Info::ZoneInfo kZoneAmerica_Guayaquil ACE_TIME_PROGMEM = {
7403  kZoneNameAmerica_Guayaquil /*name*/,
7404  0x17e64958 /*zoneId*/,
7405  &kZoneContext /*zoneContext*/,
7406  3 /*numEras*/,
7407  kZoneEraAmerica_Guayaquil /*eras*/,
7408  nullptr /*targetInfo*/,
7409 };
7410 
7411 //---------------------------------------------------------------------------
7412 // Zone name: America/Guyana
7413 // Eras: 5
7414 //---------------------------------------------------------------------------
7415 
7416 static const complete::Info::ZoneEra kZoneEraAmerica_Guyana[] ACE_TIME_PROGMEM = {
7417  // -3:52:39 - LMT 1911 Aug 1
7418  {
7419  nullptr /*zonePolicy*/,
7420  "LMT" /*format*/,
7421  -931 /*offsetCode (-13959/15)*/,
7422  6 /*offsetRemainder (-13959%15)*/,
7423  0 /*deltaMinutes*/,
7424  1911 /*untilYear*/,
7425  8 /*untilMonth*/,
7426  1 /*untilDay*/,
7427  0 /*untilTimeCode (0/15)*/,
7428  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7429  },
7430  // -4:00 - %z 1915 Mar 1
7431  {
7432  nullptr /*zonePolicy*/,
7433  "" /*format*/,
7434  -960 /*offsetCode (-14400/15)*/,
7435  0 /*offsetRemainder (-14400%15)*/,
7436  0 /*deltaMinutes*/,
7437  1915 /*untilYear*/,
7438  3 /*untilMonth*/,
7439  1 /*untilDay*/,
7440  0 /*untilTimeCode (0/15)*/,
7441  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7442  },
7443  // -3:45 - %z 1975 Aug 1
7444  {
7445  nullptr /*zonePolicy*/,
7446  "" /*format*/,
7447  -900 /*offsetCode (-13500/15)*/,
7448  0 /*offsetRemainder (-13500%15)*/,
7449  0 /*deltaMinutes*/,
7450  1975 /*untilYear*/,
7451  8 /*untilMonth*/,
7452  1 /*untilDay*/,
7453  0 /*untilTimeCode (0/15)*/,
7454  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7455  },
7456  // -3:00 - %z 1992 Mar 29 1:00
7457  {
7458  nullptr /*zonePolicy*/,
7459  "" /*format*/,
7460  -720 /*offsetCode (-10800/15)*/,
7461  0 /*offsetRemainder (-10800%15)*/,
7462  0 /*deltaMinutes*/,
7463  1992 /*untilYear*/,
7464  3 /*untilMonth*/,
7465  29 /*untilDay*/,
7466  240 /*untilTimeCode (3600/15)*/,
7467  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7468  },
7469  // -4:00 - %z
7470  {
7471  nullptr /*zonePolicy*/,
7472  "" /*format*/,
7473  -960 /*offsetCode (-14400/15)*/,
7474  0 /*offsetRemainder (-14400%15)*/,
7475  0 /*deltaMinutes*/,
7476  32767 /*untilYear*/,
7477  1 /*untilMonth*/,
7478  1 /*untilDay*/,
7479  0 /*untilTimeCode (0/15)*/,
7480  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7481  },
7482 
7483 };
7484 
7485 static const char kZoneNameAmerica_Guyana[] ACE_TIME_PROGMEM = "\x02" "Guyana";
7486 
7487 const complete::Info::ZoneInfo kZoneAmerica_Guyana ACE_TIME_PROGMEM = {
7488  kZoneNameAmerica_Guyana /*name*/,
7489  0x9ff7bd0b /*zoneId*/,
7490  &kZoneContext /*zoneContext*/,
7491  5 /*numEras*/,
7492  kZoneEraAmerica_Guyana /*eras*/,
7493  nullptr /*targetInfo*/,
7494 };
7495 
7496 //---------------------------------------------------------------------------
7497 // Zone name: America/Halifax
7498 // Eras: 7
7499 //---------------------------------------------------------------------------
7500 
7501 static const complete::Info::ZoneEra kZoneEraAmerica_Halifax[] ACE_TIME_PROGMEM = {
7502  // -4:14:24 - LMT 1902 Jun 15
7503  {
7504  nullptr /*zonePolicy*/,
7505  "LMT" /*format*/,
7506  -1018 /*offsetCode (-15264/15)*/,
7507  6 /*offsetRemainder (-15264%15)*/,
7508  0 /*deltaMinutes*/,
7509  1902 /*untilYear*/,
7510  6 /*untilMonth*/,
7511  15 /*untilDay*/,
7512  0 /*untilTimeCode (0/15)*/,
7513  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7514  },
7515  // -4:00 Halifax A%sT 1918
7516  {
7517  &kZonePolicyHalifax /*zonePolicy*/,
7518  "A%T" /*format*/,
7519  -960 /*offsetCode (-14400/15)*/,
7520  0 /*offsetRemainder (-14400%15)*/,
7521  0 /*deltaMinutes*/,
7522  1918 /*untilYear*/,
7523  1 /*untilMonth*/,
7524  1 /*untilDay*/,
7525  0 /*untilTimeCode (0/15)*/,
7526  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7527  },
7528  // -4:00 Canada A%sT 1919
7529  {
7530  &kZonePolicyCanada /*zonePolicy*/,
7531  "A%T" /*format*/,
7532  -960 /*offsetCode (-14400/15)*/,
7533  0 /*offsetRemainder (-14400%15)*/,
7534  0 /*deltaMinutes*/,
7535  1919 /*untilYear*/,
7536  1 /*untilMonth*/,
7537  1 /*untilDay*/,
7538  0 /*untilTimeCode (0/15)*/,
7539  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7540  },
7541  // -4:00 Halifax A%sT 1942 Feb 9 2:00s
7542  {
7543  &kZonePolicyHalifax /*zonePolicy*/,
7544  "A%T" /*format*/,
7545  -960 /*offsetCode (-14400/15)*/,
7546  0 /*offsetRemainder (-14400%15)*/,
7547  0 /*deltaMinutes*/,
7548  1942 /*untilYear*/,
7549  2 /*untilMonth*/,
7550  9 /*untilDay*/,
7551  480 /*untilTimeCode (7200/15)*/,
7552  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
7553  },
7554  // -4:00 Canada A%sT 1946
7555  {
7556  &kZonePolicyCanada /*zonePolicy*/,
7557  "A%T" /*format*/,
7558  -960 /*offsetCode (-14400/15)*/,
7559  0 /*offsetRemainder (-14400%15)*/,
7560  0 /*deltaMinutes*/,
7561  1946 /*untilYear*/,
7562  1 /*untilMonth*/,
7563  1 /*untilDay*/,
7564  0 /*untilTimeCode (0/15)*/,
7565  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7566  },
7567  // -4:00 Halifax A%sT 1974
7568  {
7569  &kZonePolicyHalifax /*zonePolicy*/,
7570  "A%T" /*format*/,
7571  -960 /*offsetCode (-14400/15)*/,
7572  0 /*offsetRemainder (-14400%15)*/,
7573  0 /*deltaMinutes*/,
7574  1974 /*untilYear*/,
7575  1 /*untilMonth*/,
7576  1 /*untilDay*/,
7577  0 /*untilTimeCode (0/15)*/,
7578  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7579  },
7580  // -4:00 Canada A%sT
7581  {
7582  &kZonePolicyCanada /*zonePolicy*/,
7583  "A%T" /*format*/,
7584  -960 /*offsetCode (-14400/15)*/,
7585  0 /*offsetRemainder (-14400%15)*/,
7586  0 /*deltaMinutes*/,
7587  32767 /*untilYear*/,
7588  1 /*untilMonth*/,
7589  1 /*untilDay*/,
7590  0 /*untilTimeCode (0/15)*/,
7591  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7592  },
7593 
7594 };
7595 
7596 static const char kZoneNameAmerica_Halifax[] ACE_TIME_PROGMEM = "\x02" "Halifax";
7597 
7598 const complete::Info::ZoneInfo kZoneAmerica_Halifax ACE_TIME_PROGMEM = {
7599  kZoneNameAmerica_Halifax /*name*/,
7600  0xbc5b7183 /*zoneId*/,
7601  &kZoneContext /*zoneContext*/,
7602  7 /*numEras*/,
7603  kZoneEraAmerica_Halifax /*eras*/,
7604  nullptr /*targetInfo*/,
7605 };
7606 
7607 //---------------------------------------------------------------------------
7608 // Zone name: America/Havana
7609 // Eras: 3
7610 //---------------------------------------------------------------------------
7611 
7612 static const complete::Info::ZoneEra kZoneEraAmerica_Havana[] ACE_TIME_PROGMEM = {
7613  // -5:29:28 - LMT 1890
7614  {
7615  nullptr /*zonePolicy*/,
7616  "LMT" /*format*/,
7617  -1318 /*offsetCode (-19768/15)*/,
7618  2 /*offsetRemainder (-19768%15)*/,
7619  0 /*deltaMinutes*/,
7620  1890 /*untilYear*/,
7621  1 /*untilMonth*/,
7622  1 /*untilDay*/,
7623  0 /*untilTimeCode (0/15)*/,
7624  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7625  },
7626  // -5:29:36 - HMT 1925 Jul 19 12:00
7627  {
7628  nullptr /*zonePolicy*/,
7629  "HMT" /*format*/,
7630  -1319 /*offsetCode (-19776/15)*/,
7631  9 /*offsetRemainder (-19776%15)*/,
7632  0 /*deltaMinutes*/,
7633  1925 /*untilYear*/,
7634  7 /*untilMonth*/,
7635  19 /*untilDay*/,
7636  2880 /*untilTimeCode (43200/15)*/,
7637  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7638  },
7639  // -5:00 Cuba C%sT
7640  {
7641  &kZonePolicyCuba /*zonePolicy*/,
7642  "C%T" /*format*/,
7643  -1200 /*offsetCode (-18000/15)*/,
7644  0 /*offsetRemainder (-18000%15)*/,
7645  0 /*deltaMinutes*/,
7646  32767 /*untilYear*/,
7647  1 /*untilMonth*/,
7648  1 /*untilDay*/,
7649  0 /*untilTimeCode (0/15)*/,
7650  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7651  },
7652 
7653 };
7654 
7655 static const char kZoneNameAmerica_Havana[] ACE_TIME_PROGMEM = "\x02" "Havana";
7656 
7657 const complete::Info::ZoneInfo kZoneAmerica_Havana ACE_TIME_PROGMEM = {
7658  kZoneNameAmerica_Havana /*name*/,
7659  0xa0e15675 /*zoneId*/,
7660  &kZoneContext /*zoneContext*/,
7661  3 /*numEras*/,
7662  kZoneEraAmerica_Havana /*eras*/,
7663  nullptr /*targetInfo*/,
7664 };
7665 
7666 //---------------------------------------------------------------------------
7667 // Zone name: America/Hermosillo
7668 // Eras: 8
7669 //---------------------------------------------------------------------------
7670 
7671 static const complete::Info::ZoneEra kZoneEraAmerica_Hermosillo[] ACE_TIME_PROGMEM = {
7672  // -7:23:52 - LMT 1922 Jan 1 7:00u
7673  {
7674  nullptr /*zonePolicy*/,
7675  "LMT" /*format*/,
7676  -1776 /*offsetCode (-26632/15)*/,
7677  8 /*offsetRemainder (-26632%15)*/,
7678  0 /*deltaMinutes*/,
7679  1922 /*untilYear*/,
7680  1 /*untilMonth*/,
7681  1 /*untilDay*/,
7682  1680 /*untilTimeCode (25200/15)*/,
7683  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
7684  },
7685  // -7:00 - MST 1927 Jun 10
7686  {
7687  nullptr /*zonePolicy*/,
7688  "MST" /*format*/,
7689  -1680 /*offsetCode (-25200/15)*/,
7690  0 /*offsetRemainder (-25200%15)*/,
7691  0 /*deltaMinutes*/,
7692  1927 /*untilYear*/,
7693  6 /*untilMonth*/,
7694  10 /*untilDay*/,
7695  0 /*untilTimeCode (0/15)*/,
7696  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7697  },
7698  // -6:00 - CST 1930 Nov 15
7699  {
7700  nullptr /*zonePolicy*/,
7701  "CST" /*format*/,
7702  -1440 /*offsetCode (-21600/15)*/,
7703  0 /*offsetRemainder (-21600%15)*/,
7704  0 /*deltaMinutes*/,
7705  1930 /*untilYear*/,
7706  11 /*untilMonth*/,
7707  15 /*untilDay*/,
7708  0 /*untilTimeCode (0/15)*/,
7709  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7710  },
7711  // -7:00 Mexico M%sT 1932 Apr 1
7712  {
7713  &kZonePolicyMexico /*zonePolicy*/,
7714  "M%T" /*format*/,
7715  -1680 /*offsetCode (-25200/15)*/,
7716  0 /*offsetRemainder (-25200%15)*/,
7717  0 /*deltaMinutes*/,
7718  1932 /*untilYear*/,
7719  4 /*untilMonth*/,
7720  1 /*untilDay*/,
7721  0 /*untilTimeCode (0/15)*/,
7722  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7723  },
7724  // -6:00 - CST 1942 Apr 24
7725  {
7726  nullptr /*zonePolicy*/,
7727  "CST" /*format*/,
7728  -1440 /*offsetCode (-21600/15)*/,
7729  0 /*offsetRemainder (-21600%15)*/,
7730  0 /*deltaMinutes*/,
7731  1942 /*untilYear*/,
7732  4 /*untilMonth*/,
7733  24 /*untilDay*/,
7734  0 /*untilTimeCode (0/15)*/,
7735  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7736  },
7737  // -7:00 - MST 1996
7738  {
7739  nullptr /*zonePolicy*/,
7740  "MST" /*format*/,
7741  -1680 /*offsetCode (-25200/15)*/,
7742  0 /*offsetRemainder (-25200%15)*/,
7743  0 /*deltaMinutes*/,
7744  1996 /*untilYear*/,
7745  1 /*untilMonth*/,
7746  1 /*untilDay*/,
7747  0 /*untilTimeCode (0/15)*/,
7748  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7749  },
7750  // -7:00 Mexico M%sT 1999
7751  {
7752  &kZonePolicyMexico /*zonePolicy*/,
7753  "M%T" /*format*/,
7754  -1680 /*offsetCode (-25200/15)*/,
7755  0 /*offsetRemainder (-25200%15)*/,
7756  0 /*deltaMinutes*/,
7757  1999 /*untilYear*/,
7758  1 /*untilMonth*/,
7759  1 /*untilDay*/,
7760  0 /*untilTimeCode (0/15)*/,
7761  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7762  },
7763  // -7:00 - MST
7764  {
7765  nullptr /*zonePolicy*/,
7766  "MST" /*format*/,
7767  -1680 /*offsetCode (-25200/15)*/,
7768  0 /*offsetRemainder (-25200%15)*/,
7769  0 /*deltaMinutes*/,
7770  32767 /*untilYear*/,
7771  1 /*untilMonth*/,
7772  1 /*untilDay*/,
7773  0 /*untilTimeCode (0/15)*/,
7774  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7775  },
7776 
7777 };
7778 
7779 static const char kZoneNameAmerica_Hermosillo[] ACE_TIME_PROGMEM = "\x02" "Hermosillo";
7780 
7781 const complete::Info::ZoneInfo kZoneAmerica_Hermosillo ACE_TIME_PROGMEM = {
7782  kZoneNameAmerica_Hermosillo /*name*/,
7783  0x065d21c4 /*zoneId*/,
7784  &kZoneContext /*zoneContext*/,
7785  8 /*numEras*/,
7786  kZoneEraAmerica_Hermosillo /*eras*/,
7787  nullptr /*targetInfo*/,
7788 };
7789 
7790 //---------------------------------------------------------------------------
7791 // Zone name: America/Indiana/Indianapolis
7792 // Eras: 11
7793 //---------------------------------------------------------------------------
7794 
7795 static const complete::Info::ZoneEra kZoneEraAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = {
7796  // -5:44:38 - LMT 1883 Nov 18 18:00u
7797  {
7798  nullptr /*zonePolicy*/,
7799  "LMT" /*format*/,
7800  -1379 /*offsetCode (-20678/15)*/,
7801  7 /*offsetRemainder (-20678%15)*/,
7802  0 /*deltaMinutes*/,
7803  1883 /*untilYear*/,
7804  11 /*untilMonth*/,
7805  18 /*untilDay*/,
7806  4320 /*untilTimeCode (64800/15)*/,
7807  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
7808  },
7809  // -6:00 US C%sT 1920
7810  {
7811  &kZonePolicyUS /*zonePolicy*/,
7812  "C%T" /*format*/,
7813  -1440 /*offsetCode (-21600/15)*/,
7814  0 /*offsetRemainder (-21600%15)*/,
7815  0 /*deltaMinutes*/,
7816  1920 /*untilYear*/,
7817  1 /*untilMonth*/,
7818  1 /*untilDay*/,
7819  0 /*untilTimeCode (0/15)*/,
7820  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7821  },
7822  // -6:00 Indianapolis C%sT 1942
7823  {
7824  &kZonePolicyIndianapolis /*zonePolicy*/,
7825  "C%T" /*format*/,
7826  -1440 /*offsetCode (-21600/15)*/,
7827  0 /*offsetRemainder (-21600%15)*/,
7828  0 /*deltaMinutes*/,
7829  1942 /*untilYear*/,
7830  1 /*untilMonth*/,
7831  1 /*untilDay*/,
7832  0 /*untilTimeCode (0/15)*/,
7833  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7834  },
7835  // -6:00 US C%sT 1946
7836  {
7837  &kZonePolicyUS /*zonePolicy*/,
7838  "C%T" /*format*/,
7839  -1440 /*offsetCode (-21600/15)*/,
7840  0 /*offsetRemainder (-21600%15)*/,
7841  0 /*deltaMinutes*/,
7842  1946 /*untilYear*/,
7843  1 /*untilMonth*/,
7844  1 /*untilDay*/,
7845  0 /*untilTimeCode (0/15)*/,
7846  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7847  },
7848  // -6:00 Indianapolis C%sT 1955 Apr 24 2:00
7849  {
7850  &kZonePolicyIndianapolis /*zonePolicy*/,
7851  "C%T" /*format*/,
7852  -1440 /*offsetCode (-21600/15)*/,
7853  0 /*offsetRemainder (-21600%15)*/,
7854  0 /*deltaMinutes*/,
7855  1955 /*untilYear*/,
7856  4 /*untilMonth*/,
7857  24 /*untilDay*/,
7858  480 /*untilTimeCode (7200/15)*/,
7859  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7860  },
7861  // -5:00 - EST 1957 Sep 29 2:00
7862  {
7863  nullptr /*zonePolicy*/,
7864  "EST" /*format*/,
7865  -1200 /*offsetCode (-18000/15)*/,
7866  0 /*offsetRemainder (-18000%15)*/,
7867  0 /*deltaMinutes*/,
7868  1957 /*untilYear*/,
7869  9 /*untilMonth*/,
7870  29 /*untilDay*/,
7871  480 /*untilTimeCode (7200/15)*/,
7872  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7873  },
7874  // -6:00 - CST 1958 Apr 27 2:00
7875  {
7876  nullptr /*zonePolicy*/,
7877  "CST" /*format*/,
7878  -1440 /*offsetCode (-21600/15)*/,
7879  0 /*offsetRemainder (-21600%15)*/,
7880  0 /*deltaMinutes*/,
7881  1958 /*untilYear*/,
7882  4 /*untilMonth*/,
7883  27 /*untilDay*/,
7884  480 /*untilTimeCode (7200/15)*/,
7885  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7886  },
7887  // -5:00 - EST 1969
7888  {
7889  nullptr /*zonePolicy*/,
7890  "EST" /*format*/,
7891  -1200 /*offsetCode (-18000/15)*/,
7892  0 /*offsetRemainder (-18000%15)*/,
7893  0 /*deltaMinutes*/,
7894  1969 /*untilYear*/,
7895  1 /*untilMonth*/,
7896  1 /*untilDay*/,
7897  0 /*untilTimeCode (0/15)*/,
7898  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7899  },
7900  // -5:00 US E%sT 1971
7901  {
7902  &kZonePolicyUS /*zonePolicy*/,
7903  "E%T" /*format*/,
7904  -1200 /*offsetCode (-18000/15)*/,
7905  0 /*offsetRemainder (-18000%15)*/,
7906  0 /*deltaMinutes*/,
7907  1971 /*untilYear*/,
7908  1 /*untilMonth*/,
7909  1 /*untilDay*/,
7910  0 /*untilTimeCode (0/15)*/,
7911  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7912  },
7913  // -5:00 - EST 2006
7914  {
7915  nullptr /*zonePolicy*/,
7916  "EST" /*format*/,
7917  -1200 /*offsetCode (-18000/15)*/,
7918  0 /*offsetRemainder (-18000%15)*/,
7919  0 /*deltaMinutes*/,
7920  2006 /*untilYear*/,
7921  1 /*untilMonth*/,
7922  1 /*untilDay*/,
7923  0 /*untilTimeCode (0/15)*/,
7924  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7925  },
7926  // -5:00 US E%sT
7927  {
7928  &kZonePolicyUS /*zonePolicy*/,
7929  "E%T" /*format*/,
7930  -1200 /*offsetCode (-18000/15)*/,
7931  0 /*offsetRemainder (-18000%15)*/,
7932  0 /*deltaMinutes*/,
7933  32767 /*untilYear*/,
7934  1 /*untilMonth*/,
7935  1 /*untilDay*/,
7936  0 /*untilTimeCode (0/15)*/,
7937  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7938  },
7939 
7940 };
7941 
7942 static const char kZoneNameAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Indianapolis";
7943 
7944 const complete::Info::ZoneInfo kZoneAmerica_Indiana_Indianapolis ACE_TIME_PROGMEM = {
7945  kZoneNameAmerica_Indiana_Indianapolis /*name*/,
7946  0x28a669a4 /*zoneId*/,
7947  &kZoneContext /*zoneContext*/,
7948  11 /*numEras*/,
7949  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
7950  nullptr /*targetInfo*/,
7951 };
7952 
7953 //---------------------------------------------------------------------------
7954 // Zone name: America/Indiana/Knox
7955 // Eras: 7
7956 //---------------------------------------------------------------------------
7957 
7958 static const complete::Info::ZoneEra kZoneEraAmerica_Indiana_Knox[] ACE_TIME_PROGMEM = {
7959  // -5:46:30 - LMT 1883 Nov 18 18:00u
7960  {
7961  nullptr /*zonePolicy*/,
7962  "LMT" /*format*/,
7963  -1386 /*offsetCode (-20790/15)*/,
7964  0 /*offsetRemainder (-20790%15)*/,
7965  0 /*deltaMinutes*/,
7966  1883 /*untilYear*/,
7967  11 /*untilMonth*/,
7968  18 /*untilDay*/,
7969  4320 /*untilTimeCode (64800/15)*/,
7970  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
7971  },
7972  // -6:00 US C%sT 1947
7973  {
7974  &kZonePolicyUS /*zonePolicy*/,
7975  "C%T" /*format*/,
7976  -1440 /*offsetCode (-21600/15)*/,
7977  0 /*offsetRemainder (-21600%15)*/,
7978  0 /*deltaMinutes*/,
7979  1947 /*untilYear*/,
7980  1 /*untilMonth*/,
7981  1 /*untilDay*/,
7982  0 /*untilTimeCode (0/15)*/,
7983  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7984  },
7985  // -6:00 Starke C%sT 1962 Apr 29 2:00
7986  {
7987  &kZonePolicyStarke /*zonePolicy*/,
7988  "C%T" /*format*/,
7989  -1440 /*offsetCode (-21600/15)*/,
7990  0 /*offsetRemainder (-21600%15)*/,
7991  0 /*deltaMinutes*/,
7992  1962 /*untilYear*/,
7993  4 /*untilMonth*/,
7994  29 /*untilDay*/,
7995  480 /*untilTimeCode (7200/15)*/,
7996  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7997  },
7998  // -5:00 - EST 1963 Oct 27 2:00
7999  {
8000  nullptr /*zonePolicy*/,
8001  "EST" /*format*/,
8002  -1200 /*offsetCode (-18000/15)*/,
8003  0 /*offsetRemainder (-18000%15)*/,
8004  0 /*deltaMinutes*/,
8005  1963 /*untilYear*/,
8006  10 /*untilMonth*/,
8007  27 /*untilDay*/,
8008  480 /*untilTimeCode (7200/15)*/,
8009  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8010  },
8011  // -6:00 US C%sT 1991 Oct 27 2:00
8012  {
8013  &kZonePolicyUS /*zonePolicy*/,
8014  "C%T" /*format*/,
8015  -1440 /*offsetCode (-21600/15)*/,
8016  0 /*offsetRemainder (-21600%15)*/,
8017  0 /*deltaMinutes*/,
8018  1991 /*untilYear*/,
8019  10 /*untilMonth*/,
8020  27 /*untilDay*/,
8021  480 /*untilTimeCode (7200/15)*/,
8022  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8023  },
8024  // -5:00 - EST 2006 Apr 2 2:00
8025  {
8026  nullptr /*zonePolicy*/,
8027  "EST" /*format*/,
8028  -1200 /*offsetCode (-18000/15)*/,
8029  0 /*offsetRemainder (-18000%15)*/,
8030  0 /*deltaMinutes*/,
8031  2006 /*untilYear*/,
8032  4 /*untilMonth*/,
8033  2 /*untilDay*/,
8034  480 /*untilTimeCode (7200/15)*/,
8035  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8036  },
8037  // -6:00 US C%sT
8038  {
8039  &kZonePolicyUS /*zonePolicy*/,
8040  "C%T" /*format*/,
8041  -1440 /*offsetCode (-21600/15)*/,
8042  0 /*offsetRemainder (-21600%15)*/,
8043  0 /*deltaMinutes*/,
8044  32767 /*untilYear*/,
8045  1 /*untilMonth*/,
8046  1 /*untilDay*/,
8047  0 /*untilTimeCode (0/15)*/,
8048  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8049  },
8050 
8051 };
8052 
8053 static const char kZoneNameAmerica_Indiana_Knox[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Knox";
8054 
8055 const complete::Info::ZoneInfo kZoneAmerica_Indiana_Knox ACE_TIME_PROGMEM = {
8056  kZoneNameAmerica_Indiana_Knox /*name*/,
8057  0x6554adc9 /*zoneId*/,
8058  &kZoneContext /*zoneContext*/,
8059  7 /*numEras*/,
8060  kZoneEraAmerica_Indiana_Knox /*eras*/,
8061  nullptr /*targetInfo*/,
8062 };
8063 
8064 //---------------------------------------------------------------------------
8065 // Zone name: America/Indiana/Marengo
8066 // Eras: 9
8067 //---------------------------------------------------------------------------
8068 
8069 static const complete::Info::ZoneEra kZoneEraAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = {
8070  // -5:45:23 - LMT 1883 Nov 18 18:00u
8071  {
8072  nullptr /*zonePolicy*/,
8073  "LMT" /*format*/,
8074  -1382 /*offsetCode (-20723/15)*/,
8075  7 /*offsetRemainder (-20723%15)*/,
8076  0 /*deltaMinutes*/,
8077  1883 /*untilYear*/,
8078  11 /*untilMonth*/,
8079  18 /*untilDay*/,
8080  4320 /*untilTimeCode (64800/15)*/,
8081  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8082  },
8083  // -6:00 US C%sT 1951
8084  {
8085  &kZonePolicyUS /*zonePolicy*/,
8086  "C%T" /*format*/,
8087  -1440 /*offsetCode (-21600/15)*/,
8088  0 /*offsetRemainder (-21600%15)*/,
8089  0 /*deltaMinutes*/,
8090  1951 /*untilYear*/,
8091  1 /*untilMonth*/,
8092  1 /*untilDay*/,
8093  0 /*untilTimeCode (0/15)*/,
8094  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8095  },
8096  // -6:00 Marengo C%sT 1961 Apr 30 2:00
8097  {
8098  &kZonePolicyMarengo /*zonePolicy*/,
8099  "C%T" /*format*/,
8100  -1440 /*offsetCode (-21600/15)*/,
8101  0 /*offsetRemainder (-21600%15)*/,
8102  0 /*deltaMinutes*/,
8103  1961 /*untilYear*/,
8104  4 /*untilMonth*/,
8105  30 /*untilDay*/,
8106  480 /*untilTimeCode (7200/15)*/,
8107  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8108  },
8109  // -5:00 - EST 1969
8110  {
8111  nullptr /*zonePolicy*/,
8112  "EST" /*format*/,
8113  -1200 /*offsetCode (-18000/15)*/,
8114  0 /*offsetRemainder (-18000%15)*/,
8115  0 /*deltaMinutes*/,
8116  1969 /*untilYear*/,
8117  1 /*untilMonth*/,
8118  1 /*untilDay*/,
8119  0 /*untilTimeCode (0/15)*/,
8120  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8121  },
8122  // -5:00 US E%sT 1974 Jan 6 2:00
8123  {
8124  &kZonePolicyUS /*zonePolicy*/,
8125  "E%T" /*format*/,
8126  -1200 /*offsetCode (-18000/15)*/,
8127  0 /*offsetRemainder (-18000%15)*/,
8128  0 /*deltaMinutes*/,
8129  1974 /*untilYear*/,
8130  1 /*untilMonth*/,
8131  6 /*untilDay*/,
8132  480 /*untilTimeCode (7200/15)*/,
8133  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8134  },
8135  // -6:00 1:00 CDT 1974 Oct 27 2:00
8136  {
8137  nullptr /*zonePolicy*/,
8138  "CDT" /*format*/,
8139  -1440 /*offsetCode (-21600/15)*/,
8140  0 /*offsetRemainder (-21600%15)*/,
8141  60 /*deltaMinutes*/,
8142  1974 /*untilYear*/,
8143  10 /*untilMonth*/,
8144  27 /*untilDay*/,
8145  480 /*untilTimeCode (7200/15)*/,
8146  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8147  },
8148  // -5:00 US E%sT 1976
8149  {
8150  &kZonePolicyUS /*zonePolicy*/,
8151  "E%T" /*format*/,
8152  -1200 /*offsetCode (-18000/15)*/,
8153  0 /*offsetRemainder (-18000%15)*/,
8154  0 /*deltaMinutes*/,
8155  1976 /*untilYear*/,
8156  1 /*untilMonth*/,
8157  1 /*untilDay*/,
8158  0 /*untilTimeCode (0/15)*/,
8159  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8160  },
8161  // -5:00 - EST 2006
8162  {
8163  nullptr /*zonePolicy*/,
8164  "EST" /*format*/,
8165  -1200 /*offsetCode (-18000/15)*/,
8166  0 /*offsetRemainder (-18000%15)*/,
8167  0 /*deltaMinutes*/,
8168  2006 /*untilYear*/,
8169  1 /*untilMonth*/,
8170  1 /*untilDay*/,
8171  0 /*untilTimeCode (0/15)*/,
8172  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8173  },
8174  // -5:00 US E%sT
8175  {
8176  &kZonePolicyUS /*zonePolicy*/,
8177  "E%T" /*format*/,
8178  -1200 /*offsetCode (-18000/15)*/,
8179  0 /*offsetRemainder (-18000%15)*/,
8180  0 /*deltaMinutes*/,
8181  32767 /*untilYear*/,
8182  1 /*untilMonth*/,
8183  1 /*untilDay*/,
8184  0 /*untilTimeCode (0/15)*/,
8185  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8186  },
8187 
8188 };
8189 
8190 static const char kZoneNameAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Marengo";
8191 
8192 const complete::Info::ZoneInfo kZoneAmerica_Indiana_Marengo ACE_TIME_PROGMEM = {
8193  kZoneNameAmerica_Indiana_Marengo /*name*/,
8194  0x2feeee72 /*zoneId*/,
8195  &kZoneContext /*zoneContext*/,
8196  9 /*numEras*/,
8197  kZoneEraAmerica_Indiana_Marengo /*eras*/,
8198  nullptr /*targetInfo*/,
8199 };
8200 
8201 //---------------------------------------------------------------------------
8202 // Zone name: America/Indiana/Petersburg
8203 // Eras: 8
8204 //---------------------------------------------------------------------------
8205 
8206 static const complete::Info::ZoneEra kZoneEraAmerica_Indiana_Petersburg[] ACE_TIME_PROGMEM = {
8207  // -5:49:07 - LMT 1883 Nov 18 18:00u
8208  {
8209  nullptr /*zonePolicy*/,
8210  "LMT" /*format*/,
8211  -1397 /*offsetCode (-20947/15)*/,
8212  8 /*offsetRemainder (-20947%15)*/,
8213  0 /*deltaMinutes*/,
8214  1883 /*untilYear*/,
8215  11 /*untilMonth*/,
8216  18 /*untilDay*/,
8217  4320 /*untilTimeCode (64800/15)*/,
8218  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8219  },
8220  // -6:00 US C%sT 1955
8221  {
8222  &kZonePolicyUS /*zonePolicy*/,
8223  "C%T" /*format*/,
8224  -1440 /*offsetCode (-21600/15)*/,
8225  0 /*offsetRemainder (-21600%15)*/,
8226  0 /*deltaMinutes*/,
8227  1955 /*untilYear*/,
8228  1 /*untilMonth*/,
8229  1 /*untilDay*/,
8230  0 /*untilTimeCode (0/15)*/,
8231  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8232  },
8233  // -6:00 Pike C%sT 1965 Apr 25 2:00
8234  {
8235  &kZonePolicyPike /*zonePolicy*/,
8236  "C%T" /*format*/,
8237  -1440 /*offsetCode (-21600/15)*/,
8238  0 /*offsetRemainder (-21600%15)*/,
8239  0 /*deltaMinutes*/,
8240  1965 /*untilYear*/,
8241  4 /*untilMonth*/,
8242  25 /*untilDay*/,
8243  480 /*untilTimeCode (7200/15)*/,
8244  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8245  },
8246  // -5:00 - EST 1966 Oct 30 2:00
8247  {
8248  nullptr /*zonePolicy*/,
8249  "EST" /*format*/,
8250  -1200 /*offsetCode (-18000/15)*/,
8251  0 /*offsetRemainder (-18000%15)*/,
8252  0 /*deltaMinutes*/,
8253  1966 /*untilYear*/,
8254  10 /*untilMonth*/,
8255  30 /*untilDay*/,
8256  480 /*untilTimeCode (7200/15)*/,
8257  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8258  },
8259  // -6:00 US C%sT 1977 Oct 30 2:00
8260  {
8261  &kZonePolicyUS /*zonePolicy*/,
8262  "C%T" /*format*/,
8263  -1440 /*offsetCode (-21600/15)*/,
8264  0 /*offsetRemainder (-21600%15)*/,
8265  0 /*deltaMinutes*/,
8266  1977 /*untilYear*/,
8267  10 /*untilMonth*/,
8268  30 /*untilDay*/,
8269  480 /*untilTimeCode (7200/15)*/,
8270  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8271  },
8272  // -5:00 - EST 2006 Apr 2 2:00
8273  {
8274  nullptr /*zonePolicy*/,
8275  "EST" /*format*/,
8276  -1200 /*offsetCode (-18000/15)*/,
8277  0 /*offsetRemainder (-18000%15)*/,
8278  0 /*deltaMinutes*/,
8279  2006 /*untilYear*/,
8280  4 /*untilMonth*/,
8281  2 /*untilDay*/,
8282  480 /*untilTimeCode (7200/15)*/,
8283  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8284  },
8285  // -6:00 US C%sT 2007 Nov 4 2:00
8286  {
8287  &kZonePolicyUS /*zonePolicy*/,
8288  "C%T" /*format*/,
8289  -1440 /*offsetCode (-21600/15)*/,
8290  0 /*offsetRemainder (-21600%15)*/,
8291  0 /*deltaMinutes*/,
8292  2007 /*untilYear*/,
8293  11 /*untilMonth*/,
8294  4 /*untilDay*/,
8295  480 /*untilTimeCode (7200/15)*/,
8296  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8297  },
8298  // -5:00 US E%sT
8299  {
8300  &kZonePolicyUS /*zonePolicy*/,
8301  "E%T" /*format*/,
8302  -1200 /*offsetCode (-18000/15)*/,
8303  0 /*offsetRemainder (-18000%15)*/,
8304  0 /*deltaMinutes*/,
8305  32767 /*untilYear*/,
8306  1 /*untilMonth*/,
8307  1 /*untilDay*/,
8308  0 /*untilTimeCode (0/15)*/,
8309  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8310  },
8311 
8312 };
8313 
8314 static const char kZoneNameAmerica_Indiana_Petersburg[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Petersburg";
8315 
8316 const complete::Info::ZoneInfo kZoneAmerica_Indiana_Petersburg ACE_TIME_PROGMEM = {
8317  kZoneNameAmerica_Indiana_Petersburg /*name*/,
8318  0x94ac7acc /*zoneId*/,
8319  &kZoneContext /*zoneContext*/,
8320  8 /*numEras*/,
8321  kZoneEraAmerica_Indiana_Petersburg /*eras*/,
8322  nullptr /*targetInfo*/,
8323 };
8324 
8325 //---------------------------------------------------------------------------
8326 // Zone name: America/Indiana/Tell_City
8327 // Eras: 8
8328 //---------------------------------------------------------------------------
8329 
8330 static const complete::Info::ZoneEra kZoneEraAmerica_Indiana_Tell_City[] ACE_TIME_PROGMEM = {
8331  // -5:47:03 - LMT 1883 Nov 18 18:00u
8332  {
8333  nullptr /*zonePolicy*/,
8334  "LMT" /*format*/,
8335  -1389 /*offsetCode (-20823/15)*/,
8336  12 /*offsetRemainder (-20823%15)*/,
8337  0 /*deltaMinutes*/,
8338  1883 /*untilYear*/,
8339  11 /*untilMonth*/,
8340  18 /*untilDay*/,
8341  4320 /*untilTimeCode (64800/15)*/,
8342  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8343  },
8344  // -6:00 US C%sT 1946
8345  {
8346  &kZonePolicyUS /*zonePolicy*/,
8347  "C%T" /*format*/,
8348  -1440 /*offsetCode (-21600/15)*/,
8349  0 /*offsetRemainder (-21600%15)*/,
8350  0 /*deltaMinutes*/,
8351  1946 /*untilYear*/,
8352  1 /*untilMonth*/,
8353  1 /*untilDay*/,
8354  0 /*untilTimeCode (0/15)*/,
8355  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8356  },
8357  // -6:00 Perry C%sT 1964 Apr 26 2:00
8358  {
8359  &kZonePolicyPerry /*zonePolicy*/,
8360  "C%T" /*format*/,
8361  -1440 /*offsetCode (-21600/15)*/,
8362  0 /*offsetRemainder (-21600%15)*/,
8363  0 /*deltaMinutes*/,
8364  1964 /*untilYear*/,
8365  4 /*untilMonth*/,
8366  26 /*untilDay*/,
8367  480 /*untilTimeCode (7200/15)*/,
8368  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8369  },
8370  // -5:00 - EST 1967 Oct 29 2:00
8371  {
8372  nullptr /*zonePolicy*/,
8373  "EST" /*format*/,
8374  -1200 /*offsetCode (-18000/15)*/,
8375  0 /*offsetRemainder (-18000%15)*/,
8376  0 /*deltaMinutes*/,
8377  1967 /*untilYear*/,
8378  10 /*untilMonth*/,
8379  29 /*untilDay*/,
8380  480 /*untilTimeCode (7200/15)*/,
8381  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8382  },
8383  // -6:00 US C%sT 1969 Apr 27 2:00
8384  {
8385  &kZonePolicyUS /*zonePolicy*/,
8386  "C%T" /*format*/,
8387  -1440 /*offsetCode (-21600/15)*/,
8388  0 /*offsetRemainder (-21600%15)*/,
8389  0 /*deltaMinutes*/,
8390  1969 /*untilYear*/,
8391  4 /*untilMonth*/,
8392  27 /*untilDay*/,
8393  480 /*untilTimeCode (7200/15)*/,
8394  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8395  },
8396  // -5:00 US E%sT 1971
8397  {
8398  &kZonePolicyUS /*zonePolicy*/,
8399  "E%T" /*format*/,
8400  -1200 /*offsetCode (-18000/15)*/,
8401  0 /*offsetRemainder (-18000%15)*/,
8402  0 /*deltaMinutes*/,
8403  1971 /*untilYear*/,
8404  1 /*untilMonth*/,
8405  1 /*untilDay*/,
8406  0 /*untilTimeCode (0/15)*/,
8407  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8408  },
8409  // -5:00 - EST 2006 Apr 2 2:00
8410  {
8411  nullptr /*zonePolicy*/,
8412  "EST" /*format*/,
8413  -1200 /*offsetCode (-18000/15)*/,
8414  0 /*offsetRemainder (-18000%15)*/,
8415  0 /*deltaMinutes*/,
8416  2006 /*untilYear*/,
8417  4 /*untilMonth*/,
8418  2 /*untilDay*/,
8419  480 /*untilTimeCode (7200/15)*/,
8420  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8421  },
8422  // -6:00 US C%sT
8423  {
8424  &kZonePolicyUS /*zonePolicy*/,
8425  "C%T" /*format*/,
8426  -1440 /*offsetCode (-21600/15)*/,
8427  0 /*offsetRemainder (-21600%15)*/,
8428  0 /*deltaMinutes*/,
8429  32767 /*untilYear*/,
8430  1 /*untilMonth*/,
8431  1 /*untilDay*/,
8432  0 /*untilTimeCode (0/15)*/,
8433  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8434  },
8435 
8436 };
8437 
8438 static const char kZoneNameAmerica_Indiana_Tell_City[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Tell_City";
8439 
8440 const complete::Info::ZoneInfo kZoneAmerica_Indiana_Tell_City ACE_TIME_PROGMEM = {
8441  kZoneNameAmerica_Indiana_Tell_City /*name*/,
8442  0x09263612 /*zoneId*/,
8443  &kZoneContext /*zoneContext*/,
8444  8 /*numEras*/,
8445  kZoneEraAmerica_Indiana_Tell_City /*eras*/,
8446  nullptr /*targetInfo*/,
8447 };
8448 
8449 //---------------------------------------------------------------------------
8450 // Zone name: America/Indiana/Vevay
8451 // Eras: 6
8452 //---------------------------------------------------------------------------
8453 
8454 static const complete::Info::ZoneEra kZoneEraAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = {
8455  // -5:40:16 - LMT 1883 Nov 18 18:00u
8456  {
8457  nullptr /*zonePolicy*/,
8458  "LMT" /*format*/,
8459  -1362 /*offsetCode (-20416/15)*/,
8460  14 /*offsetRemainder (-20416%15)*/,
8461  0 /*deltaMinutes*/,
8462  1883 /*untilYear*/,
8463  11 /*untilMonth*/,
8464  18 /*untilDay*/,
8465  4320 /*untilTimeCode (64800/15)*/,
8466  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8467  },
8468  // -6:00 US C%sT 1954 Apr 25 2:00
8469  {
8470  &kZonePolicyUS /*zonePolicy*/,
8471  "C%T" /*format*/,
8472  -1440 /*offsetCode (-21600/15)*/,
8473  0 /*offsetRemainder (-21600%15)*/,
8474  0 /*deltaMinutes*/,
8475  1954 /*untilYear*/,
8476  4 /*untilMonth*/,
8477  25 /*untilDay*/,
8478  480 /*untilTimeCode (7200/15)*/,
8479  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8480  },
8481  // -5:00 - EST 1969
8482  {
8483  nullptr /*zonePolicy*/,
8484  "EST" /*format*/,
8485  -1200 /*offsetCode (-18000/15)*/,
8486  0 /*offsetRemainder (-18000%15)*/,
8487  0 /*deltaMinutes*/,
8488  1969 /*untilYear*/,
8489  1 /*untilMonth*/,
8490  1 /*untilDay*/,
8491  0 /*untilTimeCode (0/15)*/,
8492  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8493  },
8494  // -5:00 US E%sT 1973
8495  {
8496  &kZonePolicyUS /*zonePolicy*/,
8497  "E%T" /*format*/,
8498  -1200 /*offsetCode (-18000/15)*/,
8499  0 /*offsetRemainder (-18000%15)*/,
8500  0 /*deltaMinutes*/,
8501  1973 /*untilYear*/,
8502  1 /*untilMonth*/,
8503  1 /*untilDay*/,
8504  0 /*untilTimeCode (0/15)*/,
8505  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8506  },
8507  // -5:00 - EST 2006
8508  {
8509  nullptr /*zonePolicy*/,
8510  "EST" /*format*/,
8511  -1200 /*offsetCode (-18000/15)*/,
8512  0 /*offsetRemainder (-18000%15)*/,
8513  0 /*deltaMinutes*/,
8514  2006 /*untilYear*/,
8515  1 /*untilMonth*/,
8516  1 /*untilDay*/,
8517  0 /*untilTimeCode (0/15)*/,
8518  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8519  },
8520  // -5:00 US E%sT
8521  {
8522  &kZonePolicyUS /*zonePolicy*/,
8523  "E%T" /*format*/,
8524  -1200 /*offsetCode (-18000/15)*/,
8525  0 /*offsetRemainder (-18000%15)*/,
8526  0 /*deltaMinutes*/,
8527  32767 /*untilYear*/,
8528  1 /*untilMonth*/,
8529  1 /*untilDay*/,
8530  0 /*untilTimeCode (0/15)*/,
8531  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8532  },
8533 
8534 };
8535 
8536 static const char kZoneNameAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Vevay";
8537 
8538 const complete::Info::ZoneInfo kZoneAmerica_Indiana_Vevay ACE_TIME_PROGMEM = {
8539  kZoneNameAmerica_Indiana_Vevay /*name*/,
8540  0x10aca054 /*zoneId*/,
8541  &kZoneContext /*zoneContext*/,
8542  6 /*numEras*/,
8543  kZoneEraAmerica_Indiana_Vevay /*eras*/,
8544  nullptr /*targetInfo*/,
8545 };
8546 
8547 //---------------------------------------------------------------------------
8548 // Zone name: America/Indiana/Vincennes
8549 // Eras: 8
8550 //---------------------------------------------------------------------------
8551 
8552 static const complete::Info::ZoneEra kZoneEraAmerica_Indiana_Vincennes[] ACE_TIME_PROGMEM = {
8553  // -5:50:07 - LMT 1883 Nov 18 18:00u
8554  {
8555  nullptr /*zonePolicy*/,
8556  "LMT" /*format*/,
8557  -1401 /*offsetCode (-21007/15)*/,
8558  8 /*offsetRemainder (-21007%15)*/,
8559  0 /*deltaMinutes*/,
8560  1883 /*untilYear*/,
8561  11 /*untilMonth*/,
8562  18 /*untilDay*/,
8563  4320 /*untilTimeCode (64800/15)*/,
8564  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8565  },
8566  // -6:00 US C%sT 1946
8567  {
8568  &kZonePolicyUS /*zonePolicy*/,
8569  "C%T" /*format*/,
8570  -1440 /*offsetCode (-21600/15)*/,
8571  0 /*offsetRemainder (-21600%15)*/,
8572  0 /*deltaMinutes*/,
8573  1946 /*untilYear*/,
8574  1 /*untilMonth*/,
8575  1 /*untilDay*/,
8576  0 /*untilTimeCode (0/15)*/,
8577  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8578  },
8579  // -6:00 Vincennes C%sT 1964 Apr 26 2:00
8580  {
8581  &kZonePolicyVincennes /*zonePolicy*/,
8582  "C%T" /*format*/,
8583  -1440 /*offsetCode (-21600/15)*/,
8584  0 /*offsetRemainder (-21600%15)*/,
8585  0 /*deltaMinutes*/,
8586  1964 /*untilYear*/,
8587  4 /*untilMonth*/,
8588  26 /*untilDay*/,
8589  480 /*untilTimeCode (7200/15)*/,
8590  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8591  },
8592  // -5:00 - EST 1969
8593  {
8594  nullptr /*zonePolicy*/,
8595  "EST" /*format*/,
8596  -1200 /*offsetCode (-18000/15)*/,
8597  0 /*offsetRemainder (-18000%15)*/,
8598  0 /*deltaMinutes*/,
8599  1969 /*untilYear*/,
8600  1 /*untilMonth*/,
8601  1 /*untilDay*/,
8602  0 /*untilTimeCode (0/15)*/,
8603  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8604  },
8605  // -5:00 US E%sT 1971
8606  {
8607  &kZonePolicyUS /*zonePolicy*/,
8608  "E%T" /*format*/,
8609  -1200 /*offsetCode (-18000/15)*/,
8610  0 /*offsetRemainder (-18000%15)*/,
8611  0 /*deltaMinutes*/,
8612  1971 /*untilYear*/,
8613  1 /*untilMonth*/,
8614  1 /*untilDay*/,
8615  0 /*untilTimeCode (0/15)*/,
8616  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8617  },
8618  // -5:00 - EST 2006 Apr 2 2:00
8619  {
8620  nullptr /*zonePolicy*/,
8621  "EST" /*format*/,
8622  -1200 /*offsetCode (-18000/15)*/,
8623  0 /*offsetRemainder (-18000%15)*/,
8624  0 /*deltaMinutes*/,
8625  2006 /*untilYear*/,
8626  4 /*untilMonth*/,
8627  2 /*untilDay*/,
8628  480 /*untilTimeCode (7200/15)*/,
8629  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8630  },
8631  // -6:00 US C%sT 2007 Nov 4 2:00
8632  {
8633  &kZonePolicyUS /*zonePolicy*/,
8634  "C%T" /*format*/,
8635  -1440 /*offsetCode (-21600/15)*/,
8636  0 /*offsetRemainder (-21600%15)*/,
8637  0 /*deltaMinutes*/,
8638  2007 /*untilYear*/,
8639  11 /*untilMonth*/,
8640  4 /*untilDay*/,
8641  480 /*untilTimeCode (7200/15)*/,
8642  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8643  },
8644  // -5:00 US E%sT
8645  {
8646  &kZonePolicyUS /*zonePolicy*/,
8647  "E%T" /*format*/,
8648  -1200 /*offsetCode (-18000/15)*/,
8649  0 /*offsetRemainder (-18000%15)*/,
8650  0 /*deltaMinutes*/,
8651  32767 /*untilYear*/,
8652  1 /*untilMonth*/,
8653  1 /*untilDay*/,
8654  0 /*untilTimeCode (0/15)*/,
8655  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8656  },
8657 
8658 };
8659 
8660 static const char kZoneNameAmerica_Indiana_Vincennes[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Vincennes";
8661 
8662 const complete::Info::ZoneInfo kZoneAmerica_Indiana_Vincennes ACE_TIME_PROGMEM = {
8663  kZoneNameAmerica_Indiana_Vincennes /*name*/,
8664  0x28a0b212 /*zoneId*/,
8665  &kZoneContext /*zoneContext*/,
8666  8 /*numEras*/,
8667  kZoneEraAmerica_Indiana_Vincennes /*eras*/,
8668  nullptr /*targetInfo*/,
8669 };
8670 
8671 //---------------------------------------------------------------------------
8672 // Zone name: America/Indiana/Winamac
8673 // Eras: 8
8674 //---------------------------------------------------------------------------
8675 
8676 static const complete::Info::ZoneEra kZoneEraAmerica_Indiana_Winamac[] ACE_TIME_PROGMEM = {
8677  // -5:46:25 - LMT 1883 Nov 18 18:00u
8678  {
8679  nullptr /*zonePolicy*/,
8680  "LMT" /*format*/,
8681  -1386 /*offsetCode (-20785/15)*/,
8682  5 /*offsetRemainder (-20785%15)*/,
8683  0 /*deltaMinutes*/,
8684  1883 /*untilYear*/,
8685  11 /*untilMonth*/,
8686  18 /*untilDay*/,
8687  4320 /*untilTimeCode (64800/15)*/,
8688  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8689  },
8690  // -6:00 US C%sT 1946
8691  {
8692  &kZonePolicyUS /*zonePolicy*/,
8693  "C%T" /*format*/,
8694  -1440 /*offsetCode (-21600/15)*/,
8695  0 /*offsetRemainder (-21600%15)*/,
8696  0 /*deltaMinutes*/,
8697  1946 /*untilYear*/,
8698  1 /*untilMonth*/,
8699  1 /*untilDay*/,
8700  0 /*untilTimeCode (0/15)*/,
8701  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8702  },
8703  // -6:00 Pulaski C%sT 1961 Apr 30 2:00
8704  {
8705  &kZonePolicyPulaski /*zonePolicy*/,
8706  "C%T" /*format*/,
8707  -1440 /*offsetCode (-21600/15)*/,
8708  0 /*offsetRemainder (-21600%15)*/,
8709  0 /*deltaMinutes*/,
8710  1961 /*untilYear*/,
8711  4 /*untilMonth*/,
8712  30 /*untilDay*/,
8713  480 /*untilTimeCode (7200/15)*/,
8714  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8715  },
8716  // -5:00 - EST 1969
8717  {
8718  nullptr /*zonePolicy*/,
8719  "EST" /*format*/,
8720  -1200 /*offsetCode (-18000/15)*/,
8721  0 /*offsetRemainder (-18000%15)*/,
8722  0 /*deltaMinutes*/,
8723  1969 /*untilYear*/,
8724  1 /*untilMonth*/,
8725  1 /*untilDay*/,
8726  0 /*untilTimeCode (0/15)*/,
8727  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8728  },
8729  // -5:00 US E%sT 1971
8730  {
8731  &kZonePolicyUS /*zonePolicy*/,
8732  "E%T" /*format*/,
8733  -1200 /*offsetCode (-18000/15)*/,
8734  0 /*offsetRemainder (-18000%15)*/,
8735  0 /*deltaMinutes*/,
8736  1971 /*untilYear*/,
8737  1 /*untilMonth*/,
8738  1 /*untilDay*/,
8739  0 /*untilTimeCode (0/15)*/,
8740  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8741  },
8742  // -5:00 - EST 2006 Apr 2 2:00
8743  {
8744  nullptr /*zonePolicy*/,
8745  "EST" /*format*/,
8746  -1200 /*offsetCode (-18000/15)*/,
8747  0 /*offsetRemainder (-18000%15)*/,
8748  0 /*deltaMinutes*/,
8749  2006 /*untilYear*/,
8750  4 /*untilMonth*/,
8751  2 /*untilDay*/,
8752  480 /*untilTimeCode (7200/15)*/,
8753  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8754  },
8755  // -6:00 US C%sT 2007 Mar 11 2:00
8756  {
8757  &kZonePolicyUS /*zonePolicy*/,
8758  "C%T" /*format*/,
8759  -1440 /*offsetCode (-21600/15)*/,
8760  0 /*offsetRemainder (-21600%15)*/,
8761  0 /*deltaMinutes*/,
8762  2007 /*untilYear*/,
8763  3 /*untilMonth*/,
8764  11 /*untilDay*/,
8765  480 /*untilTimeCode (7200/15)*/,
8766  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8767  },
8768  // -5:00 US E%sT
8769  {
8770  &kZonePolicyUS /*zonePolicy*/,
8771  "E%T" /*format*/,
8772  -1200 /*offsetCode (-18000/15)*/,
8773  0 /*offsetRemainder (-18000%15)*/,
8774  0 /*deltaMinutes*/,
8775  32767 /*untilYear*/,
8776  1 /*untilMonth*/,
8777  1 /*untilDay*/,
8778  0 /*untilTimeCode (0/15)*/,
8779  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8780  },
8781 
8782 };
8783 
8784 static const char kZoneNameAmerica_Indiana_Winamac[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Winamac";
8785 
8786 const complete::Info::ZoneInfo kZoneAmerica_Indiana_Winamac ACE_TIME_PROGMEM = {
8787  kZoneNameAmerica_Indiana_Winamac /*name*/,
8788  0x4413fa69 /*zoneId*/,
8789  &kZoneContext /*zoneContext*/,
8790  8 /*numEras*/,
8791  kZoneEraAmerica_Indiana_Winamac /*eras*/,
8792  nullptr /*targetInfo*/,
8793 };
8794 
8795 //---------------------------------------------------------------------------
8796 // Zone name: America/Inuvik
8797 // Eras: 4
8798 //---------------------------------------------------------------------------
8799 
8800 static const complete::Info::ZoneEra kZoneEraAmerica_Inuvik[] ACE_TIME_PROGMEM = {
8801  // 0 - -00 1953
8802  {
8803  nullptr /*zonePolicy*/,
8804  "-00" /*format*/,
8805  0 /*offsetCode (0/15)*/,
8806  0 /*offsetRemainder (0%15)*/,
8807  0 /*deltaMinutes*/,
8808  1953 /*untilYear*/,
8809  1 /*untilMonth*/,
8810  1 /*untilDay*/,
8811  0 /*untilTimeCode (0/15)*/,
8812  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8813  },
8814  // -8:00 NT_YK P%sT 1979 Apr lastSun 2:00
8815  {
8816  &kZonePolicyNT_YK /*zonePolicy*/,
8817  "P%T" /*format*/,
8818  -1920 /*offsetCode (-28800/15)*/,
8819  0 /*offsetRemainder (-28800%15)*/,
8820  0 /*deltaMinutes*/,
8821  1979 /*untilYear*/,
8822  4 /*untilMonth*/,
8823  29 /*untilDay*/,
8824  480 /*untilTimeCode (7200/15)*/,
8825  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8826  },
8827  // -7:00 NT_YK M%sT 1980
8828  {
8829  &kZonePolicyNT_YK /*zonePolicy*/,
8830  "M%T" /*format*/,
8831  -1680 /*offsetCode (-25200/15)*/,
8832  0 /*offsetRemainder (-25200%15)*/,
8833  0 /*deltaMinutes*/,
8834  1980 /*untilYear*/,
8835  1 /*untilMonth*/,
8836  1 /*untilDay*/,
8837  0 /*untilTimeCode (0/15)*/,
8838  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8839  },
8840  // -7:00 Canada M%sT
8841  {
8842  &kZonePolicyCanada /*zonePolicy*/,
8843  "M%T" /*format*/,
8844  -1680 /*offsetCode (-25200/15)*/,
8845  0 /*offsetRemainder (-25200%15)*/,
8846  0 /*deltaMinutes*/,
8847  32767 /*untilYear*/,
8848  1 /*untilMonth*/,
8849  1 /*untilDay*/,
8850  0 /*untilTimeCode (0/15)*/,
8851  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8852  },
8853 
8854 };
8855 
8856 static const char kZoneNameAmerica_Inuvik[] ACE_TIME_PROGMEM = "\x02" "Inuvik";
8857 
8858 const complete::Info::ZoneInfo kZoneAmerica_Inuvik ACE_TIME_PROGMEM = {
8859  kZoneNameAmerica_Inuvik /*name*/,
8860  0xa42189fc /*zoneId*/,
8861  &kZoneContext /*zoneContext*/,
8862  4 /*numEras*/,
8863  kZoneEraAmerica_Inuvik /*eras*/,
8864  nullptr /*targetInfo*/,
8865 };
8866 
8867 //---------------------------------------------------------------------------
8868 // Zone name: America/Iqaluit
8869 // Eras: 4
8870 //---------------------------------------------------------------------------
8871 
8872 static const complete::Info::ZoneEra kZoneEraAmerica_Iqaluit[] ACE_TIME_PROGMEM = {
8873  // 0 - -00 1942 Aug
8874  {
8875  nullptr /*zonePolicy*/,
8876  "-00" /*format*/,
8877  0 /*offsetCode (0/15)*/,
8878  0 /*offsetRemainder (0%15)*/,
8879  0 /*deltaMinutes*/,
8880  1942 /*untilYear*/,
8881  8 /*untilMonth*/,
8882  1 /*untilDay*/,
8883  0 /*untilTimeCode (0/15)*/,
8884  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8885  },
8886  // -5:00 NT_YK E%sT 1999 Oct 31 2:00
8887  {
8888  &kZonePolicyNT_YK /*zonePolicy*/,
8889  "E%T" /*format*/,
8890  -1200 /*offsetCode (-18000/15)*/,
8891  0 /*offsetRemainder (-18000%15)*/,
8892  0 /*deltaMinutes*/,
8893  1999 /*untilYear*/,
8894  10 /*untilMonth*/,
8895  31 /*untilDay*/,
8896  480 /*untilTimeCode (7200/15)*/,
8897  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8898  },
8899  // -6:00 Canada C%sT 2000 Oct 29 2:00
8900  {
8901  &kZonePolicyCanada /*zonePolicy*/,
8902  "C%T" /*format*/,
8903  -1440 /*offsetCode (-21600/15)*/,
8904  0 /*offsetRemainder (-21600%15)*/,
8905  0 /*deltaMinutes*/,
8906  2000 /*untilYear*/,
8907  10 /*untilMonth*/,
8908  29 /*untilDay*/,
8909  480 /*untilTimeCode (7200/15)*/,
8910  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8911  },
8912  // -5:00 Canada E%sT
8913  {
8914  &kZonePolicyCanada /*zonePolicy*/,
8915  "E%T" /*format*/,
8916  -1200 /*offsetCode (-18000/15)*/,
8917  0 /*offsetRemainder (-18000%15)*/,
8918  0 /*deltaMinutes*/,
8919  32767 /*untilYear*/,
8920  1 /*untilMonth*/,
8921  1 /*untilDay*/,
8922  0 /*untilTimeCode (0/15)*/,
8923  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8924  },
8925 
8926 };
8927 
8928 static const char kZoneNameAmerica_Iqaluit[] ACE_TIME_PROGMEM = "\x02" "Iqaluit";
8929 
8930 const complete::Info::ZoneInfo kZoneAmerica_Iqaluit ACE_TIME_PROGMEM = {
8931  kZoneNameAmerica_Iqaluit /*name*/,
8932  0x2de310bf /*zoneId*/,
8933  &kZoneContext /*zoneContext*/,
8934  4 /*numEras*/,
8935  kZoneEraAmerica_Iqaluit /*eras*/,
8936  nullptr /*targetInfo*/,
8937 };
8938 
8939 //---------------------------------------------------------------------------
8940 // Zone name: America/Jamaica
8941 // Eras: 5
8942 //---------------------------------------------------------------------------
8943 
8944 static const complete::Info::ZoneEra kZoneEraAmerica_Jamaica[] ACE_TIME_PROGMEM = {
8945  // -5:07:10 - LMT 1890
8946  {
8947  nullptr /*zonePolicy*/,
8948  "LMT" /*format*/,
8949  -1229 /*offsetCode (-18430/15)*/,
8950  5 /*offsetRemainder (-18430%15)*/,
8951  0 /*deltaMinutes*/,
8952  1890 /*untilYear*/,
8953  1 /*untilMonth*/,
8954  1 /*untilDay*/,
8955  0 /*untilTimeCode (0/15)*/,
8956  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8957  },
8958  // -5:07:10 - KMT 1912 Feb
8959  {
8960  nullptr /*zonePolicy*/,
8961  "KMT" /*format*/,
8962  -1229 /*offsetCode (-18430/15)*/,
8963  5 /*offsetRemainder (-18430%15)*/,
8964  0 /*deltaMinutes*/,
8965  1912 /*untilYear*/,
8966  2 /*untilMonth*/,
8967  1 /*untilDay*/,
8968  0 /*untilTimeCode (0/15)*/,
8969  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8970  },
8971  // -5:00 - EST 1974
8972  {
8973  nullptr /*zonePolicy*/,
8974  "EST" /*format*/,
8975  -1200 /*offsetCode (-18000/15)*/,
8976  0 /*offsetRemainder (-18000%15)*/,
8977  0 /*deltaMinutes*/,
8978  1974 /*untilYear*/,
8979  1 /*untilMonth*/,
8980  1 /*untilDay*/,
8981  0 /*untilTimeCode (0/15)*/,
8982  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8983  },
8984  // -5:00 US E%sT 1984
8985  {
8986  &kZonePolicyUS /*zonePolicy*/,
8987  "E%T" /*format*/,
8988  -1200 /*offsetCode (-18000/15)*/,
8989  0 /*offsetRemainder (-18000%15)*/,
8990  0 /*deltaMinutes*/,
8991  1984 /*untilYear*/,
8992  1 /*untilMonth*/,
8993  1 /*untilDay*/,
8994  0 /*untilTimeCode (0/15)*/,
8995  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8996  },
8997  // -5:00 - EST
8998  {
8999  nullptr /*zonePolicy*/,
9000  "EST" /*format*/,
9001  -1200 /*offsetCode (-18000/15)*/,
9002  0 /*offsetRemainder (-18000%15)*/,
9003  0 /*deltaMinutes*/,
9004  32767 /*untilYear*/,
9005  1 /*untilMonth*/,
9006  1 /*untilDay*/,
9007  0 /*untilTimeCode (0/15)*/,
9008  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9009  },
9010 
9011 };
9012 
9013 static const char kZoneNameAmerica_Jamaica[] ACE_TIME_PROGMEM = "\x02" "Jamaica";
9014 
9015 const complete::Info::ZoneInfo kZoneAmerica_Jamaica ACE_TIME_PROGMEM = {
9016  kZoneNameAmerica_Jamaica /*name*/,
9017  0x565dad6c /*zoneId*/,
9018  &kZoneContext /*zoneContext*/,
9019  5 /*numEras*/,
9020  kZoneEraAmerica_Jamaica /*eras*/,
9021  nullptr /*targetInfo*/,
9022 };
9023 
9024 //---------------------------------------------------------------------------
9025 // Zone name: America/Juneau
9026 // Eras: 10
9027 //---------------------------------------------------------------------------
9028 
9029 static const complete::Info::ZoneEra kZoneEraAmerica_Juneau[] ACE_TIME_PROGMEM = {
9030  // 15:02:19 - LMT 1867 Oct 19 15:33:32
9031  {
9032  nullptr /*zonePolicy*/,
9033  "LMT" /*format*/,
9034  3609 /*offsetCode (54139/15)*/,
9035  4 /*offsetRemainder (54139%15)*/,
9036  0 /*deltaMinutes*/,
9037  1867 /*untilYear*/,
9038  10 /*untilMonth*/,
9039  19 /*untilDay*/,
9040  3734 /*untilTimeCode (56012/15)*/,
9041  2 /*untilTimeModifier (kAtcSuffixW + seconds=2)*/,
9042  },
9043  // -8:57:41 - LMT 1900 Aug 20 12:00
9044  {
9045  nullptr /*zonePolicy*/,
9046  "LMT" /*format*/,
9047  -2151 /*offsetCode (-32261/15)*/,
9048  4 /*offsetRemainder (-32261%15)*/,
9049  0 /*deltaMinutes*/,
9050  1900 /*untilYear*/,
9051  8 /*untilMonth*/,
9052  20 /*untilDay*/,
9053  2880 /*untilTimeCode (43200/15)*/,
9054  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9055  },
9056  // -8:00 - PST 1942
9057  {
9058  nullptr /*zonePolicy*/,
9059  "PST" /*format*/,
9060  -1920 /*offsetCode (-28800/15)*/,
9061  0 /*offsetRemainder (-28800%15)*/,
9062  0 /*deltaMinutes*/,
9063  1942 /*untilYear*/,
9064  1 /*untilMonth*/,
9065  1 /*untilDay*/,
9066  0 /*untilTimeCode (0/15)*/,
9067  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9068  },
9069  // -8:00 US P%sT 1946
9070  {
9071  &kZonePolicyUS /*zonePolicy*/,
9072  "P%T" /*format*/,
9073  -1920 /*offsetCode (-28800/15)*/,
9074  0 /*offsetRemainder (-28800%15)*/,
9075  0 /*deltaMinutes*/,
9076  1946 /*untilYear*/,
9077  1 /*untilMonth*/,
9078  1 /*untilDay*/,
9079  0 /*untilTimeCode (0/15)*/,
9080  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9081  },
9082  // -8:00 - PST 1969
9083  {
9084  nullptr /*zonePolicy*/,
9085  "PST" /*format*/,
9086  -1920 /*offsetCode (-28800/15)*/,
9087  0 /*offsetRemainder (-28800%15)*/,
9088  0 /*deltaMinutes*/,
9089  1969 /*untilYear*/,
9090  1 /*untilMonth*/,
9091  1 /*untilDay*/,
9092  0 /*untilTimeCode (0/15)*/,
9093  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9094  },
9095  // -8:00 US P%sT 1980 Apr 27 2:00
9096  {
9097  &kZonePolicyUS /*zonePolicy*/,
9098  "P%T" /*format*/,
9099  -1920 /*offsetCode (-28800/15)*/,
9100  0 /*offsetRemainder (-28800%15)*/,
9101  0 /*deltaMinutes*/,
9102  1980 /*untilYear*/,
9103  4 /*untilMonth*/,
9104  27 /*untilDay*/,
9105  480 /*untilTimeCode (7200/15)*/,
9106  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9107  },
9108  // -9:00 US Y%sT 1980 Oct 26 2:00
9109  {
9110  &kZonePolicyUS /*zonePolicy*/,
9111  "Y%T" /*format*/,
9112  -2160 /*offsetCode (-32400/15)*/,
9113  0 /*offsetRemainder (-32400%15)*/,
9114  0 /*deltaMinutes*/,
9115  1980 /*untilYear*/,
9116  10 /*untilMonth*/,
9117  26 /*untilDay*/,
9118  480 /*untilTimeCode (7200/15)*/,
9119  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9120  },
9121  // -8:00 US P%sT 1983 Oct 30 2:00
9122  {
9123  &kZonePolicyUS /*zonePolicy*/,
9124  "P%T" /*format*/,
9125  -1920 /*offsetCode (-28800/15)*/,
9126  0 /*offsetRemainder (-28800%15)*/,
9127  0 /*deltaMinutes*/,
9128  1983 /*untilYear*/,
9129  10 /*untilMonth*/,
9130  30 /*untilDay*/,
9131  480 /*untilTimeCode (7200/15)*/,
9132  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9133  },
9134  // -9:00 US Y%sT 1983 Nov 30
9135  {
9136  &kZonePolicyUS /*zonePolicy*/,
9137  "Y%T" /*format*/,
9138  -2160 /*offsetCode (-32400/15)*/,
9139  0 /*offsetRemainder (-32400%15)*/,
9140  0 /*deltaMinutes*/,
9141  1983 /*untilYear*/,
9142  11 /*untilMonth*/,
9143  30 /*untilDay*/,
9144  0 /*untilTimeCode (0/15)*/,
9145  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9146  },
9147  // -9:00 US AK%sT
9148  {
9149  &kZonePolicyUS /*zonePolicy*/,
9150  "AK%T" /*format*/,
9151  -2160 /*offsetCode (-32400/15)*/,
9152  0 /*offsetRemainder (-32400%15)*/,
9153  0 /*deltaMinutes*/,
9154  32767 /*untilYear*/,
9155  1 /*untilMonth*/,
9156  1 /*untilDay*/,
9157  0 /*untilTimeCode (0/15)*/,
9158  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9159  },
9160 
9161 };
9162 
9163 static const char kZoneNameAmerica_Juneau[] ACE_TIME_PROGMEM = "\x02" "Juneau";
9164 
9165 const complete::Info::ZoneInfo kZoneAmerica_Juneau ACE_TIME_PROGMEM = {
9166  kZoneNameAmerica_Juneau /*name*/,
9167  0xa6f13e2e /*zoneId*/,
9168  &kZoneContext /*zoneContext*/,
9169  10 /*numEras*/,
9170  kZoneEraAmerica_Juneau /*eras*/,
9171  nullptr /*targetInfo*/,
9172 };
9173 
9174 //---------------------------------------------------------------------------
9175 // Zone name: America/Kentucky/Louisville
9176 // Eras: 9
9177 //---------------------------------------------------------------------------
9178 
9179 static const complete::Info::ZoneEra kZoneEraAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = {
9180  // -5:43:02 - LMT 1883 Nov 18 18:00u
9181  {
9182  nullptr /*zonePolicy*/,
9183  "LMT" /*format*/,
9184  -1373 /*offsetCode (-20582/15)*/,
9185  13 /*offsetRemainder (-20582%15)*/,
9186  0 /*deltaMinutes*/,
9187  1883 /*untilYear*/,
9188  11 /*untilMonth*/,
9189  18 /*untilDay*/,
9190  4320 /*untilTimeCode (64800/15)*/,
9191  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
9192  },
9193  // -6:00 US C%sT 1921
9194  {
9195  &kZonePolicyUS /*zonePolicy*/,
9196  "C%T" /*format*/,
9197  -1440 /*offsetCode (-21600/15)*/,
9198  0 /*offsetRemainder (-21600%15)*/,
9199  0 /*deltaMinutes*/,
9200  1921 /*untilYear*/,
9201  1 /*untilMonth*/,
9202  1 /*untilDay*/,
9203  0 /*untilTimeCode (0/15)*/,
9204  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9205  },
9206  // -6:00 Louisville C%sT 1942
9207  {
9208  &kZonePolicyLouisville /*zonePolicy*/,
9209  "C%T" /*format*/,
9210  -1440 /*offsetCode (-21600/15)*/,
9211  0 /*offsetRemainder (-21600%15)*/,
9212  0 /*deltaMinutes*/,
9213  1942 /*untilYear*/,
9214  1 /*untilMonth*/,
9215  1 /*untilDay*/,
9216  0 /*untilTimeCode (0/15)*/,
9217  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9218  },
9219  // -6:00 US C%sT 1946
9220  {
9221  &kZonePolicyUS /*zonePolicy*/,
9222  "C%T" /*format*/,
9223  -1440 /*offsetCode (-21600/15)*/,
9224  0 /*offsetRemainder (-21600%15)*/,
9225  0 /*deltaMinutes*/,
9226  1946 /*untilYear*/,
9227  1 /*untilMonth*/,
9228  1 /*untilDay*/,
9229  0 /*untilTimeCode (0/15)*/,
9230  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9231  },
9232  // -6:00 Louisville C%sT 1961 Jul 23 2:00
9233  {
9234  &kZonePolicyLouisville /*zonePolicy*/,
9235  "C%T" /*format*/,
9236  -1440 /*offsetCode (-21600/15)*/,
9237  0 /*offsetRemainder (-21600%15)*/,
9238  0 /*deltaMinutes*/,
9239  1961 /*untilYear*/,
9240  7 /*untilMonth*/,
9241  23 /*untilDay*/,
9242  480 /*untilTimeCode (7200/15)*/,
9243  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9244  },
9245  // -5:00 - EST 1968
9246  {
9247  nullptr /*zonePolicy*/,
9248  "EST" /*format*/,
9249  -1200 /*offsetCode (-18000/15)*/,
9250  0 /*offsetRemainder (-18000%15)*/,
9251  0 /*deltaMinutes*/,
9252  1968 /*untilYear*/,
9253  1 /*untilMonth*/,
9254  1 /*untilDay*/,
9255  0 /*untilTimeCode (0/15)*/,
9256  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9257  },
9258  // -5:00 US E%sT 1974 Jan 6 2:00
9259  {
9260  &kZonePolicyUS /*zonePolicy*/,
9261  "E%T" /*format*/,
9262  -1200 /*offsetCode (-18000/15)*/,
9263  0 /*offsetRemainder (-18000%15)*/,
9264  0 /*deltaMinutes*/,
9265  1974 /*untilYear*/,
9266  1 /*untilMonth*/,
9267  6 /*untilDay*/,
9268  480 /*untilTimeCode (7200/15)*/,
9269  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9270  },
9271  // -6:00 1:00 CDT 1974 Oct 27 2:00
9272  {
9273  nullptr /*zonePolicy*/,
9274  "CDT" /*format*/,
9275  -1440 /*offsetCode (-21600/15)*/,
9276  0 /*offsetRemainder (-21600%15)*/,
9277  60 /*deltaMinutes*/,
9278  1974 /*untilYear*/,
9279  10 /*untilMonth*/,
9280  27 /*untilDay*/,
9281  480 /*untilTimeCode (7200/15)*/,
9282  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9283  },
9284  // -5:00 US E%sT
9285  {
9286  &kZonePolicyUS /*zonePolicy*/,
9287  "E%T" /*format*/,
9288  -1200 /*offsetCode (-18000/15)*/,
9289  0 /*offsetRemainder (-18000%15)*/,
9290  0 /*deltaMinutes*/,
9291  32767 /*untilYear*/,
9292  1 /*untilMonth*/,
9293  1 /*untilDay*/,
9294  0 /*untilTimeCode (0/15)*/,
9295  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9296  },
9297 
9298 };
9299 
9300 static const char kZoneNameAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = "\x02" "Kentucky/Louisville";
9301 
9302 const complete::Info::ZoneInfo kZoneAmerica_Kentucky_Louisville ACE_TIME_PROGMEM = {
9303  kZoneNameAmerica_Kentucky_Louisville /*name*/,
9304  0x1a21024b /*zoneId*/,
9305  &kZoneContext /*zoneContext*/,
9306  9 /*numEras*/,
9307  kZoneEraAmerica_Kentucky_Louisville /*eras*/,
9308  nullptr /*targetInfo*/,
9309 };
9310 
9311 //---------------------------------------------------------------------------
9312 // Zone name: America/Kentucky/Monticello
9313 // Eras: 5
9314 //---------------------------------------------------------------------------
9315 
9316 static const complete::Info::ZoneEra kZoneEraAmerica_Kentucky_Monticello[] ACE_TIME_PROGMEM = {
9317  // -5:39:24 - LMT 1883 Nov 18 18:00u
9318  {
9319  nullptr /*zonePolicy*/,
9320  "LMT" /*format*/,
9321  -1358 /*offsetCode (-20364/15)*/,
9322  6 /*offsetRemainder (-20364%15)*/,
9323  0 /*deltaMinutes*/,
9324  1883 /*untilYear*/,
9325  11 /*untilMonth*/,
9326  18 /*untilDay*/,
9327  4320 /*untilTimeCode (64800/15)*/,
9328  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
9329  },
9330  // -6:00 US C%sT 1946
9331  {
9332  &kZonePolicyUS /*zonePolicy*/,
9333  "C%T" /*format*/,
9334  -1440 /*offsetCode (-21600/15)*/,
9335  0 /*offsetRemainder (-21600%15)*/,
9336  0 /*deltaMinutes*/,
9337  1946 /*untilYear*/,
9338  1 /*untilMonth*/,
9339  1 /*untilDay*/,
9340  0 /*untilTimeCode (0/15)*/,
9341  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9342  },
9343  // -6:00 - CST 1968
9344  {
9345  nullptr /*zonePolicy*/,
9346  "CST" /*format*/,
9347  -1440 /*offsetCode (-21600/15)*/,
9348  0 /*offsetRemainder (-21600%15)*/,
9349  0 /*deltaMinutes*/,
9350  1968 /*untilYear*/,
9351  1 /*untilMonth*/,
9352  1 /*untilDay*/,
9353  0 /*untilTimeCode (0/15)*/,
9354  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9355  },
9356  // -6:00 US C%sT 2000 Oct 29 2:00
9357  {
9358  &kZonePolicyUS /*zonePolicy*/,
9359  "C%T" /*format*/,
9360  -1440 /*offsetCode (-21600/15)*/,
9361  0 /*offsetRemainder (-21600%15)*/,
9362  0 /*deltaMinutes*/,
9363  2000 /*untilYear*/,
9364  10 /*untilMonth*/,
9365  29 /*untilDay*/,
9366  480 /*untilTimeCode (7200/15)*/,
9367  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9368  },
9369  // -5:00 US E%sT
9370  {
9371  &kZonePolicyUS /*zonePolicy*/,
9372  "E%T" /*format*/,
9373  -1200 /*offsetCode (-18000/15)*/,
9374  0 /*offsetRemainder (-18000%15)*/,
9375  0 /*deltaMinutes*/,
9376  32767 /*untilYear*/,
9377  1 /*untilMonth*/,
9378  1 /*untilDay*/,
9379  0 /*untilTimeCode (0/15)*/,
9380  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9381  },
9382 
9383 };
9384 
9385 static const char kZoneNameAmerica_Kentucky_Monticello[] ACE_TIME_PROGMEM = "\x02" "Kentucky/Monticello";
9386 
9387 const complete::Info::ZoneInfo kZoneAmerica_Kentucky_Monticello ACE_TIME_PROGMEM = {
9388  kZoneNameAmerica_Kentucky_Monticello /*name*/,
9389  0xde71c439 /*zoneId*/,
9390  &kZoneContext /*zoneContext*/,
9391  5 /*numEras*/,
9392  kZoneEraAmerica_Kentucky_Monticello /*eras*/,
9393  nullptr /*targetInfo*/,
9394 };
9395 
9396 //---------------------------------------------------------------------------
9397 // Zone name: America/La_Paz
9398 // Eras: 4
9399 //---------------------------------------------------------------------------
9400 
9401 static const complete::Info::ZoneEra kZoneEraAmerica_La_Paz[] ACE_TIME_PROGMEM = {
9402  // -4:32:36 - LMT 1890
9403  {
9404  nullptr /*zonePolicy*/,
9405  "LMT" /*format*/,
9406  -1091 /*offsetCode (-16356/15)*/,
9407  9 /*offsetRemainder (-16356%15)*/,
9408  0 /*deltaMinutes*/,
9409  1890 /*untilYear*/,
9410  1 /*untilMonth*/,
9411  1 /*untilDay*/,
9412  0 /*untilTimeCode (0/15)*/,
9413  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9414  },
9415  // -4:32:36 - CMT 1931 Oct 15
9416  {
9417  nullptr /*zonePolicy*/,
9418  "CMT" /*format*/,
9419  -1091 /*offsetCode (-16356/15)*/,
9420  9 /*offsetRemainder (-16356%15)*/,
9421  0 /*deltaMinutes*/,
9422  1931 /*untilYear*/,
9423  10 /*untilMonth*/,
9424  15 /*untilDay*/,
9425  0 /*untilTimeCode (0/15)*/,
9426  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9427  },
9428  // -4:32:36 1:00 BST 1932 Mar 21
9429  {
9430  nullptr /*zonePolicy*/,
9431  "BST" /*format*/,
9432  -1091 /*offsetCode (-16356/15)*/,
9433  9 /*offsetRemainder (-16356%15)*/,
9434  60 /*deltaMinutes*/,
9435  1932 /*untilYear*/,
9436  3 /*untilMonth*/,
9437  21 /*untilDay*/,
9438  0 /*untilTimeCode (0/15)*/,
9439  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9440  },
9441  // -4:00 - %z
9442  {
9443  nullptr /*zonePolicy*/,
9444  "" /*format*/,
9445  -960 /*offsetCode (-14400/15)*/,
9446  0 /*offsetRemainder (-14400%15)*/,
9447  0 /*deltaMinutes*/,
9448  32767 /*untilYear*/,
9449  1 /*untilMonth*/,
9450  1 /*untilDay*/,
9451  0 /*untilTimeCode (0/15)*/,
9452  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9453  },
9454 
9455 };
9456 
9457 static const char kZoneNameAmerica_La_Paz[] ACE_TIME_PROGMEM = "\x02" "La_Paz";
9458 
9459 const complete::Info::ZoneInfo kZoneAmerica_La_Paz ACE_TIME_PROGMEM = {
9460  kZoneNameAmerica_La_Paz /*name*/,
9461  0xaa29125d /*zoneId*/,
9462  &kZoneContext /*zoneContext*/,
9463  4 /*numEras*/,
9464  kZoneEraAmerica_La_Paz /*eras*/,
9465  nullptr /*targetInfo*/,
9466 };
9467 
9468 //---------------------------------------------------------------------------
9469 // Zone name: America/Lima
9470 // Eras: 3
9471 //---------------------------------------------------------------------------
9472 
9473 static const complete::Info::ZoneEra kZoneEraAmerica_Lima[] ACE_TIME_PROGMEM = {
9474  // -5:08:12 - LMT 1890
9475  {
9476  nullptr /*zonePolicy*/,
9477  "LMT" /*format*/,
9478  -1233 /*offsetCode (-18492/15)*/,
9479  3 /*offsetRemainder (-18492%15)*/,
9480  0 /*deltaMinutes*/,
9481  1890 /*untilYear*/,
9482  1 /*untilMonth*/,
9483  1 /*untilDay*/,
9484  0 /*untilTimeCode (0/15)*/,
9485  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9486  },
9487  // -5:08:36 - LMT 1908 Jul 28
9488  {
9489  nullptr /*zonePolicy*/,
9490  "LMT" /*format*/,
9491  -1235 /*offsetCode (-18516/15)*/,
9492  9 /*offsetRemainder (-18516%15)*/,
9493  0 /*deltaMinutes*/,
9494  1908 /*untilYear*/,
9495  7 /*untilMonth*/,
9496  28 /*untilDay*/,
9497  0 /*untilTimeCode (0/15)*/,
9498  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9499  },
9500  // -5:00 Peru %z
9501  {
9502  &kZonePolicyPeru /*zonePolicy*/,
9503  "" /*format*/,
9504  -1200 /*offsetCode (-18000/15)*/,
9505  0 /*offsetRemainder (-18000%15)*/,
9506  0 /*deltaMinutes*/,
9507  32767 /*untilYear*/,
9508  1 /*untilMonth*/,
9509  1 /*untilDay*/,
9510  0 /*untilTimeCode (0/15)*/,
9511  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9512  },
9513 
9514 };
9515 
9516 static const char kZoneNameAmerica_Lima[] ACE_TIME_PROGMEM = "\x02" "Lima";
9517 
9518 const complete::Info::ZoneInfo kZoneAmerica_Lima ACE_TIME_PROGMEM = {
9519  kZoneNameAmerica_Lima /*name*/,
9520  0x980468c9 /*zoneId*/,
9521  &kZoneContext /*zoneContext*/,
9522  3 /*numEras*/,
9523  kZoneEraAmerica_Lima /*eras*/,
9524  nullptr /*targetInfo*/,
9525 };
9526 
9527 //---------------------------------------------------------------------------
9528 // Zone name: America/Los_Angeles
9529 // Eras: 4
9530 //---------------------------------------------------------------------------
9531 
9532 static const complete::Info::ZoneEra kZoneEraAmerica_Los_Angeles[] ACE_TIME_PROGMEM = {
9533  // -7:52:58 - LMT 1883 Nov 18 20:00u
9534  {
9535  nullptr /*zonePolicy*/,
9536  "LMT" /*format*/,
9537  -1892 /*offsetCode (-28378/15)*/,
9538  2 /*offsetRemainder (-28378%15)*/,
9539  0 /*deltaMinutes*/,
9540  1883 /*untilYear*/,
9541  11 /*untilMonth*/,
9542  18 /*untilDay*/,
9543  4800 /*untilTimeCode (72000/15)*/,
9544  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
9545  },
9546  // -8:00 US P%sT 1946
9547  {
9548  &kZonePolicyUS /*zonePolicy*/,
9549  "P%T" /*format*/,
9550  -1920 /*offsetCode (-28800/15)*/,
9551  0 /*offsetRemainder (-28800%15)*/,
9552  0 /*deltaMinutes*/,
9553  1946 /*untilYear*/,
9554  1 /*untilMonth*/,
9555  1 /*untilDay*/,
9556  0 /*untilTimeCode (0/15)*/,
9557  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9558  },
9559  // -8:00 CA P%sT 1967
9560  {
9561  &kZonePolicyCA /*zonePolicy*/,
9562  "P%T" /*format*/,
9563  -1920 /*offsetCode (-28800/15)*/,
9564  0 /*offsetRemainder (-28800%15)*/,
9565  0 /*deltaMinutes*/,
9566  1967 /*untilYear*/,
9567  1 /*untilMonth*/,
9568  1 /*untilDay*/,
9569  0 /*untilTimeCode (0/15)*/,
9570  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9571  },
9572  // -8:00 US P%sT
9573  {
9574  &kZonePolicyUS /*zonePolicy*/,
9575  "P%T" /*format*/,
9576  -1920 /*offsetCode (-28800/15)*/,
9577  0 /*offsetRemainder (-28800%15)*/,
9578  0 /*deltaMinutes*/,
9579  32767 /*untilYear*/,
9580  1 /*untilMonth*/,
9581  1 /*untilDay*/,
9582  0 /*untilTimeCode (0/15)*/,
9583  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9584  },
9585 
9586 };
9587 
9588 static const char kZoneNameAmerica_Los_Angeles[] ACE_TIME_PROGMEM = "\x02" "Los_Angeles";
9589 
9590 const complete::Info::ZoneInfo kZoneAmerica_Los_Angeles ACE_TIME_PROGMEM = {
9591  kZoneNameAmerica_Los_Angeles /*name*/,
9592  0xb7f7e8f2 /*zoneId*/,
9593  &kZoneContext /*zoneContext*/,
9594  4 /*numEras*/,
9595  kZoneEraAmerica_Los_Angeles /*eras*/,
9596  nullptr /*targetInfo*/,
9597 };
9598 
9599 //---------------------------------------------------------------------------
9600 // Zone name: America/Maceio
9601 // Eras: 9
9602 //---------------------------------------------------------------------------
9603 
9604 static const complete::Info::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = {
9605  // -2:22:52 - LMT 1914
9606  {
9607  nullptr /*zonePolicy*/,
9608  "LMT" /*format*/,
9609  -572 /*offsetCode (-8572/15)*/,
9610  8 /*offsetRemainder (-8572%15)*/,
9611  0 /*deltaMinutes*/,
9612  1914 /*untilYear*/,
9613  1 /*untilMonth*/,
9614  1 /*untilDay*/,
9615  0 /*untilTimeCode (0/15)*/,
9616  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9617  },
9618  // -3:00 Brazil %z 1990 Sep 17
9619  {
9620  &kZonePolicyBrazil /*zonePolicy*/,
9621  "" /*format*/,
9622  -720 /*offsetCode (-10800/15)*/,
9623  0 /*offsetRemainder (-10800%15)*/,
9624  0 /*deltaMinutes*/,
9625  1990 /*untilYear*/,
9626  9 /*untilMonth*/,
9627  17 /*untilDay*/,
9628  0 /*untilTimeCode (0/15)*/,
9629  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9630  },
9631  // -3:00 - %z 1995 Oct 13
9632  {
9633  nullptr /*zonePolicy*/,
9634  "" /*format*/,
9635  -720 /*offsetCode (-10800/15)*/,
9636  0 /*offsetRemainder (-10800%15)*/,
9637  0 /*deltaMinutes*/,
9638  1995 /*untilYear*/,
9639  10 /*untilMonth*/,
9640  13 /*untilDay*/,
9641  0 /*untilTimeCode (0/15)*/,
9642  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9643  },
9644  // -3:00 Brazil %z 1996 Sep 4
9645  {
9646  &kZonePolicyBrazil /*zonePolicy*/,
9647  "" /*format*/,
9648  -720 /*offsetCode (-10800/15)*/,
9649  0 /*offsetRemainder (-10800%15)*/,
9650  0 /*deltaMinutes*/,
9651  1996 /*untilYear*/,
9652  9 /*untilMonth*/,
9653  4 /*untilDay*/,
9654  0 /*untilTimeCode (0/15)*/,
9655  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9656  },
9657  // -3:00 - %z 1999 Sep 30
9658  {
9659  nullptr /*zonePolicy*/,
9660  "" /*format*/,
9661  -720 /*offsetCode (-10800/15)*/,
9662  0 /*offsetRemainder (-10800%15)*/,
9663  0 /*deltaMinutes*/,
9664  1999 /*untilYear*/,
9665  9 /*untilMonth*/,
9666  30 /*untilDay*/,
9667  0 /*untilTimeCode (0/15)*/,
9668  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9669  },
9670  // -3:00 Brazil %z 2000 Oct 22
9671  {
9672  &kZonePolicyBrazil /*zonePolicy*/,
9673  "" /*format*/,
9674  -720 /*offsetCode (-10800/15)*/,
9675  0 /*offsetRemainder (-10800%15)*/,
9676  0 /*deltaMinutes*/,
9677  2000 /*untilYear*/,
9678  10 /*untilMonth*/,
9679  22 /*untilDay*/,
9680  0 /*untilTimeCode (0/15)*/,
9681  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9682  },
9683  // -3:00 - %z 2001 Sep 13
9684  {
9685  nullptr /*zonePolicy*/,
9686  "" /*format*/,
9687  -720 /*offsetCode (-10800/15)*/,
9688  0 /*offsetRemainder (-10800%15)*/,
9689  0 /*deltaMinutes*/,
9690  2001 /*untilYear*/,
9691  9 /*untilMonth*/,
9692  13 /*untilDay*/,
9693  0 /*untilTimeCode (0/15)*/,
9694  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9695  },
9696  // -3:00 Brazil %z 2002 Oct 1
9697  {
9698  &kZonePolicyBrazil /*zonePolicy*/,
9699  "" /*format*/,
9700  -720 /*offsetCode (-10800/15)*/,
9701  0 /*offsetRemainder (-10800%15)*/,
9702  0 /*deltaMinutes*/,
9703  2002 /*untilYear*/,
9704  10 /*untilMonth*/,
9705  1 /*untilDay*/,
9706  0 /*untilTimeCode (0/15)*/,
9707  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9708  },
9709  // -3:00 - %z
9710  {
9711  nullptr /*zonePolicy*/,
9712  "" /*format*/,
9713  -720 /*offsetCode (-10800/15)*/,
9714  0 /*offsetRemainder (-10800%15)*/,
9715  0 /*deltaMinutes*/,
9716  32767 /*untilYear*/,
9717  1 /*untilMonth*/,
9718  1 /*untilDay*/,
9719  0 /*untilTimeCode (0/15)*/,
9720  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9721  },
9722 
9723 };
9724 
9725 static const char kZoneNameAmerica_Maceio[] ACE_TIME_PROGMEM = "\x02" "Maceio";
9726 
9727 const complete::Info::ZoneInfo kZoneAmerica_Maceio ACE_TIME_PROGMEM = {
9728  kZoneNameAmerica_Maceio /*name*/,
9729  0xac80c6d4 /*zoneId*/,
9730  &kZoneContext /*zoneContext*/,
9731  9 /*numEras*/,
9732  kZoneEraAmerica_Maceio /*eras*/,
9733  nullptr /*targetInfo*/,
9734 };
9735 
9736 //---------------------------------------------------------------------------
9737 // Zone name: America/Managua
9738 // Eras: 9
9739 //---------------------------------------------------------------------------
9740 
9741 static const complete::Info::ZoneEra kZoneEraAmerica_Managua[] ACE_TIME_PROGMEM = {
9742  // -5:45:08 - LMT 1890
9743  {
9744  nullptr /*zonePolicy*/,
9745  "LMT" /*format*/,
9746  -1381 /*offsetCode (-20708/15)*/,
9747  7 /*offsetRemainder (-20708%15)*/,
9748  0 /*deltaMinutes*/,
9749  1890 /*untilYear*/,
9750  1 /*untilMonth*/,
9751  1 /*untilDay*/,
9752  0 /*untilTimeCode (0/15)*/,
9753  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9754  },
9755  // -5:45:12 - MMT 1934 Jun 23
9756  {
9757  nullptr /*zonePolicy*/,
9758  "MMT" /*format*/,
9759  -1381 /*offsetCode (-20712/15)*/,
9760  3 /*offsetRemainder (-20712%15)*/,
9761  0 /*deltaMinutes*/,
9762  1934 /*untilYear*/,
9763  6 /*untilMonth*/,
9764  23 /*untilDay*/,
9765  0 /*untilTimeCode (0/15)*/,
9766  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9767  },
9768  // -6:00 - CST 1973 May
9769  {
9770  nullptr /*zonePolicy*/,
9771  "CST" /*format*/,
9772  -1440 /*offsetCode (-21600/15)*/,
9773  0 /*offsetRemainder (-21600%15)*/,
9774  0 /*deltaMinutes*/,
9775  1973 /*untilYear*/,
9776  5 /*untilMonth*/,
9777  1 /*untilDay*/,
9778  0 /*untilTimeCode (0/15)*/,
9779  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9780  },
9781  // -5:00 - EST 1975 Feb 16
9782  {
9783  nullptr /*zonePolicy*/,
9784  "EST" /*format*/,
9785  -1200 /*offsetCode (-18000/15)*/,
9786  0 /*offsetRemainder (-18000%15)*/,
9787  0 /*deltaMinutes*/,
9788  1975 /*untilYear*/,
9789  2 /*untilMonth*/,
9790  16 /*untilDay*/,
9791  0 /*untilTimeCode (0/15)*/,
9792  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9793  },
9794  // -6:00 Nic C%sT 1992 Jan 1 4:00
9795  {
9796  &kZonePolicyNic /*zonePolicy*/,
9797  "C%T" /*format*/,
9798  -1440 /*offsetCode (-21600/15)*/,
9799  0 /*offsetRemainder (-21600%15)*/,
9800  0 /*deltaMinutes*/,
9801  1992 /*untilYear*/,
9802  1 /*untilMonth*/,
9803  1 /*untilDay*/,
9804  960 /*untilTimeCode (14400/15)*/,
9805  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9806  },
9807  // -5:00 - EST 1992 Sep 24
9808  {
9809  nullptr /*zonePolicy*/,
9810  "EST" /*format*/,
9811  -1200 /*offsetCode (-18000/15)*/,
9812  0 /*offsetRemainder (-18000%15)*/,
9813  0 /*deltaMinutes*/,
9814  1992 /*untilYear*/,
9815  9 /*untilMonth*/,
9816  24 /*untilDay*/,
9817  0 /*untilTimeCode (0/15)*/,
9818  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9819  },
9820  // -6:00 - CST 1993
9821  {
9822  nullptr /*zonePolicy*/,
9823  "CST" /*format*/,
9824  -1440 /*offsetCode (-21600/15)*/,
9825  0 /*offsetRemainder (-21600%15)*/,
9826  0 /*deltaMinutes*/,
9827  1993 /*untilYear*/,
9828  1 /*untilMonth*/,
9829  1 /*untilDay*/,
9830  0 /*untilTimeCode (0/15)*/,
9831  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9832  },
9833  // -5:00 - EST 1997
9834  {
9835  nullptr /*zonePolicy*/,
9836  "EST" /*format*/,
9837  -1200 /*offsetCode (-18000/15)*/,
9838  0 /*offsetRemainder (-18000%15)*/,
9839  0 /*deltaMinutes*/,
9840  1997 /*untilYear*/,
9841  1 /*untilMonth*/,
9842  1 /*untilDay*/,
9843  0 /*untilTimeCode (0/15)*/,
9844  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9845  },
9846  // -6:00 Nic C%sT
9847  {
9848  &kZonePolicyNic /*zonePolicy*/,
9849  "C%T" /*format*/,
9850  -1440 /*offsetCode (-21600/15)*/,
9851  0 /*offsetRemainder (-21600%15)*/,
9852  0 /*deltaMinutes*/,
9853  32767 /*untilYear*/,
9854  1 /*untilMonth*/,
9855  1 /*untilDay*/,
9856  0 /*untilTimeCode (0/15)*/,
9857  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9858  },
9859 
9860 };
9861 
9862 static const char kZoneNameAmerica_Managua[] ACE_TIME_PROGMEM = "\x02" "Managua";
9863 
9864 const complete::Info::ZoneInfo kZoneAmerica_Managua ACE_TIME_PROGMEM = {
9865  kZoneNameAmerica_Managua /*name*/,
9866  0x3d5e7600 /*zoneId*/,
9867  &kZoneContext /*zoneContext*/,
9868  9 /*numEras*/,
9869  kZoneEraAmerica_Managua /*eras*/,
9870  nullptr /*targetInfo*/,
9871 };
9872 
9873 //---------------------------------------------------------------------------
9874 // Zone name: America/Manaus
9875 // Eras: 5
9876 //---------------------------------------------------------------------------
9877 
9878 static const complete::Info::ZoneEra kZoneEraAmerica_Manaus[] ACE_TIME_PROGMEM = {
9879  // -4:00:04 - LMT 1914
9880  {
9881  nullptr /*zonePolicy*/,
9882  "LMT" /*format*/,
9883  -961 /*offsetCode (-14404/15)*/,
9884  11 /*offsetRemainder (-14404%15)*/,
9885  0 /*deltaMinutes*/,
9886  1914 /*untilYear*/,
9887  1 /*untilMonth*/,
9888  1 /*untilDay*/,
9889  0 /*untilTimeCode (0/15)*/,
9890  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9891  },
9892  // -4:00 Brazil %z 1988 Sep 12
9893  {
9894  &kZonePolicyBrazil /*zonePolicy*/,
9895  "" /*format*/,
9896  -960 /*offsetCode (-14400/15)*/,
9897  0 /*offsetRemainder (-14400%15)*/,
9898  0 /*deltaMinutes*/,
9899  1988 /*untilYear*/,
9900  9 /*untilMonth*/,
9901  12 /*untilDay*/,
9902  0 /*untilTimeCode (0/15)*/,
9903  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9904  },
9905  // -4:00 - %z 1993 Sep 28
9906  {
9907  nullptr /*zonePolicy*/,
9908  "" /*format*/,
9909  -960 /*offsetCode (-14400/15)*/,
9910  0 /*offsetRemainder (-14400%15)*/,
9911  0 /*deltaMinutes*/,
9912  1993 /*untilYear*/,
9913  9 /*untilMonth*/,
9914  28 /*untilDay*/,
9915  0 /*untilTimeCode (0/15)*/,
9916  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9917  },
9918  // -4:00 Brazil %z 1994 Sep 22
9919  {
9920  &kZonePolicyBrazil /*zonePolicy*/,
9921  "" /*format*/,
9922  -960 /*offsetCode (-14400/15)*/,
9923  0 /*offsetRemainder (-14400%15)*/,
9924  0 /*deltaMinutes*/,
9925  1994 /*untilYear*/,
9926  9 /*untilMonth*/,
9927  22 /*untilDay*/,
9928  0 /*untilTimeCode (0/15)*/,
9929  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9930  },
9931  // -4:00 - %z
9932  {
9933  nullptr /*zonePolicy*/,
9934  "" /*format*/,
9935  -960 /*offsetCode (-14400/15)*/,
9936  0 /*offsetRemainder (-14400%15)*/,
9937  0 /*deltaMinutes*/,
9938  32767 /*untilYear*/,
9939  1 /*untilMonth*/,
9940  1 /*untilDay*/,
9941  0 /*untilTimeCode (0/15)*/,
9942  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9943  },
9944 
9945 };
9946 
9947 static const char kZoneNameAmerica_Manaus[] ACE_TIME_PROGMEM = "\x02" "Manaus";
9948 
9949 const complete::Info::ZoneInfo kZoneAmerica_Manaus ACE_TIME_PROGMEM = {
9950  kZoneNameAmerica_Manaus /*name*/,
9951  0xac86bf8b /*zoneId*/,
9952  &kZoneContext /*zoneContext*/,
9953  5 /*numEras*/,
9954  kZoneEraAmerica_Manaus /*eras*/,
9955  nullptr /*targetInfo*/,
9956 };
9957 
9958 //---------------------------------------------------------------------------
9959 // Zone name: America/Martinique
9960 // Eras: 5
9961 //---------------------------------------------------------------------------
9962 
9963 static const complete::Info::ZoneEra kZoneEraAmerica_Martinique[] ACE_TIME_PROGMEM = {
9964  // -4:04:20 - LMT 1890
9965  {
9966  nullptr /*zonePolicy*/,
9967  "LMT" /*format*/,
9968  -978 /*offsetCode (-14660/15)*/,
9969  10 /*offsetRemainder (-14660%15)*/,
9970  0 /*deltaMinutes*/,
9971  1890 /*untilYear*/,
9972  1 /*untilMonth*/,
9973  1 /*untilDay*/,
9974  0 /*untilTimeCode (0/15)*/,
9975  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9976  },
9977  // -4:04:20 - FFMT 1911 May 1
9978  {
9979  nullptr /*zonePolicy*/,
9980  "FFMT" /*format*/,
9981  -978 /*offsetCode (-14660/15)*/,
9982  10 /*offsetRemainder (-14660%15)*/,
9983  0 /*deltaMinutes*/,
9984  1911 /*untilYear*/,
9985  5 /*untilMonth*/,
9986  1 /*untilDay*/,
9987  0 /*untilTimeCode (0/15)*/,
9988  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9989  },
9990  // -4:00 - AST 1980 Apr 6
9991  {
9992  nullptr /*zonePolicy*/,
9993  "AST" /*format*/,
9994  -960 /*offsetCode (-14400/15)*/,
9995  0 /*offsetRemainder (-14400%15)*/,
9996  0 /*deltaMinutes*/,
9997  1980 /*untilYear*/,
9998  4 /*untilMonth*/,
9999  6 /*untilDay*/,
10000  0 /*untilTimeCode (0/15)*/,
10001  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10002  },
10003  // -4:00 1:00 ADT 1980 Sep 28
10004  {
10005  nullptr /*zonePolicy*/,
10006  "ADT" /*format*/,
10007  -960 /*offsetCode (-14400/15)*/,
10008  0 /*offsetRemainder (-14400%15)*/,
10009  60 /*deltaMinutes*/,
10010  1980 /*untilYear*/,
10011  9 /*untilMonth*/,
10012  28 /*untilDay*/,
10013  0 /*untilTimeCode (0/15)*/,
10014  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10015  },
10016  // -4:00 - AST
10017  {
10018  nullptr /*zonePolicy*/,
10019  "AST" /*format*/,
10020  -960 /*offsetCode (-14400/15)*/,
10021  0 /*offsetRemainder (-14400%15)*/,
10022  0 /*deltaMinutes*/,
10023  32767 /*untilYear*/,
10024  1 /*untilMonth*/,
10025  1 /*untilDay*/,
10026  0 /*untilTimeCode (0/15)*/,
10027  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10028  },
10029 
10030 };
10031 
10032 static const char kZoneNameAmerica_Martinique[] ACE_TIME_PROGMEM = "\x02" "Martinique";
10033 
10034 const complete::Info::ZoneInfo kZoneAmerica_Martinique ACE_TIME_PROGMEM = {
10035  kZoneNameAmerica_Martinique /*name*/,
10036  0x551e84c5 /*zoneId*/,
10037  &kZoneContext /*zoneContext*/,
10038  5 /*numEras*/,
10039  kZoneEraAmerica_Martinique /*eras*/,
10040  nullptr /*targetInfo*/,
10041 };
10042 
10043 //---------------------------------------------------------------------------
10044 // Zone name: America/Matamoros
10045 // Eras: 5
10046 //---------------------------------------------------------------------------
10047 
10048 static const complete::Info::ZoneEra kZoneEraAmerica_Matamoros[] ACE_TIME_PROGMEM = {
10049  // -6:30:00 - LMT 1922 Jan 1 6:00u
10050  {
10051  nullptr /*zonePolicy*/,
10052  "LMT" /*format*/,
10053  -1560 /*offsetCode (-23400/15)*/,
10054  0 /*offsetRemainder (-23400%15)*/,
10055  0 /*deltaMinutes*/,
10056  1922 /*untilYear*/,
10057  1 /*untilMonth*/,
10058  1 /*untilDay*/,
10059  1440 /*untilTimeCode (21600/15)*/,
10060  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
10061  },
10062  // -6:00 - CST 1988
10063  {
10064  nullptr /*zonePolicy*/,
10065  "CST" /*format*/,
10066  -1440 /*offsetCode (-21600/15)*/,
10067  0 /*offsetRemainder (-21600%15)*/,
10068  0 /*deltaMinutes*/,
10069  1988 /*untilYear*/,
10070  1 /*untilMonth*/,
10071  1 /*untilDay*/,
10072  0 /*untilTimeCode (0/15)*/,
10073  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10074  },
10075  // -6:00 US C%sT 1989
10076  {
10077  &kZonePolicyUS /*zonePolicy*/,
10078  "C%T" /*format*/,
10079  -1440 /*offsetCode (-21600/15)*/,
10080  0 /*offsetRemainder (-21600%15)*/,
10081  0 /*deltaMinutes*/,
10082  1989 /*untilYear*/,
10083  1 /*untilMonth*/,
10084  1 /*untilDay*/,
10085  0 /*untilTimeCode (0/15)*/,
10086  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10087  },
10088  // -6:00 Mexico C%sT 2010
10089  {
10090  &kZonePolicyMexico /*zonePolicy*/,
10091  "C%T" /*format*/,
10092  -1440 /*offsetCode (-21600/15)*/,
10093  0 /*offsetRemainder (-21600%15)*/,
10094  0 /*deltaMinutes*/,
10095  2010 /*untilYear*/,
10096  1 /*untilMonth*/,
10097  1 /*untilDay*/,
10098  0 /*untilTimeCode (0/15)*/,
10099  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10100  },
10101  // -6:00 US C%sT
10102  {
10103  &kZonePolicyUS /*zonePolicy*/,
10104  "C%T" /*format*/,
10105  -1440 /*offsetCode (-21600/15)*/,
10106  0 /*offsetRemainder (-21600%15)*/,
10107  0 /*deltaMinutes*/,
10108  32767 /*untilYear*/,
10109  1 /*untilMonth*/,
10110  1 /*untilDay*/,
10111  0 /*untilTimeCode (0/15)*/,
10112  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10113  },
10114 
10115 };
10116 
10117 static const char kZoneNameAmerica_Matamoros[] ACE_TIME_PROGMEM = "\x02" "Matamoros";
10118 
10119 const complete::Info::ZoneInfo kZoneAmerica_Matamoros ACE_TIME_PROGMEM = {
10120  kZoneNameAmerica_Matamoros /*name*/,
10121  0xdd1b0259 /*zoneId*/,
10122  &kZoneContext /*zoneContext*/,
10123  5 /*numEras*/,
10124  kZoneEraAmerica_Matamoros /*eras*/,
10125  nullptr /*targetInfo*/,
10126 };
10127 
10128 //---------------------------------------------------------------------------
10129 // Zone name: America/Mazatlan
10130 // Eras: 7
10131 //---------------------------------------------------------------------------
10132 
10133 static const complete::Info::ZoneEra kZoneEraAmerica_Mazatlan[] ACE_TIME_PROGMEM = {
10134  // -7:05:40 - LMT 1922 Jan 1 7:00u
10135  {
10136  nullptr /*zonePolicy*/,
10137  "LMT" /*format*/,
10138  -1703 /*offsetCode (-25540/15)*/,
10139  5 /*offsetRemainder (-25540%15)*/,
10140  0 /*deltaMinutes*/,
10141  1922 /*untilYear*/,
10142  1 /*untilMonth*/,
10143  1 /*untilDay*/,
10144  1680 /*untilTimeCode (25200/15)*/,
10145  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
10146  },
10147  // -7:00 - MST 1927 Jun 10
10148  {
10149  nullptr /*zonePolicy*/,
10150  "MST" /*format*/,
10151  -1680 /*offsetCode (-25200/15)*/,
10152  0 /*offsetRemainder (-25200%15)*/,
10153  0 /*deltaMinutes*/,
10154  1927 /*untilYear*/,
10155  6 /*untilMonth*/,
10156  10 /*untilDay*/,
10157  0 /*untilTimeCode (0/15)*/,
10158  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10159  },
10160  // -6:00 - CST 1930 Nov 15
10161  {
10162  nullptr /*zonePolicy*/,
10163  "CST" /*format*/,
10164  -1440 /*offsetCode (-21600/15)*/,
10165  0 /*offsetRemainder (-21600%15)*/,
10166  0 /*deltaMinutes*/,
10167  1930 /*untilYear*/,
10168  11 /*untilMonth*/,
10169  15 /*untilDay*/,
10170  0 /*untilTimeCode (0/15)*/,
10171  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10172  },
10173  // -7:00 Mexico M%sT 1932 Apr 1
10174  {
10175  &kZonePolicyMexico /*zonePolicy*/,
10176  "M%T" /*format*/,
10177  -1680 /*offsetCode (-25200/15)*/,
10178  0 /*offsetRemainder (-25200%15)*/,
10179  0 /*deltaMinutes*/,
10180  1932 /*untilYear*/,
10181  4 /*untilMonth*/,
10182  1 /*untilDay*/,
10183  0 /*untilTimeCode (0/15)*/,
10184  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10185  },
10186  // -6:00 - CST 1942 Apr 24
10187  {
10188  nullptr /*zonePolicy*/,
10189  "CST" /*format*/,
10190  -1440 /*offsetCode (-21600/15)*/,
10191  0 /*offsetRemainder (-21600%15)*/,
10192  0 /*deltaMinutes*/,
10193  1942 /*untilYear*/,
10194  4 /*untilMonth*/,
10195  24 /*untilDay*/,
10196  0 /*untilTimeCode (0/15)*/,
10197  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10198  },
10199  // -7:00 - MST 1970
10200  {
10201  nullptr /*zonePolicy*/,
10202  "MST" /*format*/,
10203  -1680 /*offsetCode (-25200/15)*/,
10204  0 /*offsetRemainder (-25200%15)*/,
10205  0 /*deltaMinutes*/,
10206  1970 /*untilYear*/,
10207  1 /*untilMonth*/,
10208  1 /*untilDay*/,
10209  0 /*untilTimeCode (0/15)*/,
10210  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10211  },
10212  // -7:00 Mexico M%sT
10213  {
10214  &kZonePolicyMexico /*zonePolicy*/,
10215  "M%T" /*format*/,
10216  -1680 /*offsetCode (-25200/15)*/,
10217  0 /*offsetRemainder (-25200%15)*/,
10218  0 /*deltaMinutes*/,
10219  32767 /*untilYear*/,
10220  1 /*untilMonth*/,
10221  1 /*untilDay*/,
10222  0 /*untilTimeCode (0/15)*/,
10223  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10224  },
10225 
10226 };
10227 
10228 static const char kZoneNameAmerica_Mazatlan[] ACE_TIME_PROGMEM = "\x02" "Mazatlan";
10229 
10230 const complete::Info::ZoneInfo kZoneAmerica_Mazatlan ACE_TIME_PROGMEM = {
10231  kZoneNameAmerica_Mazatlan /*name*/,
10232  0x0532189e /*zoneId*/,
10233  &kZoneContext /*zoneContext*/,
10234  7 /*numEras*/,
10235  kZoneEraAmerica_Mazatlan /*eras*/,
10236  nullptr /*targetInfo*/,
10237 };
10238 
10239 //---------------------------------------------------------------------------
10240 // Zone name: America/Menominee
10241 // Eras: 5
10242 //---------------------------------------------------------------------------
10243 
10244 static const complete::Info::ZoneEra kZoneEraAmerica_Menominee[] ACE_TIME_PROGMEM = {
10245  // -5:50:27 - LMT 1885 Sep 18 12:00
10246  {
10247  nullptr /*zonePolicy*/,
10248  "LMT" /*format*/,
10249  -1402 /*offsetCode (-21027/15)*/,
10250  3 /*offsetRemainder (-21027%15)*/,
10251  0 /*deltaMinutes*/,
10252  1885 /*untilYear*/,
10253  9 /*untilMonth*/,
10254  18 /*untilDay*/,
10255  2880 /*untilTimeCode (43200/15)*/,
10256  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10257  },
10258  // -6:00 US C%sT 1946
10259  {
10260  &kZonePolicyUS /*zonePolicy*/,
10261  "C%T" /*format*/,
10262  -1440 /*offsetCode (-21600/15)*/,
10263  0 /*offsetRemainder (-21600%15)*/,
10264  0 /*deltaMinutes*/,
10265  1946 /*untilYear*/,
10266  1 /*untilMonth*/,
10267  1 /*untilDay*/,
10268  0 /*untilTimeCode (0/15)*/,
10269  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10270  },
10271  // -6:00 Menominee C%sT 1969 Apr 27 2:00
10272  {
10273  &kZonePolicyMenominee /*zonePolicy*/,
10274  "C%T" /*format*/,
10275  -1440 /*offsetCode (-21600/15)*/,
10276  0 /*offsetRemainder (-21600%15)*/,
10277  0 /*deltaMinutes*/,
10278  1969 /*untilYear*/,
10279  4 /*untilMonth*/,
10280  27 /*untilDay*/,
10281  480 /*untilTimeCode (7200/15)*/,
10282  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10283  },
10284  // -5:00 - EST 1973 Apr 29 2:00
10285  {
10286  nullptr /*zonePolicy*/,
10287  "EST" /*format*/,
10288  -1200 /*offsetCode (-18000/15)*/,
10289  0 /*offsetRemainder (-18000%15)*/,
10290  0 /*deltaMinutes*/,
10291  1973 /*untilYear*/,
10292  4 /*untilMonth*/,
10293  29 /*untilDay*/,
10294  480 /*untilTimeCode (7200/15)*/,
10295  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10296  },
10297  // -6:00 US C%sT
10298  {
10299  &kZonePolicyUS /*zonePolicy*/,
10300  "C%T" /*format*/,
10301  -1440 /*offsetCode (-21600/15)*/,
10302  0 /*offsetRemainder (-21600%15)*/,
10303  0 /*deltaMinutes*/,
10304  32767 /*untilYear*/,
10305  1 /*untilMonth*/,
10306  1 /*untilDay*/,
10307  0 /*untilTimeCode (0/15)*/,
10308  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10309  },
10310 
10311 };
10312 
10313 static const char kZoneNameAmerica_Menominee[] ACE_TIME_PROGMEM = "\x02" "Menominee";
10314 
10315 const complete::Info::ZoneInfo kZoneAmerica_Menominee ACE_TIME_PROGMEM = {
10316  kZoneNameAmerica_Menominee /*name*/,
10317  0xe0e9c583 /*zoneId*/,
10318  &kZoneContext /*zoneContext*/,
10319  5 /*numEras*/,
10320  kZoneEraAmerica_Menominee /*eras*/,
10321  nullptr /*targetInfo*/,
10322 };
10323 
10324 //---------------------------------------------------------------------------
10325 // Zone name: America/Merida
10326 // Eras: 4
10327 //---------------------------------------------------------------------------
10328 
10329 static const complete::Info::ZoneEra kZoneEraAmerica_Merida[] ACE_TIME_PROGMEM = {
10330  // -5:58:28 - LMT 1922 Jan 1 6:00u
10331  {
10332  nullptr /*zonePolicy*/,
10333  "LMT" /*format*/,
10334  -1434 /*offsetCode (-21508/15)*/,
10335  2 /*offsetRemainder (-21508%15)*/,
10336  0 /*deltaMinutes*/,
10337  1922 /*untilYear*/,
10338  1 /*untilMonth*/,
10339  1 /*untilDay*/,
10340  1440 /*untilTimeCode (21600/15)*/,
10341  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
10342  },
10343  // -6:00 - CST 1981 Dec 26 2:00
10344  {
10345  nullptr /*zonePolicy*/,
10346  "CST" /*format*/,
10347  -1440 /*offsetCode (-21600/15)*/,
10348  0 /*offsetRemainder (-21600%15)*/,
10349  0 /*deltaMinutes*/,
10350  1981 /*untilYear*/,
10351  12 /*untilMonth*/,
10352  26 /*untilDay*/,
10353  480 /*untilTimeCode (7200/15)*/,
10354  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10355  },
10356  // -5:00 - EST 1982 Nov 2 2:00
10357  {
10358  nullptr /*zonePolicy*/,
10359  "EST" /*format*/,
10360  -1200 /*offsetCode (-18000/15)*/,
10361  0 /*offsetRemainder (-18000%15)*/,
10362  0 /*deltaMinutes*/,
10363  1982 /*untilYear*/,
10364  11 /*untilMonth*/,
10365  2 /*untilDay*/,
10366  480 /*untilTimeCode (7200/15)*/,
10367  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10368  },
10369  // -6:00 Mexico C%sT
10370  {
10371  &kZonePolicyMexico /*zonePolicy*/,
10372  "C%T" /*format*/,
10373  -1440 /*offsetCode (-21600/15)*/,
10374  0 /*offsetRemainder (-21600%15)*/,
10375  0 /*deltaMinutes*/,
10376  32767 /*untilYear*/,
10377  1 /*untilMonth*/,
10378  1 /*untilDay*/,
10379  0 /*untilTimeCode (0/15)*/,
10380  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10381  },
10382 
10383 };
10384 
10385 static const char kZoneNameAmerica_Merida[] ACE_TIME_PROGMEM = "\x02" "Merida";
10386 
10387 const complete::Info::ZoneInfo kZoneAmerica_Merida ACE_TIME_PROGMEM = {
10388  kZoneNameAmerica_Merida /*name*/,
10389  0xacd172d8 /*zoneId*/,
10390  &kZoneContext /*zoneContext*/,
10391  4 /*numEras*/,
10392  kZoneEraAmerica_Merida /*eras*/,
10393  nullptr /*targetInfo*/,
10394 };
10395 
10396 //---------------------------------------------------------------------------
10397 // Zone name: America/Metlakatla
10398 // Eras: 10
10399 //---------------------------------------------------------------------------
10400 
10401 static const complete::Info::ZoneEra kZoneEraAmerica_Metlakatla[] ACE_TIME_PROGMEM = {
10402  // 15:13:42 - LMT 1867 Oct 19 15:44:55
10403  {
10404  nullptr /*zonePolicy*/,
10405  "LMT" /*format*/,
10406  3654 /*offsetCode (54822/15)*/,
10407  12 /*offsetRemainder (54822%15)*/,
10408  0 /*deltaMinutes*/,
10409  1867 /*untilYear*/,
10410  10 /*untilMonth*/,
10411  19 /*untilDay*/,
10412  3779 /*untilTimeCode (56695/15)*/,
10413  10 /*untilTimeModifier (kAtcSuffixW + seconds=10)*/,
10414  },
10415  // -8:46:18 - LMT 1900 Aug 20 12:00
10416  {
10417  nullptr /*zonePolicy*/,
10418  "LMT" /*format*/,
10419  -2106 /*offsetCode (-31578/15)*/,
10420  12 /*offsetRemainder (-31578%15)*/,
10421  0 /*deltaMinutes*/,
10422  1900 /*untilYear*/,
10423  8 /*untilMonth*/,
10424  20 /*untilDay*/,
10425  2880 /*untilTimeCode (43200/15)*/,
10426  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10427  },
10428  // -8:00 - PST 1942
10429  {
10430  nullptr /*zonePolicy*/,
10431  "PST" /*format*/,
10432  -1920 /*offsetCode (-28800/15)*/,
10433  0 /*offsetRemainder (-28800%15)*/,
10434  0 /*deltaMinutes*/,
10435  1942 /*untilYear*/,
10436  1 /*untilMonth*/,
10437  1 /*untilDay*/,
10438  0 /*untilTimeCode (0/15)*/,
10439  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10440  },
10441  // -8:00 US P%sT 1946
10442  {
10443  &kZonePolicyUS /*zonePolicy*/,
10444  "P%T" /*format*/,
10445  -1920 /*offsetCode (-28800/15)*/,
10446  0 /*offsetRemainder (-28800%15)*/,
10447  0 /*deltaMinutes*/,
10448  1946 /*untilYear*/,
10449  1 /*untilMonth*/,
10450  1 /*untilDay*/,
10451  0 /*untilTimeCode (0/15)*/,
10452  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10453  },
10454  // -8:00 - PST 1969
10455  {
10456  nullptr /*zonePolicy*/,
10457  "PST" /*format*/,
10458  -1920 /*offsetCode (-28800/15)*/,
10459  0 /*offsetRemainder (-28800%15)*/,
10460  0 /*deltaMinutes*/,
10461  1969 /*untilYear*/,
10462  1 /*untilMonth*/,
10463  1 /*untilDay*/,
10464  0 /*untilTimeCode (0/15)*/,
10465  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10466  },
10467  // -8:00 US P%sT 1983 Oct 30 2:00
10468  {
10469  &kZonePolicyUS /*zonePolicy*/,
10470  "P%T" /*format*/,
10471  -1920 /*offsetCode (-28800/15)*/,
10472  0 /*offsetRemainder (-28800%15)*/,
10473  0 /*deltaMinutes*/,
10474  1983 /*untilYear*/,
10475  10 /*untilMonth*/,
10476  30 /*untilDay*/,
10477  480 /*untilTimeCode (7200/15)*/,
10478  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10479  },
10480  // -8:00 - PST 2015 Nov 1 2:00
10481  {
10482  nullptr /*zonePolicy*/,
10483  "PST" /*format*/,
10484  -1920 /*offsetCode (-28800/15)*/,
10485  0 /*offsetRemainder (-28800%15)*/,
10486  0 /*deltaMinutes*/,
10487  2015 /*untilYear*/,
10488  11 /*untilMonth*/,
10489  1 /*untilDay*/,
10490  480 /*untilTimeCode (7200/15)*/,
10491  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10492  },
10493  // -9:00 US AK%sT 2018 Nov 4 2:00
10494  {
10495  &kZonePolicyUS /*zonePolicy*/,
10496  "AK%T" /*format*/,
10497  -2160 /*offsetCode (-32400/15)*/,
10498  0 /*offsetRemainder (-32400%15)*/,
10499  0 /*deltaMinutes*/,
10500  2018 /*untilYear*/,
10501  11 /*untilMonth*/,
10502  4 /*untilDay*/,
10503  480 /*untilTimeCode (7200/15)*/,
10504  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10505  },
10506  // -8:00 - PST 2019 Jan 20 2:00
10507  {
10508  nullptr /*zonePolicy*/,
10509  "PST" /*format*/,
10510  -1920 /*offsetCode (-28800/15)*/,
10511  0 /*offsetRemainder (-28800%15)*/,
10512  0 /*deltaMinutes*/,
10513  2019 /*untilYear*/,
10514  1 /*untilMonth*/,
10515  20 /*untilDay*/,
10516  480 /*untilTimeCode (7200/15)*/,
10517  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10518  },
10519  // -9:00 US AK%sT
10520  {
10521  &kZonePolicyUS /*zonePolicy*/,
10522  "AK%T" /*format*/,
10523  -2160 /*offsetCode (-32400/15)*/,
10524  0 /*offsetRemainder (-32400%15)*/,
10525  0 /*deltaMinutes*/,
10526  32767 /*untilYear*/,
10527  1 /*untilMonth*/,
10528  1 /*untilDay*/,
10529  0 /*untilTimeCode (0/15)*/,
10530  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10531  },
10532 
10533 };
10534 
10535 static const char kZoneNameAmerica_Metlakatla[] ACE_TIME_PROGMEM = "\x02" "Metlakatla";
10536 
10537 const complete::Info::ZoneInfo kZoneAmerica_Metlakatla ACE_TIME_PROGMEM = {
10538  kZoneNameAmerica_Metlakatla /*name*/,
10539  0x84de2686 /*zoneId*/,
10540  &kZoneContext /*zoneContext*/,
10541  10 /*numEras*/,
10542  kZoneEraAmerica_Metlakatla /*eras*/,
10543  nullptr /*targetInfo*/,
10544 };
10545 
10546 //---------------------------------------------------------------------------
10547 // Zone name: America/Mexico_City
10548 // Eras: 7
10549 //---------------------------------------------------------------------------
10550 
10551 static const complete::Info::ZoneEra kZoneEraAmerica_Mexico_City[] ACE_TIME_PROGMEM = {
10552  // -6:36:36 - LMT 1922 Jan 1 7:00u
10553  {
10554  nullptr /*zonePolicy*/,
10555  "LMT" /*format*/,
10556  -1587 /*offsetCode (-23796/15)*/,
10557  9 /*offsetRemainder (-23796%15)*/,
10558  0 /*deltaMinutes*/,
10559  1922 /*untilYear*/,
10560  1 /*untilMonth*/,
10561  1 /*untilDay*/,
10562  1680 /*untilTimeCode (25200/15)*/,
10563  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
10564  },
10565  // -7:00 - MST 1927 Jun 10
10566  {
10567  nullptr /*zonePolicy*/,
10568  "MST" /*format*/,
10569  -1680 /*offsetCode (-25200/15)*/,
10570  0 /*offsetRemainder (-25200%15)*/,
10571  0 /*deltaMinutes*/,
10572  1927 /*untilYear*/,
10573  6 /*untilMonth*/,
10574  10 /*untilDay*/,
10575  0 /*untilTimeCode (0/15)*/,
10576  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10577  },
10578  // -6:00 - CST 1930 Nov 15
10579  {
10580  nullptr /*zonePolicy*/,
10581  "CST" /*format*/,
10582  -1440 /*offsetCode (-21600/15)*/,
10583  0 /*offsetRemainder (-21600%15)*/,
10584  0 /*deltaMinutes*/,
10585  1930 /*untilYear*/,
10586  11 /*untilMonth*/,
10587  15 /*untilDay*/,
10588  0 /*untilTimeCode (0/15)*/,
10589  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10590  },
10591  // -7:00 Mexico M%sT 1932 Apr 1
10592  {
10593  &kZonePolicyMexico /*zonePolicy*/,
10594  "M%T" /*format*/,
10595  -1680 /*offsetCode (-25200/15)*/,
10596  0 /*offsetRemainder (-25200%15)*/,
10597  0 /*deltaMinutes*/,
10598  1932 /*untilYear*/,
10599  4 /*untilMonth*/,
10600  1 /*untilDay*/,
10601  0 /*untilTimeCode (0/15)*/,
10602  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10603  },
10604  // -6:00 Mexico C%sT 2001 Sep 30 2:00
10605  {
10606  &kZonePolicyMexico /*zonePolicy*/,
10607  "C%T" /*format*/,
10608  -1440 /*offsetCode (-21600/15)*/,
10609  0 /*offsetRemainder (-21600%15)*/,
10610  0 /*deltaMinutes*/,
10611  2001 /*untilYear*/,
10612  9 /*untilMonth*/,
10613  30 /*untilDay*/,
10614  480 /*untilTimeCode (7200/15)*/,
10615  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10616  },
10617  // -6:00 - CST 2002 Feb 20
10618  {
10619  nullptr /*zonePolicy*/,
10620  "CST" /*format*/,
10621  -1440 /*offsetCode (-21600/15)*/,
10622  0 /*offsetRemainder (-21600%15)*/,
10623  0 /*deltaMinutes*/,
10624  2002 /*untilYear*/,
10625  2 /*untilMonth*/,
10626  20 /*untilDay*/,
10627  0 /*untilTimeCode (0/15)*/,
10628  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10629  },
10630  // -6:00 Mexico C%sT
10631  {
10632  &kZonePolicyMexico /*zonePolicy*/,
10633  "C%T" /*format*/,
10634  -1440 /*offsetCode (-21600/15)*/,
10635  0 /*offsetRemainder (-21600%15)*/,
10636  0 /*deltaMinutes*/,
10637  32767 /*untilYear*/,
10638  1 /*untilMonth*/,
10639  1 /*untilDay*/,
10640  0 /*untilTimeCode (0/15)*/,
10641  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10642  },
10643 
10644 };
10645 
10646 static const char kZoneNameAmerica_Mexico_City[] ACE_TIME_PROGMEM = "\x02" "Mexico_City";
10647 
10648 const complete::Info::ZoneInfo kZoneAmerica_Mexico_City ACE_TIME_PROGMEM = {
10649  kZoneNameAmerica_Mexico_City /*name*/,
10650  0xd0d93f43 /*zoneId*/,
10651  &kZoneContext /*zoneContext*/,
10652  7 /*numEras*/,
10653  kZoneEraAmerica_Mexico_City /*eras*/,
10654  nullptr /*targetInfo*/,
10655 };
10656 
10657 //---------------------------------------------------------------------------
10658 // Zone name: America/Miquelon
10659 // Eras: 4
10660 //---------------------------------------------------------------------------
10661 
10662 static const complete::Info::ZoneEra kZoneEraAmerica_Miquelon[] ACE_TIME_PROGMEM = {
10663  // -3:44:40 - LMT 1911 Jun 15
10664  {
10665  nullptr /*zonePolicy*/,
10666  "LMT" /*format*/,
10667  -899 /*offsetCode (-13480/15)*/,
10668  5 /*offsetRemainder (-13480%15)*/,
10669  0 /*deltaMinutes*/,
10670  1911 /*untilYear*/,
10671  6 /*untilMonth*/,
10672  15 /*untilDay*/,
10673  0 /*untilTimeCode (0/15)*/,
10674  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10675  },
10676  // -4:00 - AST 1980 May
10677  {
10678  nullptr /*zonePolicy*/,
10679  "AST" /*format*/,
10680  -960 /*offsetCode (-14400/15)*/,
10681  0 /*offsetRemainder (-14400%15)*/,
10682  0 /*deltaMinutes*/,
10683  1980 /*untilYear*/,
10684  5 /*untilMonth*/,
10685  1 /*untilDay*/,
10686  0 /*untilTimeCode (0/15)*/,
10687  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10688  },
10689  // -3:00 - %z 1987
10690  {
10691  nullptr /*zonePolicy*/,
10692  "" /*format*/,
10693  -720 /*offsetCode (-10800/15)*/,
10694  0 /*offsetRemainder (-10800%15)*/,
10695  0 /*deltaMinutes*/,
10696  1987 /*untilYear*/,
10697  1 /*untilMonth*/,
10698  1 /*untilDay*/,
10699  0 /*untilTimeCode (0/15)*/,
10700  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10701  },
10702  // -3:00 Canada %z
10703  {
10704  &kZonePolicyCanada /*zonePolicy*/,
10705  "" /*format*/,
10706  -720 /*offsetCode (-10800/15)*/,
10707  0 /*offsetRemainder (-10800%15)*/,
10708  0 /*deltaMinutes*/,
10709  32767 /*untilYear*/,
10710  1 /*untilMonth*/,
10711  1 /*untilDay*/,
10712  0 /*untilTimeCode (0/15)*/,
10713  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10714  },
10715 
10716 };
10717 
10718 static const char kZoneNameAmerica_Miquelon[] ACE_TIME_PROGMEM = "\x02" "Miquelon";
10719 
10720 const complete::Info::ZoneInfo kZoneAmerica_Miquelon ACE_TIME_PROGMEM = {
10721  kZoneNameAmerica_Miquelon /*name*/,
10722  0x59674330 /*zoneId*/,
10723  &kZoneContext /*zoneContext*/,
10724  4 /*numEras*/,
10725  kZoneEraAmerica_Miquelon /*eras*/,
10726  nullptr /*targetInfo*/,
10727 };
10728 
10729 //---------------------------------------------------------------------------
10730 // Zone name: America/Moncton
10731 // Eras: 9
10732 //---------------------------------------------------------------------------
10733 
10734 static const complete::Info::ZoneEra kZoneEraAmerica_Moncton[] ACE_TIME_PROGMEM = {
10735  // -4:19:08 - LMT 1883 Dec 9
10736  {
10737  nullptr /*zonePolicy*/,
10738  "LMT" /*format*/,
10739  -1037 /*offsetCode (-15548/15)*/,
10740  7 /*offsetRemainder (-15548%15)*/,
10741  0 /*deltaMinutes*/,
10742  1883 /*untilYear*/,
10743  12 /*untilMonth*/,
10744  9 /*untilDay*/,
10745  0 /*untilTimeCode (0/15)*/,
10746  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10747  },
10748  // -5:00 - EST 1902 Jun 15
10749  {
10750  nullptr /*zonePolicy*/,
10751  "EST" /*format*/,
10752  -1200 /*offsetCode (-18000/15)*/,
10753  0 /*offsetRemainder (-18000%15)*/,
10754  0 /*deltaMinutes*/,
10755  1902 /*untilYear*/,
10756  6 /*untilMonth*/,
10757  15 /*untilDay*/,
10758  0 /*untilTimeCode (0/15)*/,
10759  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10760  },
10761  // -4:00 Canada A%sT 1933
10762  {
10763  &kZonePolicyCanada /*zonePolicy*/,
10764  "A%T" /*format*/,
10765  -960 /*offsetCode (-14400/15)*/,
10766  0 /*offsetRemainder (-14400%15)*/,
10767  0 /*deltaMinutes*/,
10768  1933 /*untilYear*/,
10769  1 /*untilMonth*/,
10770  1 /*untilDay*/,
10771  0 /*untilTimeCode (0/15)*/,
10772  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10773  },
10774  // -4:00 Moncton A%sT 1942
10775  {
10776  &kZonePolicyMoncton /*zonePolicy*/,
10777  "A%T" /*format*/,
10778  -960 /*offsetCode (-14400/15)*/,
10779  0 /*offsetRemainder (-14400%15)*/,
10780  0 /*deltaMinutes*/,
10781  1942 /*untilYear*/,
10782  1 /*untilMonth*/,
10783  1 /*untilDay*/,
10784  0 /*untilTimeCode (0/15)*/,
10785  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10786  },
10787  // -4:00 Canada A%sT 1946
10788  {
10789  &kZonePolicyCanada /*zonePolicy*/,
10790  "A%T" /*format*/,
10791  -960 /*offsetCode (-14400/15)*/,
10792  0 /*offsetRemainder (-14400%15)*/,
10793  0 /*deltaMinutes*/,
10794  1946 /*untilYear*/,
10795  1 /*untilMonth*/,
10796  1 /*untilDay*/,
10797  0 /*untilTimeCode (0/15)*/,
10798  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10799  },
10800  // -4:00 Moncton A%sT 1973
10801  {
10802  &kZonePolicyMoncton /*zonePolicy*/,
10803  "A%T" /*format*/,
10804  -960 /*offsetCode (-14400/15)*/,
10805  0 /*offsetRemainder (-14400%15)*/,
10806  0 /*deltaMinutes*/,
10807  1973 /*untilYear*/,
10808  1 /*untilMonth*/,
10809  1 /*untilDay*/,
10810  0 /*untilTimeCode (0/15)*/,
10811  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10812  },
10813  // -4:00 Canada A%sT 1993
10814  {
10815  &kZonePolicyCanada /*zonePolicy*/,
10816  "A%T" /*format*/,
10817  -960 /*offsetCode (-14400/15)*/,
10818  0 /*offsetRemainder (-14400%15)*/,
10819  0 /*deltaMinutes*/,
10820  1993 /*untilYear*/,
10821  1 /*untilMonth*/,
10822  1 /*untilDay*/,
10823  0 /*untilTimeCode (0/15)*/,
10824  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10825  },
10826  // -4:00 Moncton A%sT 2007
10827  {
10828  &kZonePolicyMoncton /*zonePolicy*/,
10829  "A%T" /*format*/,
10830  -960 /*offsetCode (-14400/15)*/,
10831  0 /*offsetRemainder (-14400%15)*/,
10832  0 /*deltaMinutes*/,
10833  2007 /*untilYear*/,
10834  1 /*untilMonth*/,
10835  1 /*untilDay*/,
10836  0 /*untilTimeCode (0/15)*/,
10837  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10838  },
10839  // -4:00 Canada A%sT
10840  {
10841  &kZonePolicyCanada /*zonePolicy*/,
10842  "A%T" /*format*/,
10843  -960 /*offsetCode (-14400/15)*/,
10844  0 /*offsetRemainder (-14400%15)*/,
10845  0 /*deltaMinutes*/,
10846  32767 /*untilYear*/,
10847  1 /*untilMonth*/,
10848  1 /*untilDay*/,
10849  0 /*untilTimeCode (0/15)*/,
10850  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10851  },
10852 
10853 };
10854 
10855 static const char kZoneNameAmerica_Moncton[] ACE_TIME_PROGMEM = "\x02" "Moncton";
10856 
10857 const complete::Info::ZoneInfo kZoneAmerica_Moncton ACE_TIME_PROGMEM = {
10858  kZoneNameAmerica_Moncton /*name*/,
10859  0x5e07fe24 /*zoneId*/,
10860  &kZoneContext /*zoneContext*/,
10861  9 /*numEras*/,
10862  kZoneEraAmerica_Moncton /*eras*/,
10863  nullptr /*targetInfo*/,
10864 };
10865 
10866 //---------------------------------------------------------------------------
10867 // Zone name: America/Monterrey
10868 // Eras: 7
10869 //---------------------------------------------------------------------------
10870 
10871 static const complete::Info::ZoneEra kZoneEraAmerica_Monterrey[] ACE_TIME_PROGMEM = {
10872  // -6:41:16 - LMT 1922 Jan 1 6:00u
10873  {
10874  nullptr /*zonePolicy*/,
10875  "LMT" /*format*/,
10876  -1606 /*offsetCode (-24076/15)*/,
10877  14 /*offsetRemainder (-24076%15)*/,
10878  0 /*deltaMinutes*/,
10879  1922 /*untilYear*/,
10880  1 /*untilMonth*/,
10881  1 /*untilDay*/,
10882  1440 /*untilTimeCode (21600/15)*/,
10883  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
10884  },
10885  // -7:00 - MST 1927 Jun 10
10886  {
10887  nullptr /*zonePolicy*/,
10888  "MST" /*format*/,
10889  -1680 /*offsetCode (-25200/15)*/,
10890  0 /*offsetRemainder (-25200%15)*/,
10891  0 /*deltaMinutes*/,
10892  1927 /*untilYear*/,
10893  6 /*untilMonth*/,
10894  10 /*untilDay*/,
10895  0 /*untilTimeCode (0/15)*/,
10896  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10897  },
10898  // -6:00 - CST 1930 Nov 15
10899  {
10900  nullptr /*zonePolicy*/,
10901  "CST" /*format*/,
10902  -1440 /*offsetCode (-21600/15)*/,
10903  0 /*offsetRemainder (-21600%15)*/,
10904  0 /*deltaMinutes*/,
10905  1930 /*untilYear*/,
10906  11 /*untilMonth*/,
10907  15 /*untilDay*/,
10908  0 /*untilTimeCode (0/15)*/,
10909  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10910  },
10911  // -7:00 Mexico M%sT 1932 Apr 1
10912  {
10913  &kZonePolicyMexico /*zonePolicy*/,
10914  "M%T" /*format*/,
10915  -1680 /*offsetCode (-25200/15)*/,
10916  0 /*offsetRemainder (-25200%15)*/,
10917  0 /*deltaMinutes*/,
10918  1932 /*untilYear*/,
10919  4 /*untilMonth*/,
10920  1 /*untilDay*/,
10921  0 /*untilTimeCode (0/15)*/,
10922  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10923  },
10924  // -6:00 - CST 1988
10925  {
10926  nullptr /*zonePolicy*/,
10927  "CST" /*format*/,
10928  -1440 /*offsetCode (-21600/15)*/,
10929  0 /*offsetRemainder (-21600%15)*/,
10930  0 /*deltaMinutes*/,
10931  1988 /*untilYear*/,
10932  1 /*untilMonth*/,
10933  1 /*untilDay*/,
10934  0 /*untilTimeCode (0/15)*/,
10935  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10936  },
10937  // -6:00 US C%sT 1989
10938  {
10939  &kZonePolicyUS /*zonePolicy*/,
10940  "C%T" /*format*/,
10941  -1440 /*offsetCode (-21600/15)*/,
10942  0 /*offsetRemainder (-21600%15)*/,
10943  0 /*deltaMinutes*/,
10944  1989 /*untilYear*/,
10945  1 /*untilMonth*/,
10946  1 /*untilDay*/,
10947  0 /*untilTimeCode (0/15)*/,
10948  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10949  },
10950  // -6:00 Mexico C%sT
10951  {
10952  &kZonePolicyMexico /*zonePolicy*/,
10953  "C%T" /*format*/,
10954  -1440 /*offsetCode (-21600/15)*/,
10955  0 /*offsetRemainder (-21600%15)*/,
10956  0 /*deltaMinutes*/,
10957  32767 /*untilYear*/,
10958  1 /*untilMonth*/,
10959  1 /*untilDay*/,
10960  0 /*untilTimeCode (0/15)*/,
10961  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10962  },
10963 
10964 };
10965 
10966 static const char kZoneNameAmerica_Monterrey[] ACE_TIME_PROGMEM = "\x02" "Monterrey";
10967 
10968 const complete::Info::ZoneInfo kZoneAmerica_Monterrey ACE_TIME_PROGMEM = {
10969  kZoneNameAmerica_Monterrey /*name*/,
10970  0x269a1deb /*zoneId*/,
10971  &kZoneContext /*zoneContext*/,
10972  7 /*numEras*/,
10973  kZoneEraAmerica_Monterrey /*eras*/,
10974  nullptr /*targetInfo*/,
10975 };
10976 
10977 //---------------------------------------------------------------------------
10978 // Zone name: America/Montevideo
10979 // Eras: 11
10980 //---------------------------------------------------------------------------
10981 
10982 static const complete::Info::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = {
10983  // -3:44:51 - LMT 1908 Jun 10
10984  {
10985  nullptr /*zonePolicy*/,
10986  "LMT" /*format*/,
10987  -900 /*offsetCode (-13491/15)*/,
10988  9 /*offsetRemainder (-13491%15)*/,
10989  0 /*deltaMinutes*/,
10990  1908 /*untilYear*/,
10991  6 /*untilMonth*/,
10992  10 /*untilDay*/,
10993  0 /*untilTimeCode (0/15)*/,
10994  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10995  },
10996  // -3:44:51 - MMT 1920 May 1
10997  {
10998  nullptr /*zonePolicy*/,
10999  "MMT" /*format*/,
11000  -900 /*offsetCode (-13491/15)*/,
11001  9 /*offsetRemainder (-13491%15)*/,
11002  0 /*deltaMinutes*/,
11003  1920 /*untilYear*/,
11004  5 /*untilMonth*/,
11005  1 /*untilDay*/,
11006  0 /*untilTimeCode (0/15)*/,
11007  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11008  },
11009  // -4:00 - %z 1923 Oct 1
11010  {
11011  nullptr /*zonePolicy*/,
11012  "" /*format*/,
11013  -960 /*offsetCode (-14400/15)*/,
11014  0 /*offsetRemainder (-14400%15)*/,
11015  0 /*deltaMinutes*/,
11016  1923 /*untilYear*/,
11017  10 /*untilMonth*/,
11018  1 /*untilDay*/,
11019  0 /*untilTimeCode (0/15)*/,
11020  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11021  },
11022  // -3:30 Uruguay %z 1942 Dec 14
11023  {
11024  &kZonePolicyUruguay /*zonePolicy*/,
11025  "" /*format*/,
11026  -840 /*offsetCode (-12600/15)*/,
11027  0 /*offsetRemainder (-12600%15)*/,
11028  0 /*deltaMinutes*/,
11029  1942 /*untilYear*/,
11030  12 /*untilMonth*/,
11031  14 /*untilDay*/,
11032  0 /*untilTimeCode (0/15)*/,
11033  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11034  },
11035  // -3:00 Uruguay %z 1960
11036  {
11037  &kZonePolicyUruguay /*zonePolicy*/,
11038  "" /*format*/,
11039  -720 /*offsetCode (-10800/15)*/,
11040  0 /*offsetRemainder (-10800%15)*/,
11041  0 /*deltaMinutes*/,
11042  1960 /*untilYear*/,
11043  1 /*untilMonth*/,
11044  1 /*untilDay*/,
11045  0 /*untilTimeCode (0/15)*/,
11046  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11047  },
11048  // -3:00 Uruguay %z 1968
11049  {
11050  &kZonePolicyUruguay /*zonePolicy*/,
11051  "" /*format*/,
11052  -720 /*offsetCode (-10800/15)*/,
11053  0 /*offsetRemainder (-10800%15)*/,
11054  0 /*deltaMinutes*/,
11055  1968 /*untilYear*/,
11056  1 /*untilMonth*/,
11057  1 /*untilDay*/,
11058  0 /*untilTimeCode (0/15)*/,
11059  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11060  },
11061  // -3:00 Uruguay %z 1970
11062  {
11063  &kZonePolicyUruguay /*zonePolicy*/,
11064  "" /*format*/,
11065  -720 /*offsetCode (-10800/15)*/,
11066  0 /*offsetRemainder (-10800%15)*/,
11067  0 /*deltaMinutes*/,
11068  1970 /*untilYear*/,
11069  1 /*untilMonth*/,
11070  1 /*untilDay*/,
11071  0 /*untilTimeCode (0/15)*/,
11072  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11073  },
11074  // -3:00 Uruguay %z 1974
11075  {
11076  &kZonePolicyUruguay /*zonePolicy*/,
11077  "" /*format*/,
11078  -720 /*offsetCode (-10800/15)*/,
11079  0 /*offsetRemainder (-10800%15)*/,
11080  0 /*deltaMinutes*/,
11081  1974 /*untilYear*/,
11082  1 /*untilMonth*/,
11083  1 /*untilDay*/,
11084  0 /*untilTimeCode (0/15)*/,
11085  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11086  },
11087  // -3:00 Uruguay %z 1974 Mar 10
11088  {
11089  &kZonePolicyUruguay /*zonePolicy*/,
11090  "" /*format*/,
11091  -720 /*offsetCode (-10800/15)*/,
11092  0 /*offsetRemainder (-10800%15)*/,
11093  0 /*deltaMinutes*/,
11094  1974 /*untilYear*/,
11095  3 /*untilMonth*/,
11096  10 /*untilDay*/,
11097  0 /*untilTimeCode (0/15)*/,
11098  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11099  },
11100  // -3:00 Uruguay %z 1974 Dec 22
11101  {
11102  &kZonePolicyUruguay /*zonePolicy*/,
11103  "" /*format*/,
11104  -720 /*offsetCode (-10800/15)*/,
11105  0 /*offsetRemainder (-10800%15)*/,
11106  0 /*deltaMinutes*/,
11107  1974 /*untilYear*/,
11108  12 /*untilMonth*/,
11109  22 /*untilDay*/,
11110  0 /*untilTimeCode (0/15)*/,
11111  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11112  },
11113  // -3:00 Uruguay %z
11114  {
11115  &kZonePolicyUruguay /*zonePolicy*/,
11116  "" /*format*/,
11117  -720 /*offsetCode (-10800/15)*/,
11118  0 /*offsetRemainder (-10800%15)*/,
11119  0 /*deltaMinutes*/,
11120  32767 /*untilYear*/,
11121  1 /*untilMonth*/,
11122  1 /*untilDay*/,
11123  0 /*untilTimeCode (0/15)*/,
11124  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11125  },
11126 
11127 };
11128 
11129 static const char kZoneNameAmerica_Montevideo[] ACE_TIME_PROGMEM = "\x02" "Montevideo";
11130 
11131 const complete::Info::ZoneInfo kZoneAmerica_Montevideo ACE_TIME_PROGMEM = {
11132  kZoneNameAmerica_Montevideo /*name*/,
11133  0xfa214780 /*zoneId*/,
11134  &kZoneContext /*zoneContext*/,
11135  11 /*numEras*/,
11136  kZoneEraAmerica_Montevideo /*eras*/,
11137  nullptr /*targetInfo*/,
11138 };
11139 
11140 //---------------------------------------------------------------------------
11141 // Zone name: America/New_York
11142 // Eras: 6
11143 //---------------------------------------------------------------------------
11144 
11145 static const complete::Info::ZoneEra kZoneEraAmerica_New_York[] ACE_TIME_PROGMEM = {
11146  // -4:56:02 - LMT 1883 Nov 18 17:00u
11147  {
11148  nullptr /*zonePolicy*/,
11149  "LMT" /*format*/,
11150  -1185 /*offsetCode (-17762/15)*/,
11151  13 /*offsetRemainder (-17762%15)*/,
11152  0 /*deltaMinutes*/,
11153  1883 /*untilYear*/,
11154  11 /*untilMonth*/,
11155  18 /*untilDay*/,
11156  4080 /*untilTimeCode (61200/15)*/,
11157  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11158  },
11159  // -5:00 US E%sT 1920
11160  {
11161  &kZonePolicyUS /*zonePolicy*/,
11162  "E%T" /*format*/,
11163  -1200 /*offsetCode (-18000/15)*/,
11164  0 /*offsetRemainder (-18000%15)*/,
11165  0 /*deltaMinutes*/,
11166  1920 /*untilYear*/,
11167  1 /*untilMonth*/,
11168  1 /*untilDay*/,
11169  0 /*untilTimeCode (0/15)*/,
11170  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11171  },
11172  // -5:00 NYC E%sT 1942
11173  {
11174  &kZonePolicyNYC /*zonePolicy*/,
11175  "E%T" /*format*/,
11176  -1200 /*offsetCode (-18000/15)*/,
11177  0 /*offsetRemainder (-18000%15)*/,
11178  0 /*deltaMinutes*/,
11179  1942 /*untilYear*/,
11180  1 /*untilMonth*/,
11181  1 /*untilDay*/,
11182  0 /*untilTimeCode (0/15)*/,
11183  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11184  },
11185  // -5:00 US E%sT 1946
11186  {
11187  &kZonePolicyUS /*zonePolicy*/,
11188  "E%T" /*format*/,
11189  -1200 /*offsetCode (-18000/15)*/,
11190  0 /*offsetRemainder (-18000%15)*/,
11191  0 /*deltaMinutes*/,
11192  1946 /*untilYear*/,
11193  1 /*untilMonth*/,
11194  1 /*untilDay*/,
11195  0 /*untilTimeCode (0/15)*/,
11196  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11197  },
11198  // -5:00 NYC E%sT 1967
11199  {
11200  &kZonePolicyNYC /*zonePolicy*/,
11201  "E%T" /*format*/,
11202  -1200 /*offsetCode (-18000/15)*/,
11203  0 /*offsetRemainder (-18000%15)*/,
11204  0 /*deltaMinutes*/,
11205  1967 /*untilYear*/,
11206  1 /*untilMonth*/,
11207  1 /*untilDay*/,
11208  0 /*untilTimeCode (0/15)*/,
11209  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11210  },
11211  // -5:00 US E%sT
11212  {
11213  &kZonePolicyUS /*zonePolicy*/,
11214  "E%T" /*format*/,
11215  -1200 /*offsetCode (-18000/15)*/,
11216  0 /*offsetRemainder (-18000%15)*/,
11217  0 /*deltaMinutes*/,
11218  32767 /*untilYear*/,
11219  1 /*untilMonth*/,
11220  1 /*untilDay*/,
11221  0 /*untilTimeCode (0/15)*/,
11222  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11223  },
11224 
11225 };
11226 
11227 static const char kZoneNameAmerica_New_York[] ACE_TIME_PROGMEM = "\x02" "New_York";
11228 
11229 const complete::Info::ZoneInfo kZoneAmerica_New_York ACE_TIME_PROGMEM = {
11230  kZoneNameAmerica_New_York /*name*/,
11231  0x1e2a7654 /*zoneId*/,
11232  &kZoneContext /*zoneContext*/,
11233  6 /*numEras*/,
11234  kZoneEraAmerica_New_York /*eras*/,
11235  nullptr /*targetInfo*/,
11236 };
11237 
11238 //---------------------------------------------------------------------------
11239 // Zone name: America/Nome
11240 // Eras: 9
11241 //---------------------------------------------------------------------------
11242 
11243 static const complete::Info::ZoneEra kZoneEraAmerica_Nome[] ACE_TIME_PROGMEM = {
11244  // 12:58:22 - LMT 1867 Oct 19 13:29:35
11245  {
11246  nullptr /*zonePolicy*/,
11247  "LMT" /*format*/,
11248  3113 /*offsetCode (46702/15)*/,
11249  7 /*offsetRemainder (46702%15)*/,
11250  0 /*deltaMinutes*/,
11251  1867 /*untilYear*/,
11252  10 /*untilMonth*/,
11253  19 /*untilDay*/,
11254  3238 /*untilTimeCode (48575/15)*/,
11255  5 /*untilTimeModifier (kAtcSuffixW + seconds=5)*/,
11256  },
11257  // -11:01:38 - LMT 1900 Aug 20 12:00
11258  {
11259  nullptr /*zonePolicy*/,
11260  "LMT" /*format*/,
11261  -2647 /*offsetCode (-39698/15)*/,
11262  7 /*offsetRemainder (-39698%15)*/,
11263  0 /*deltaMinutes*/,
11264  1900 /*untilYear*/,
11265  8 /*untilMonth*/,
11266  20 /*untilDay*/,
11267  2880 /*untilTimeCode (43200/15)*/,
11268  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11269  },
11270  // -11:00 - NST 1942
11271  {
11272  nullptr /*zonePolicy*/,
11273  "NST" /*format*/,
11274  -2640 /*offsetCode (-39600/15)*/,
11275  0 /*offsetRemainder (-39600%15)*/,
11276  0 /*deltaMinutes*/,
11277  1942 /*untilYear*/,
11278  1 /*untilMonth*/,
11279  1 /*untilDay*/,
11280  0 /*untilTimeCode (0/15)*/,
11281  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11282  },
11283  // -11:00 US N%sT 1946
11284  {
11285  &kZonePolicyUS /*zonePolicy*/,
11286  "N%T" /*format*/,
11287  -2640 /*offsetCode (-39600/15)*/,
11288  0 /*offsetRemainder (-39600%15)*/,
11289  0 /*deltaMinutes*/,
11290  1946 /*untilYear*/,
11291  1 /*untilMonth*/,
11292  1 /*untilDay*/,
11293  0 /*untilTimeCode (0/15)*/,
11294  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11295  },
11296  // -11:00 - NST 1967 Apr
11297  {
11298  nullptr /*zonePolicy*/,
11299  "NST" /*format*/,
11300  -2640 /*offsetCode (-39600/15)*/,
11301  0 /*offsetRemainder (-39600%15)*/,
11302  0 /*deltaMinutes*/,
11303  1967 /*untilYear*/,
11304  4 /*untilMonth*/,
11305  1 /*untilDay*/,
11306  0 /*untilTimeCode (0/15)*/,
11307  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11308  },
11309  // -11:00 - BST 1969
11310  {
11311  nullptr /*zonePolicy*/,
11312  "BST" /*format*/,
11313  -2640 /*offsetCode (-39600/15)*/,
11314  0 /*offsetRemainder (-39600%15)*/,
11315  0 /*deltaMinutes*/,
11316  1969 /*untilYear*/,
11317  1 /*untilMonth*/,
11318  1 /*untilDay*/,
11319  0 /*untilTimeCode (0/15)*/,
11320  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11321  },
11322  // -11:00 US B%sT 1983 Oct 30 2:00
11323  {
11324  &kZonePolicyUS /*zonePolicy*/,
11325  "B%T" /*format*/,
11326  -2640 /*offsetCode (-39600/15)*/,
11327  0 /*offsetRemainder (-39600%15)*/,
11328  0 /*deltaMinutes*/,
11329  1983 /*untilYear*/,
11330  10 /*untilMonth*/,
11331  30 /*untilDay*/,
11332  480 /*untilTimeCode (7200/15)*/,
11333  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11334  },
11335  // -9:00 US Y%sT 1983 Nov 30
11336  {
11337  &kZonePolicyUS /*zonePolicy*/,
11338  "Y%T" /*format*/,
11339  -2160 /*offsetCode (-32400/15)*/,
11340  0 /*offsetRemainder (-32400%15)*/,
11341  0 /*deltaMinutes*/,
11342  1983 /*untilYear*/,
11343  11 /*untilMonth*/,
11344  30 /*untilDay*/,
11345  0 /*untilTimeCode (0/15)*/,
11346  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11347  },
11348  // -9:00 US AK%sT
11349  {
11350  &kZonePolicyUS /*zonePolicy*/,
11351  "AK%T" /*format*/,
11352  -2160 /*offsetCode (-32400/15)*/,
11353  0 /*offsetRemainder (-32400%15)*/,
11354  0 /*deltaMinutes*/,
11355  32767 /*untilYear*/,
11356  1 /*untilMonth*/,
11357  1 /*untilDay*/,
11358  0 /*untilTimeCode (0/15)*/,
11359  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11360  },
11361 
11362 };
11363 
11364 static const char kZoneNameAmerica_Nome[] ACE_TIME_PROGMEM = "\x02" "Nome";
11365 
11366 const complete::Info::ZoneInfo kZoneAmerica_Nome ACE_TIME_PROGMEM = {
11367  kZoneNameAmerica_Nome /*name*/,
11368  0x98059b15 /*zoneId*/,
11369  &kZoneContext /*zoneContext*/,
11370  9 /*numEras*/,
11371  kZoneEraAmerica_Nome /*eras*/,
11372  nullptr /*targetInfo*/,
11373 };
11374 
11375 //---------------------------------------------------------------------------
11376 // Zone name: America/Noronha
11377 // Eras: 7
11378 //---------------------------------------------------------------------------
11379 
11380 static const complete::Info::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = {
11381  // -2:09:40 - LMT 1914
11382  {
11383  nullptr /*zonePolicy*/,
11384  "LMT" /*format*/,
11385  -519 /*offsetCode (-7780/15)*/,
11386  5 /*offsetRemainder (-7780%15)*/,
11387  0 /*deltaMinutes*/,
11388  1914 /*untilYear*/,
11389  1 /*untilMonth*/,
11390  1 /*untilDay*/,
11391  0 /*untilTimeCode (0/15)*/,
11392  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11393  },
11394  // -2:00 Brazil %z 1990 Sep 17
11395  {
11396  &kZonePolicyBrazil /*zonePolicy*/,
11397  "" /*format*/,
11398  -480 /*offsetCode (-7200/15)*/,
11399  0 /*offsetRemainder (-7200%15)*/,
11400  0 /*deltaMinutes*/,
11401  1990 /*untilYear*/,
11402  9 /*untilMonth*/,
11403  17 /*untilDay*/,
11404  0 /*untilTimeCode (0/15)*/,
11405  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11406  },
11407  // -2:00 - %z 1999 Sep 30
11408  {
11409  nullptr /*zonePolicy*/,
11410  "" /*format*/,
11411  -480 /*offsetCode (-7200/15)*/,
11412  0 /*offsetRemainder (-7200%15)*/,
11413  0 /*deltaMinutes*/,
11414  1999 /*untilYear*/,
11415  9 /*untilMonth*/,
11416  30 /*untilDay*/,
11417  0 /*untilTimeCode (0/15)*/,
11418  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11419  },
11420  // -2:00 Brazil %z 2000 Oct 15
11421  {
11422  &kZonePolicyBrazil /*zonePolicy*/,
11423  "" /*format*/,
11424  -480 /*offsetCode (-7200/15)*/,
11425  0 /*offsetRemainder (-7200%15)*/,
11426  0 /*deltaMinutes*/,
11427  2000 /*untilYear*/,
11428  10 /*untilMonth*/,
11429  15 /*untilDay*/,
11430  0 /*untilTimeCode (0/15)*/,
11431  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11432  },
11433  // -2:00 - %z 2001 Sep 13
11434  {
11435  nullptr /*zonePolicy*/,
11436  "" /*format*/,
11437  -480 /*offsetCode (-7200/15)*/,
11438  0 /*offsetRemainder (-7200%15)*/,
11439  0 /*deltaMinutes*/,
11440  2001 /*untilYear*/,
11441  9 /*untilMonth*/,
11442  13 /*untilDay*/,
11443  0 /*untilTimeCode (0/15)*/,
11444  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11445  },
11446  // -2:00 Brazil %z 2002 Oct 1
11447  {
11448  &kZonePolicyBrazil /*zonePolicy*/,
11449  "" /*format*/,
11450  -480 /*offsetCode (-7200/15)*/,
11451  0 /*offsetRemainder (-7200%15)*/,
11452  0 /*deltaMinutes*/,
11453  2002 /*untilYear*/,
11454  10 /*untilMonth*/,
11455  1 /*untilDay*/,
11456  0 /*untilTimeCode (0/15)*/,
11457  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11458  },
11459  // -2:00 - %z
11460  {
11461  nullptr /*zonePolicy*/,
11462  "" /*format*/,
11463  -480 /*offsetCode (-7200/15)*/,
11464  0 /*offsetRemainder (-7200%15)*/,
11465  0 /*deltaMinutes*/,
11466  32767 /*untilYear*/,
11467  1 /*untilMonth*/,
11468  1 /*untilDay*/,
11469  0 /*untilTimeCode (0/15)*/,
11470  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11471  },
11472 
11473 };
11474 
11475 static const char kZoneNameAmerica_Noronha[] ACE_TIME_PROGMEM = "\x02" "Noronha";
11476 
11477 const complete::Info::ZoneInfo kZoneAmerica_Noronha ACE_TIME_PROGMEM = {
11478  kZoneNameAmerica_Noronha /*name*/,
11479  0xab5116fb /*zoneId*/,
11480  &kZoneContext /*zoneContext*/,
11481  7 /*numEras*/,
11482  kZoneEraAmerica_Noronha /*eras*/,
11483  nullptr /*targetInfo*/,
11484 };
11485 
11486 //---------------------------------------------------------------------------
11487 // Zone name: America/North_Dakota/Beulah
11488 // Eras: 3
11489 //---------------------------------------------------------------------------
11490 
11491 static const complete::Info::ZoneEra kZoneEraAmerica_North_Dakota_Beulah[] ACE_TIME_PROGMEM = {
11492  // -6:47:07 - LMT 1883 Nov 18 19:00u
11493  {
11494  nullptr /*zonePolicy*/,
11495  "LMT" /*format*/,
11496  -1629 /*offsetCode (-24427/15)*/,
11497  8 /*offsetRemainder (-24427%15)*/,
11498  0 /*deltaMinutes*/,
11499  1883 /*untilYear*/,
11500  11 /*untilMonth*/,
11501  18 /*untilDay*/,
11502  4560 /*untilTimeCode (68400/15)*/,
11503  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11504  },
11505  // -7:00 US M%sT 2010 Nov 7 2:00
11506  {
11507  &kZonePolicyUS /*zonePolicy*/,
11508  "M%T" /*format*/,
11509  -1680 /*offsetCode (-25200/15)*/,
11510  0 /*offsetRemainder (-25200%15)*/,
11511  0 /*deltaMinutes*/,
11512  2010 /*untilYear*/,
11513  11 /*untilMonth*/,
11514  7 /*untilDay*/,
11515  480 /*untilTimeCode (7200/15)*/,
11516  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11517  },
11518  // -6:00 US C%sT
11519  {
11520  &kZonePolicyUS /*zonePolicy*/,
11521  "C%T" /*format*/,
11522  -1440 /*offsetCode (-21600/15)*/,
11523  0 /*offsetRemainder (-21600%15)*/,
11524  0 /*deltaMinutes*/,
11525  32767 /*untilYear*/,
11526  1 /*untilMonth*/,
11527  1 /*untilDay*/,
11528  0 /*untilTimeCode (0/15)*/,
11529  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11530  },
11531 
11532 };
11533 
11534 static const char kZoneNameAmerica_North_Dakota_Beulah[] ACE_TIME_PROGMEM = "\x02" "North_Dakota/Beulah";
11535 
11536 const complete::Info::ZoneInfo kZoneAmerica_North_Dakota_Beulah ACE_TIME_PROGMEM = {
11537  kZoneNameAmerica_North_Dakota_Beulah /*name*/,
11538  0x9b52b384 /*zoneId*/,
11539  &kZoneContext /*zoneContext*/,
11540  3 /*numEras*/,
11541  kZoneEraAmerica_North_Dakota_Beulah /*eras*/,
11542  nullptr /*targetInfo*/,
11543 };
11544 
11545 //---------------------------------------------------------------------------
11546 // Zone name: America/North_Dakota/Center
11547 // Eras: 3
11548 //---------------------------------------------------------------------------
11549 
11550 static const complete::Info::ZoneEra kZoneEraAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = {
11551  // -6:45:12 - LMT 1883 Nov 18 19:00u
11552  {
11553  nullptr /*zonePolicy*/,
11554  "LMT" /*format*/,
11555  -1621 /*offsetCode (-24312/15)*/,
11556  3 /*offsetRemainder (-24312%15)*/,
11557  0 /*deltaMinutes*/,
11558  1883 /*untilYear*/,
11559  11 /*untilMonth*/,
11560  18 /*untilDay*/,
11561  4560 /*untilTimeCode (68400/15)*/,
11562  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11563  },
11564  // -7:00 US M%sT 1992 Oct 25 2:00
11565  {
11566  &kZonePolicyUS /*zonePolicy*/,
11567  "M%T" /*format*/,
11568  -1680 /*offsetCode (-25200/15)*/,
11569  0 /*offsetRemainder (-25200%15)*/,
11570  0 /*deltaMinutes*/,
11571  1992 /*untilYear*/,
11572  10 /*untilMonth*/,
11573  25 /*untilDay*/,
11574  480 /*untilTimeCode (7200/15)*/,
11575  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11576  },
11577  // -6:00 US C%sT
11578  {
11579  &kZonePolicyUS /*zonePolicy*/,
11580  "C%T" /*format*/,
11581  -1440 /*offsetCode (-21600/15)*/,
11582  0 /*offsetRemainder (-21600%15)*/,
11583  0 /*deltaMinutes*/,
11584  32767 /*untilYear*/,
11585  1 /*untilMonth*/,
11586  1 /*untilDay*/,
11587  0 /*untilTimeCode (0/15)*/,
11588  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11589  },
11590 
11591 };
11592 
11593 static const char kZoneNameAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = "\x02" "North_Dakota/Center";
11594 
11595 const complete::Info::ZoneInfo kZoneAmerica_North_Dakota_Center ACE_TIME_PROGMEM = {
11596  kZoneNameAmerica_North_Dakota_Center /*name*/,
11597  0x9da42814 /*zoneId*/,
11598  &kZoneContext /*zoneContext*/,
11599  3 /*numEras*/,
11600  kZoneEraAmerica_North_Dakota_Center /*eras*/,
11601  nullptr /*targetInfo*/,
11602 };
11603 
11604 //---------------------------------------------------------------------------
11605 // Zone name: America/North_Dakota/New_Salem
11606 // Eras: 3
11607 //---------------------------------------------------------------------------
11608 
11609 static const complete::Info::ZoneEra kZoneEraAmerica_North_Dakota_New_Salem[] ACE_TIME_PROGMEM = {
11610  // -6:45:39 - LMT 1883 Nov 18 19:00u
11611  {
11612  nullptr /*zonePolicy*/,
11613  "LMT" /*format*/,
11614  -1623 /*offsetCode (-24339/15)*/,
11615  6 /*offsetRemainder (-24339%15)*/,
11616  0 /*deltaMinutes*/,
11617  1883 /*untilYear*/,
11618  11 /*untilMonth*/,
11619  18 /*untilDay*/,
11620  4560 /*untilTimeCode (68400/15)*/,
11621  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11622  },
11623  // -7:00 US M%sT 2003 Oct 26 2:00
11624  {
11625  &kZonePolicyUS /*zonePolicy*/,
11626  "M%T" /*format*/,
11627  -1680 /*offsetCode (-25200/15)*/,
11628  0 /*offsetRemainder (-25200%15)*/,
11629  0 /*deltaMinutes*/,
11630  2003 /*untilYear*/,
11631  10 /*untilMonth*/,
11632  26 /*untilDay*/,
11633  480 /*untilTimeCode (7200/15)*/,
11634  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11635  },
11636  // -6:00 US C%sT
11637  {
11638  &kZonePolicyUS /*zonePolicy*/,
11639  "C%T" /*format*/,
11640  -1440 /*offsetCode (-21600/15)*/,
11641  0 /*offsetRemainder (-21600%15)*/,
11642  0 /*deltaMinutes*/,
11643  32767 /*untilYear*/,
11644  1 /*untilMonth*/,
11645  1 /*untilDay*/,
11646  0 /*untilTimeCode (0/15)*/,
11647  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11648  },
11649 
11650 };
11651 
11652 static const char kZoneNameAmerica_North_Dakota_New_Salem[] ACE_TIME_PROGMEM = "\x02" "North_Dakota/New_Salem";
11653 
11654 const complete::Info::ZoneInfo kZoneAmerica_North_Dakota_New_Salem ACE_TIME_PROGMEM = {
11655  kZoneNameAmerica_North_Dakota_New_Salem /*name*/,
11656  0x04f9958e /*zoneId*/,
11657  &kZoneContext /*zoneContext*/,
11658  3 /*numEras*/,
11659  kZoneEraAmerica_North_Dakota_New_Salem /*eras*/,
11660  nullptr /*targetInfo*/,
11661 };
11662 
11663 //---------------------------------------------------------------------------
11664 // Zone name: America/Nuuk
11665 // Eras: 5
11666 //---------------------------------------------------------------------------
11667 
11668 static const complete::Info::ZoneEra kZoneEraAmerica_Nuuk[] ACE_TIME_PROGMEM = {
11669  // -3:26:56 - LMT 1916 Jul 28
11670  {
11671  nullptr /*zonePolicy*/,
11672  "LMT" /*format*/,
11673  -828 /*offsetCode (-12416/15)*/,
11674  4 /*offsetRemainder (-12416%15)*/,
11675  0 /*deltaMinutes*/,
11676  1916 /*untilYear*/,
11677  7 /*untilMonth*/,
11678  28 /*untilDay*/,
11679  0 /*untilTimeCode (0/15)*/,
11680  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11681  },
11682  // -3:00 - %z 1980 Apr 6 2:00
11683  {
11684  nullptr /*zonePolicy*/,
11685  "" /*format*/,
11686  -720 /*offsetCode (-10800/15)*/,
11687  0 /*offsetRemainder (-10800%15)*/,
11688  0 /*deltaMinutes*/,
11689  1980 /*untilYear*/,
11690  4 /*untilMonth*/,
11691  6 /*untilDay*/,
11692  480 /*untilTimeCode (7200/15)*/,
11693  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11694  },
11695  // -3:00 EU %z 2023 Mar 26 1:00u
11696  {
11697  &kZonePolicyEU /*zonePolicy*/,
11698  "" /*format*/,
11699  -720 /*offsetCode (-10800/15)*/,
11700  0 /*offsetRemainder (-10800%15)*/,
11701  0 /*deltaMinutes*/,
11702  2023 /*untilYear*/,
11703  3 /*untilMonth*/,
11704  26 /*untilDay*/,
11705  240 /*untilTimeCode (3600/15)*/,
11706  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11707  },
11708  // -2:00 - %z 2023 Oct 29 1:00u
11709  {
11710  nullptr /*zonePolicy*/,
11711  "" /*format*/,
11712  -480 /*offsetCode (-7200/15)*/,
11713  0 /*offsetRemainder (-7200%15)*/,
11714  0 /*deltaMinutes*/,
11715  2023 /*untilYear*/,
11716  10 /*untilMonth*/,
11717  29 /*untilDay*/,
11718  240 /*untilTimeCode (3600/15)*/,
11719  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11720  },
11721  // -2:00 EU %z
11722  {
11723  &kZonePolicyEU /*zonePolicy*/,
11724  "" /*format*/,
11725  -480 /*offsetCode (-7200/15)*/,
11726  0 /*offsetRemainder (-7200%15)*/,
11727  0 /*deltaMinutes*/,
11728  32767 /*untilYear*/,
11729  1 /*untilMonth*/,
11730  1 /*untilDay*/,
11731  0 /*untilTimeCode (0/15)*/,
11732  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11733  },
11734 
11735 };
11736 
11737 static const char kZoneNameAmerica_Nuuk[] ACE_TIME_PROGMEM = "\x02" "Nuuk";
11738 
11739 const complete::Info::ZoneInfo kZoneAmerica_Nuuk ACE_TIME_PROGMEM = {
11740  kZoneNameAmerica_Nuuk /*name*/,
11741  0x9805b5a9 /*zoneId*/,
11742  &kZoneContext /*zoneContext*/,
11743  5 /*numEras*/,
11744  kZoneEraAmerica_Nuuk /*eras*/,
11745  nullptr /*targetInfo*/,
11746 };
11747 
11748 //---------------------------------------------------------------------------
11749 // Zone name: America/Ojinaga
11750 // Eras: 11
11751 //---------------------------------------------------------------------------
11752 
11753 static const complete::Info::ZoneEra kZoneEraAmerica_Ojinaga[] ACE_TIME_PROGMEM = {
11754  // -6:57:40 - LMT 1922 Jan 1 7:00u
11755  {
11756  nullptr /*zonePolicy*/,
11757  "LMT" /*format*/,
11758  -1671 /*offsetCode (-25060/15)*/,
11759  5 /*offsetRemainder (-25060%15)*/,
11760  0 /*deltaMinutes*/,
11761  1922 /*untilYear*/,
11762  1 /*untilMonth*/,
11763  1 /*untilDay*/,
11764  1680 /*untilTimeCode (25200/15)*/,
11765  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11766  },
11767  // -7:00 - MST 1927 Jun 10
11768  {
11769  nullptr /*zonePolicy*/,
11770  "MST" /*format*/,
11771  -1680 /*offsetCode (-25200/15)*/,
11772  0 /*offsetRemainder (-25200%15)*/,
11773  0 /*deltaMinutes*/,
11774  1927 /*untilYear*/,
11775  6 /*untilMonth*/,
11776  10 /*untilDay*/,
11777  0 /*untilTimeCode (0/15)*/,
11778  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11779  },
11780  // -6:00 - CST 1930 Nov 15
11781  {
11782  nullptr /*zonePolicy*/,
11783  "CST" /*format*/,
11784  -1440 /*offsetCode (-21600/15)*/,
11785  0 /*offsetRemainder (-21600%15)*/,
11786  0 /*deltaMinutes*/,
11787  1930 /*untilYear*/,
11788  11 /*untilMonth*/,
11789  15 /*untilDay*/,
11790  0 /*untilTimeCode (0/15)*/,
11791  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11792  },
11793  // -7:00 Mexico M%sT 1932 Apr 1
11794  {
11795  &kZonePolicyMexico /*zonePolicy*/,
11796  "M%T" /*format*/,
11797  -1680 /*offsetCode (-25200/15)*/,
11798  0 /*offsetRemainder (-25200%15)*/,
11799  0 /*deltaMinutes*/,
11800  1932 /*untilYear*/,
11801  4 /*untilMonth*/,
11802  1 /*untilDay*/,
11803  0 /*untilTimeCode (0/15)*/,
11804  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11805  },
11806  // -6:00 - CST 1996
11807  {
11808  nullptr /*zonePolicy*/,
11809  "CST" /*format*/,
11810  -1440 /*offsetCode (-21600/15)*/,
11811  0 /*offsetRemainder (-21600%15)*/,
11812  0 /*deltaMinutes*/,
11813  1996 /*untilYear*/,
11814  1 /*untilMonth*/,
11815  1 /*untilDay*/,
11816  0 /*untilTimeCode (0/15)*/,
11817  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11818  },
11819  // -6:00 Mexico C%sT 1998
11820  {
11821  &kZonePolicyMexico /*zonePolicy*/,
11822  "C%T" /*format*/,
11823  -1440 /*offsetCode (-21600/15)*/,
11824  0 /*offsetRemainder (-21600%15)*/,
11825  0 /*deltaMinutes*/,
11826  1998 /*untilYear*/,
11827  1 /*untilMonth*/,
11828  1 /*untilDay*/,
11829  0 /*untilTimeCode (0/15)*/,
11830  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11831  },
11832  // -6:00 - CST 1998 Apr Sun>=1 3:00
11833  {
11834  nullptr /*zonePolicy*/,
11835  "CST" /*format*/,
11836  -1440 /*offsetCode (-21600/15)*/,
11837  0 /*offsetRemainder (-21600%15)*/,
11838  0 /*deltaMinutes*/,
11839  1998 /*untilYear*/,
11840  4 /*untilMonth*/,
11841  5 /*untilDay*/,
11842  720 /*untilTimeCode (10800/15)*/,
11843  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11844  },
11845  // -7:00 Mexico M%sT 2010
11846  {
11847  &kZonePolicyMexico /*zonePolicy*/,
11848  "M%T" /*format*/,
11849  -1680 /*offsetCode (-25200/15)*/,
11850  0 /*offsetRemainder (-25200%15)*/,
11851  0 /*deltaMinutes*/,
11852  2010 /*untilYear*/,
11853  1 /*untilMonth*/,
11854  1 /*untilDay*/,
11855  0 /*untilTimeCode (0/15)*/,
11856  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11857  },
11858  // -7:00 US M%sT 2022 Oct 30 2:00
11859  {
11860  &kZonePolicyUS /*zonePolicy*/,
11861  "M%T" /*format*/,
11862  -1680 /*offsetCode (-25200/15)*/,
11863  0 /*offsetRemainder (-25200%15)*/,
11864  0 /*deltaMinutes*/,
11865  2022 /*untilYear*/,
11866  10 /*untilMonth*/,
11867  30 /*untilDay*/,
11868  480 /*untilTimeCode (7200/15)*/,
11869  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11870  },
11871  // -6:00 - CST 2022 Nov 30 0:00
11872  {
11873  nullptr /*zonePolicy*/,
11874  "CST" /*format*/,
11875  -1440 /*offsetCode (-21600/15)*/,
11876  0 /*offsetRemainder (-21600%15)*/,
11877  0 /*deltaMinutes*/,
11878  2022 /*untilYear*/,
11879  11 /*untilMonth*/,
11880  30 /*untilDay*/,
11881  0 /*untilTimeCode (0/15)*/,
11882  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11883  },
11884  // -6:00 US C%sT
11885  {
11886  &kZonePolicyUS /*zonePolicy*/,
11887  "C%T" /*format*/,
11888  -1440 /*offsetCode (-21600/15)*/,
11889  0 /*offsetRemainder (-21600%15)*/,
11890  0 /*deltaMinutes*/,
11891  32767 /*untilYear*/,
11892  1 /*untilMonth*/,
11893  1 /*untilDay*/,
11894  0 /*untilTimeCode (0/15)*/,
11895  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11896  },
11897 
11898 };
11899 
11900 static const char kZoneNameAmerica_Ojinaga[] ACE_TIME_PROGMEM = "\x02" "Ojinaga";
11901 
11902 const complete::Info::ZoneInfo kZoneAmerica_Ojinaga ACE_TIME_PROGMEM = {
11903  kZoneNameAmerica_Ojinaga /*name*/,
11904  0xebfde83f /*zoneId*/,
11905  &kZoneContext /*zoneContext*/,
11906  11 /*numEras*/,
11907  kZoneEraAmerica_Ojinaga /*eras*/,
11908  nullptr /*targetInfo*/,
11909 };
11910 
11911 //---------------------------------------------------------------------------
11912 // Zone name: America/Panama
11913 // Eras: 3
11914 //---------------------------------------------------------------------------
11915 
11916 static const complete::Info::ZoneEra kZoneEraAmerica_Panama[] ACE_TIME_PROGMEM = {
11917  // -5:18:08 - LMT 1890
11918  {
11919  nullptr /*zonePolicy*/,
11920  "LMT" /*format*/,
11921  -1273 /*offsetCode (-19088/15)*/,
11922  7 /*offsetRemainder (-19088%15)*/,
11923  0 /*deltaMinutes*/,
11924  1890 /*untilYear*/,
11925  1 /*untilMonth*/,
11926  1 /*untilDay*/,
11927  0 /*untilTimeCode (0/15)*/,
11928  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11929  },
11930  // -5:19:36 - CMT 1908 Apr 22
11931  {
11932  nullptr /*zonePolicy*/,
11933  "CMT" /*format*/,
11934  -1279 /*offsetCode (-19176/15)*/,
11935  9 /*offsetRemainder (-19176%15)*/,
11936  0 /*deltaMinutes*/,
11937  1908 /*untilYear*/,
11938  4 /*untilMonth*/,
11939  22 /*untilDay*/,
11940  0 /*untilTimeCode (0/15)*/,
11941  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11942  },
11943  // -5:00 - EST
11944  {
11945  nullptr /*zonePolicy*/,
11946  "EST" /*format*/,
11947  -1200 /*offsetCode (-18000/15)*/,
11948  0 /*offsetRemainder (-18000%15)*/,
11949  0 /*deltaMinutes*/,
11950  32767 /*untilYear*/,
11951  1 /*untilMonth*/,
11952  1 /*untilDay*/,
11953  0 /*untilTimeCode (0/15)*/,
11954  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11955  },
11956 
11957 };
11958 
11959 static const char kZoneNameAmerica_Panama[] ACE_TIME_PROGMEM = "\x02" "Panama";
11960 
11961 const complete::Info::ZoneInfo kZoneAmerica_Panama ACE_TIME_PROGMEM = {
11962  kZoneNameAmerica_Panama /*name*/,
11963  0xb3863854 /*zoneId*/,
11964  &kZoneContext /*zoneContext*/,
11965  3 /*numEras*/,
11966  kZoneEraAmerica_Panama /*eras*/,
11967  nullptr /*targetInfo*/,
11968 };
11969 
11970 //---------------------------------------------------------------------------
11971 // Zone name: America/Paramaribo
11972 // Eras: 5
11973 //---------------------------------------------------------------------------
11974 
11975 static const complete::Info::ZoneEra kZoneEraAmerica_Paramaribo[] ACE_TIME_PROGMEM = {
11976  // -3:40:40 - LMT 1911
11977  {
11978  nullptr /*zonePolicy*/,
11979  "LMT" /*format*/,
11980  -883 /*offsetCode (-13240/15)*/,
11981  5 /*offsetRemainder (-13240%15)*/,
11982  0 /*deltaMinutes*/,
11983  1911 /*untilYear*/,
11984  1 /*untilMonth*/,
11985  1 /*untilDay*/,
11986  0 /*untilTimeCode (0/15)*/,
11987  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11988  },
11989  // -3:40:52 - PMT 1935
11990  {
11991  nullptr /*zonePolicy*/,
11992  "PMT" /*format*/,
11993  -884 /*offsetCode (-13252/15)*/,
11994  8 /*offsetRemainder (-13252%15)*/,
11995  0 /*deltaMinutes*/,
11996  1935 /*untilYear*/,
11997  1 /*untilMonth*/,
11998  1 /*untilDay*/,
11999  0 /*untilTimeCode (0/15)*/,
12000  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12001  },
12002  // -3:40:36 - PMT 1945 Oct
12003  {
12004  nullptr /*zonePolicy*/,
12005  "PMT" /*format*/,
12006  -883 /*offsetCode (-13236/15)*/,
12007  9 /*offsetRemainder (-13236%15)*/,
12008  0 /*deltaMinutes*/,
12009  1945 /*untilYear*/,
12010  10 /*untilMonth*/,
12011  1 /*untilDay*/,
12012  0 /*untilTimeCode (0/15)*/,
12013  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12014  },
12015  // -3:30 - %z 1984 Oct
12016  {
12017  nullptr /*zonePolicy*/,
12018  "" /*format*/,
12019  -840 /*offsetCode (-12600/15)*/,
12020  0 /*offsetRemainder (-12600%15)*/,
12021  0 /*deltaMinutes*/,
12022  1984 /*untilYear*/,
12023  10 /*untilMonth*/,
12024  1 /*untilDay*/,
12025  0 /*untilTimeCode (0/15)*/,
12026  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12027  },
12028  // -3:00 - %z
12029  {
12030  nullptr /*zonePolicy*/,
12031  "" /*format*/,
12032  -720 /*offsetCode (-10800/15)*/,
12033  0 /*offsetRemainder (-10800%15)*/,
12034  0 /*deltaMinutes*/,
12035  32767 /*untilYear*/,
12036  1 /*untilMonth*/,
12037  1 /*untilDay*/,
12038  0 /*untilTimeCode (0/15)*/,
12039  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12040  },
12041 
12042 };
12043 
12044 static const char kZoneNameAmerica_Paramaribo[] ACE_TIME_PROGMEM = "\x02" "Paramaribo";
12045 
12046 const complete::Info::ZoneInfo kZoneAmerica_Paramaribo ACE_TIME_PROGMEM = {
12047  kZoneNameAmerica_Paramaribo /*name*/,
12048  0xb319e4c4 /*zoneId*/,
12049  &kZoneContext /*zoneContext*/,
12050  5 /*numEras*/,
12051  kZoneEraAmerica_Paramaribo /*eras*/,
12052  nullptr /*targetInfo*/,
12053 };
12054 
12055 //---------------------------------------------------------------------------
12056 // Zone name: America/Phoenix
12057 // Eras: 7
12058 //---------------------------------------------------------------------------
12059 
12060 static const complete::Info::ZoneEra kZoneEraAmerica_Phoenix[] ACE_TIME_PROGMEM = {
12061  // -7:28:18 - LMT 1883 Nov 18 19:00u
12062  {
12063  nullptr /*zonePolicy*/,
12064  "LMT" /*format*/,
12065  -1794 /*offsetCode (-26898/15)*/,
12066  12 /*offsetRemainder (-26898%15)*/,
12067  0 /*deltaMinutes*/,
12068  1883 /*untilYear*/,
12069  11 /*untilMonth*/,
12070  18 /*untilDay*/,
12071  4560 /*untilTimeCode (68400/15)*/,
12072  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
12073  },
12074  // -7:00 US M%sT 1944 Jan 1 0:01
12075  {
12076  &kZonePolicyUS /*zonePolicy*/,
12077  "M%T" /*format*/,
12078  -1680 /*offsetCode (-25200/15)*/,
12079  0 /*offsetRemainder (-25200%15)*/,
12080  0 /*deltaMinutes*/,
12081  1944 /*untilYear*/,
12082  1 /*untilMonth*/,
12083  1 /*untilDay*/,
12084  4 /*untilTimeCode (60/15)*/,
12085  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12086  },
12087  // -7:00 - MST 1944 Apr 1 0:01
12088  {
12089  nullptr /*zonePolicy*/,
12090  "MST" /*format*/,
12091  -1680 /*offsetCode (-25200/15)*/,
12092  0 /*offsetRemainder (-25200%15)*/,
12093  0 /*deltaMinutes*/,
12094  1944 /*untilYear*/,
12095  4 /*untilMonth*/,
12096  1 /*untilDay*/,
12097  4 /*untilTimeCode (60/15)*/,
12098  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12099  },
12100  // -7:00 US M%sT 1944 Oct 1 0:01
12101  {
12102  &kZonePolicyUS /*zonePolicy*/,
12103  "M%T" /*format*/,
12104  -1680 /*offsetCode (-25200/15)*/,
12105  0 /*offsetRemainder (-25200%15)*/,
12106  0 /*deltaMinutes*/,
12107  1944 /*untilYear*/,
12108  10 /*untilMonth*/,
12109  1 /*untilDay*/,
12110  4 /*untilTimeCode (60/15)*/,
12111  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12112  },
12113  // -7:00 - MST 1967
12114  {
12115  nullptr /*zonePolicy*/,
12116  "MST" /*format*/,
12117  -1680 /*offsetCode (-25200/15)*/,
12118  0 /*offsetRemainder (-25200%15)*/,
12119  0 /*deltaMinutes*/,
12120  1967 /*untilYear*/,
12121  1 /*untilMonth*/,
12122  1 /*untilDay*/,
12123  0 /*untilTimeCode (0/15)*/,
12124  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12125  },
12126  // -7:00 US M%sT 1968 Mar 21
12127  {
12128  &kZonePolicyUS /*zonePolicy*/,
12129  "M%T" /*format*/,
12130  -1680 /*offsetCode (-25200/15)*/,
12131  0 /*offsetRemainder (-25200%15)*/,
12132  0 /*deltaMinutes*/,
12133  1968 /*untilYear*/,
12134  3 /*untilMonth*/,
12135  21 /*untilDay*/,
12136  0 /*untilTimeCode (0/15)*/,
12137  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12138  },
12139  // -7:00 - MST
12140  {
12141  nullptr /*zonePolicy*/,
12142  "MST" /*format*/,
12143  -1680 /*offsetCode (-25200/15)*/,
12144  0 /*offsetRemainder (-25200%15)*/,
12145  0 /*deltaMinutes*/,
12146  32767 /*untilYear*/,
12147  1 /*untilMonth*/,
12148  1 /*untilDay*/,
12149  0 /*untilTimeCode (0/15)*/,
12150  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12151  },
12152 
12153 };
12154 
12155 static const char kZoneNameAmerica_Phoenix[] ACE_TIME_PROGMEM = "\x02" "Phoenix";
12156 
12157 const complete::Info::ZoneInfo kZoneAmerica_Phoenix ACE_TIME_PROGMEM = {
12158  kZoneNameAmerica_Phoenix /*name*/,
12159  0x34b5af01 /*zoneId*/,
12160  &kZoneContext /*zoneContext*/,
12161  7 /*numEras*/,
12162  kZoneEraAmerica_Phoenix /*eras*/,
12163  nullptr /*targetInfo*/,
12164 };
12165 
12166 //---------------------------------------------------------------------------
12167 // Zone name: America/Port-au-Prince
12168 // Eras: 3
12169 //---------------------------------------------------------------------------
12170 
12171 static const complete::Info::ZoneEra kZoneEraAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = {
12172  // -4:49:20 - LMT 1890
12173  {
12174  nullptr /*zonePolicy*/,
12175  "LMT" /*format*/,
12176  -1158 /*offsetCode (-17360/15)*/,
12177  10 /*offsetRemainder (-17360%15)*/,
12178  0 /*deltaMinutes*/,
12179  1890 /*untilYear*/,
12180  1 /*untilMonth*/,
12181  1 /*untilDay*/,
12182  0 /*untilTimeCode (0/15)*/,
12183  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12184  },
12185  // -4:49 - PPMT 1917 Jan 24 12:00
12186  {
12187  nullptr /*zonePolicy*/,
12188  "PPMT" /*format*/,
12189  -1156 /*offsetCode (-17340/15)*/,
12190  0 /*offsetRemainder (-17340%15)*/,
12191  0 /*deltaMinutes*/,
12192  1917 /*untilYear*/,
12193  1 /*untilMonth*/,
12194  24 /*untilDay*/,
12195  2880 /*untilTimeCode (43200/15)*/,
12196  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12197  },
12198  // -5:00 Haiti E%sT
12199  {
12200  &kZonePolicyHaiti /*zonePolicy*/,
12201  "E%T" /*format*/,
12202  -1200 /*offsetCode (-18000/15)*/,
12203  0 /*offsetRemainder (-18000%15)*/,
12204  0 /*deltaMinutes*/,
12205  32767 /*untilYear*/,
12206  1 /*untilMonth*/,
12207  1 /*untilDay*/,
12208  0 /*untilTimeCode (0/15)*/,
12209  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12210  },
12211 
12212 };
12213 
12214 static const char kZoneNameAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = "\x02" "Port-au-Prince";
12215 
12216 const complete::Info::ZoneInfo kZoneAmerica_Port_au_Prince ACE_TIME_PROGMEM = {
12217  kZoneNameAmerica_Port_au_Prince /*name*/,
12218  0x8e4a7bdc /*zoneId*/,
12219  &kZoneContext /*zoneContext*/,
12220  3 /*numEras*/,
12221  kZoneEraAmerica_Port_au_Prince /*eras*/,
12222  nullptr /*targetInfo*/,
12223 };
12224 
12225 //---------------------------------------------------------------------------
12226 // Zone name: America/Porto_Velho
12227 // Eras: 3
12228 //---------------------------------------------------------------------------
12229 
12230 static const complete::Info::ZoneEra kZoneEraAmerica_Porto_Velho[] ACE_TIME_PROGMEM = {
12231  // -4:15:36 - LMT 1914
12232  {
12233  nullptr /*zonePolicy*/,
12234  "LMT" /*format*/,
12235  -1023 /*offsetCode (-15336/15)*/,
12236  9 /*offsetRemainder (-15336%15)*/,
12237  0 /*deltaMinutes*/,
12238  1914 /*untilYear*/,
12239  1 /*untilMonth*/,
12240  1 /*untilDay*/,
12241  0 /*untilTimeCode (0/15)*/,
12242  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12243  },
12244  // -4:00 Brazil %z 1988 Sep 12
12245  {
12246  &kZonePolicyBrazil /*zonePolicy*/,
12247  "" /*format*/,
12248  -960 /*offsetCode (-14400/15)*/,
12249  0 /*offsetRemainder (-14400%15)*/,
12250  0 /*deltaMinutes*/,
12251  1988 /*untilYear*/,
12252  9 /*untilMonth*/,
12253  12 /*untilDay*/,
12254  0 /*untilTimeCode (0/15)*/,
12255  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12256  },
12257  // -4:00 - %z
12258  {
12259  nullptr /*zonePolicy*/,
12260  "" /*format*/,
12261  -960 /*offsetCode (-14400/15)*/,
12262  0 /*offsetRemainder (-14400%15)*/,
12263  0 /*deltaMinutes*/,
12264  32767 /*untilYear*/,
12265  1 /*untilMonth*/,
12266  1 /*untilDay*/,
12267  0 /*untilTimeCode (0/15)*/,
12268  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12269  },
12270 
12271 };
12272 
12273 static const char kZoneNameAmerica_Porto_Velho[] ACE_TIME_PROGMEM = "\x02" "Porto_Velho";
12274 
12275 const complete::Info::ZoneInfo kZoneAmerica_Porto_Velho ACE_TIME_PROGMEM = {
12276  kZoneNameAmerica_Porto_Velho /*name*/,
12277  0x6b1aac77 /*zoneId*/,
12278  &kZoneContext /*zoneContext*/,
12279  3 /*numEras*/,
12280  kZoneEraAmerica_Porto_Velho /*eras*/,
12281  nullptr /*targetInfo*/,
12282 };
12283 
12284 //---------------------------------------------------------------------------
12285 // Zone name: America/Puerto_Rico
12286 // Eras: 4
12287 //---------------------------------------------------------------------------
12288 
12289 static const complete::Info::ZoneEra kZoneEraAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = {
12290  // -4:24:25 - LMT 1899 Mar 28 12:00
12291  {
12292  nullptr /*zonePolicy*/,
12293  "LMT" /*format*/,
12294  -1058 /*offsetCode (-15865/15)*/,
12295  5 /*offsetRemainder (-15865%15)*/,
12296  0 /*deltaMinutes*/,
12297  1899 /*untilYear*/,
12298  3 /*untilMonth*/,
12299  28 /*untilDay*/,
12300  2880 /*untilTimeCode (43200/15)*/,
12301  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12302  },
12303  // -4:00 - AST 1942 May 3
12304  {
12305  nullptr /*zonePolicy*/,
12306  "AST" /*format*/,
12307  -960 /*offsetCode (-14400/15)*/,
12308  0 /*offsetRemainder (-14400%15)*/,
12309  0 /*deltaMinutes*/,
12310  1942 /*untilYear*/,
12311  5 /*untilMonth*/,
12312  3 /*untilDay*/,
12313  0 /*untilTimeCode (0/15)*/,
12314  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12315  },
12316  // -4:00 US A%sT 1946
12317  {
12318  &kZonePolicyUS /*zonePolicy*/,
12319  "A%T" /*format*/,
12320  -960 /*offsetCode (-14400/15)*/,
12321  0 /*offsetRemainder (-14400%15)*/,
12322  0 /*deltaMinutes*/,
12323  1946 /*untilYear*/,
12324  1 /*untilMonth*/,
12325  1 /*untilDay*/,
12326  0 /*untilTimeCode (0/15)*/,
12327  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12328  },
12329  // -4:00 - AST
12330  {
12331  nullptr /*zonePolicy*/,
12332  "AST" /*format*/,
12333  -960 /*offsetCode (-14400/15)*/,
12334  0 /*offsetRemainder (-14400%15)*/,
12335  0 /*deltaMinutes*/,
12336  32767 /*untilYear*/,
12337  1 /*untilMonth*/,
12338  1 /*untilDay*/,
12339  0 /*untilTimeCode (0/15)*/,
12340  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12341  },
12342 
12343 };
12344 
12345 static const char kZoneNameAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = "\x02" "Puerto_Rico";
12346 
12347 const complete::Info::ZoneInfo kZoneAmerica_Puerto_Rico ACE_TIME_PROGMEM = {
12348  kZoneNameAmerica_Puerto_Rico /*name*/,
12349  0x6752ca31 /*zoneId*/,
12350  &kZoneContext /*zoneContext*/,
12351  4 /*numEras*/,
12352  kZoneEraAmerica_Puerto_Rico /*eras*/,
12353  nullptr /*targetInfo*/,
12354 };
12355 
12356 //---------------------------------------------------------------------------
12357 // Zone name: America/Punta_Arenas
12358 // Eras: 14
12359 //---------------------------------------------------------------------------
12360 
12361 static const complete::Info::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = {
12362  // -4:43:40 - LMT 1890
12363  {
12364  nullptr /*zonePolicy*/,
12365  "LMT" /*format*/,
12366  -1135 /*offsetCode (-17020/15)*/,
12367  5 /*offsetRemainder (-17020%15)*/,
12368  0 /*deltaMinutes*/,
12369  1890 /*untilYear*/,
12370  1 /*untilMonth*/,
12371  1 /*untilDay*/,
12372  0 /*untilTimeCode (0/15)*/,
12373  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12374  },
12375  // -4:42:45 - SMT 1910 Jan 10
12376  {
12377  nullptr /*zonePolicy*/,
12378  "SMT" /*format*/,
12379  -1131 /*offsetCode (-16965/15)*/,
12380  0 /*offsetRemainder (-16965%15)*/,
12381  0 /*deltaMinutes*/,
12382  1910 /*untilYear*/,
12383  1 /*untilMonth*/,
12384  10 /*untilDay*/,
12385  0 /*untilTimeCode (0/15)*/,
12386  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12387  },
12388  // -5:00 - %z 1916 Jul 1
12389  {
12390  nullptr /*zonePolicy*/,
12391  "" /*format*/,
12392  -1200 /*offsetCode (-18000/15)*/,
12393  0 /*offsetRemainder (-18000%15)*/,
12394  0 /*deltaMinutes*/,
12395  1916 /*untilYear*/,
12396  7 /*untilMonth*/,
12397  1 /*untilDay*/,
12398  0 /*untilTimeCode (0/15)*/,
12399  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12400  },
12401  // -4:42:45 - SMT 1918 Sep 10
12402  {
12403  nullptr /*zonePolicy*/,
12404  "SMT" /*format*/,
12405  -1131 /*offsetCode (-16965/15)*/,
12406  0 /*offsetRemainder (-16965%15)*/,
12407  0 /*deltaMinutes*/,
12408  1918 /*untilYear*/,
12409  9 /*untilMonth*/,
12410  10 /*untilDay*/,
12411  0 /*untilTimeCode (0/15)*/,
12412  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12413  },
12414  // -4:00 - %z 1919 Jul 1
12415  {
12416  nullptr /*zonePolicy*/,
12417  "" /*format*/,
12418  -960 /*offsetCode (-14400/15)*/,
12419  0 /*offsetRemainder (-14400%15)*/,
12420  0 /*deltaMinutes*/,
12421  1919 /*untilYear*/,
12422  7 /*untilMonth*/,
12423  1 /*untilDay*/,
12424  0 /*untilTimeCode (0/15)*/,
12425  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12426  },
12427  // -4:42:45 - SMT 1927 Sep 1
12428  {
12429  nullptr /*zonePolicy*/,
12430  "SMT" /*format*/,
12431  -1131 /*offsetCode (-16965/15)*/,
12432  0 /*offsetRemainder (-16965%15)*/,
12433  0 /*deltaMinutes*/,
12434  1927 /*untilYear*/,
12435  9 /*untilMonth*/,
12436  1 /*untilDay*/,
12437  0 /*untilTimeCode (0/15)*/,
12438  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12439  },
12440  // -5:00 Chile %z 1932 Sep 1
12441  {
12442  &kZonePolicyChile /*zonePolicy*/,
12443  "" /*format*/,
12444  -1200 /*offsetCode (-18000/15)*/,
12445  0 /*offsetRemainder (-18000%15)*/,
12446  0 /*deltaMinutes*/,
12447  1932 /*untilYear*/,
12448  9 /*untilMonth*/,
12449  1 /*untilDay*/,
12450  0 /*untilTimeCode (0/15)*/,
12451  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12452  },
12453  // -4:00 - %z 1942 Jun 1
12454  {
12455  nullptr /*zonePolicy*/,
12456  "" /*format*/,
12457  -960 /*offsetCode (-14400/15)*/,
12458  0 /*offsetRemainder (-14400%15)*/,
12459  0 /*deltaMinutes*/,
12460  1942 /*untilYear*/,
12461  6 /*untilMonth*/,
12462  1 /*untilDay*/,
12463  0 /*untilTimeCode (0/15)*/,
12464  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12465  },
12466  // -5:00 - %z 1942 Aug 1
12467  {
12468  nullptr /*zonePolicy*/,
12469  "" /*format*/,
12470  -1200 /*offsetCode (-18000/15)*/,
12471  0 /*offsetRemainder (-18000%15)*/,
12472  0 /*deltaMinutes*/,
12473  1942 /*untilYear*/,
12474  8 /*untilMonth*/,
12475  1 /*untilDay*/,
12476  0 /*untilTimeCode (0/15)*/,
12477  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12478  },
12479  // -4:00 - %z 1946 Aug 28 24:00
12480  {
12481  nullptr /*zonePolicy*/,
12482  "" /*format*/,
12483  -960 /*offsetCode (-14400/15)*/,
12484  0 /*offsetRemainder (-14400%15)*/,
12485  0 /*deltaMinutes*/,
12486  1946 /*untilYear*/,
12487  8 /*untilMonth*/,
12488  28 /*untilDay*/,
12489  5760 /*untilTimeCode (86400/15)*/,
12490  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12491  },
12492  // -5:00 1:00 %z 1947 Mar 31 24:00
12493  {
12494  nullptr /*zonePolicy*/,
12495  "" /*format*/,
12496  -1200 /*offsetCode (-18000/15)*/,
12497  0 /*offsetRemainder (-18000%15)*/,
12498  60 /*deltaMinutes*/,
12499  1947 /*untilYear*/,
12500  3 /*untilMonth*/,
12501  31 /*untilDay*/,
12502  5760 /*untilTimeCode (86400/15)*/,
12503  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12504  },
12505  // -5:00 - %z 1947 May 21 23:00
12506  {
12507  nullptr /*zonePolicy*/,
12508  "" /*format*/,
12509  -1200 /*offsetCode (-18000/15)*/,
12510  0 /*offsetRemainder (-18000%15)*/,
12511  0 /*deltaMinutes*/,
12512  1947 /*untilYear*/,
12513  5 /*untilMonth*/,
12514  21 /*untilDay*/,
12515  5520 /*untilTimeCode (82800/15)*/,
12516  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12517  },
12518  // -4:00 Chile %z 2016 Dec 4
12519  {
12520  &kZonePolicyChile /*zonePolicy*/,
12521  "" /*format*/,
12522  -960 /*offsetCode (-14400/15)*/,
12523  0 /*offsetRemainder (-14400%15)*/,
12524  0 /*deltaMinutes*/,
12525  2016 /*untilYear*/,
12526  12 /*untilMonth*/,
12527  4 /*untilDay*/,
12528  0 /*untilTimeCode (0/15)*/,
12529  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12530  },
12531  // -3:00 - %z
12532  {
12533  nullptr /*zonePolicy*/,
12534  "" /*format*/,
12535  -720 /*offsetCode (-10800/15)*/,
12536  0 /*offsetRemainder (-10800%15)*/,
12537  0 /*deltaMinutes*/,
12538  32767 /*untilYear*/,
12539  1 /*untilMonth*/,
12540  1 /*untilDay*/,
12541  0 /*untilTimeCode (0/15)*/,
12542  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12543  },
12544 
12545 };
12546 
12547 static const char kZoneNameAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = "\x02" "Punta_Arenas";
12548 
12549 const complete::Info::ZoneInfo kZoneAmerica_Punta_Arenas ACE_TIME_PROGMEM = {
12550  kZoneNameAmerica_Punta_Arenas /*name*/,
12551  0xc2c3bce7 /*zoneId*/,
12552  &kZoneContext /*zoneContext*/,
12553  14 /*numEras*/,
12554  kZoneEraAmerica_Punta_Arenas /*eras*/,
12555  nullptr /*targetInfo*/,
12556 };
12557 
12558 //---------------------------------------------------------------------------
12559 // Zone name: America/Rankin_Inlet
12560 // Eras: 4
12561 //---------------------------------------------------------------------------
12562 
12563 static const complete::Info::ZoneEra kZoneEraAmerica_Rankin_Inlet[] ACE_TIME_PROGMEM = {
12564  // 0 - -00 1957
12565  {
12566  nullptr /*zonePolicy*/,
12567  "-00" /*format*/,
12568  0 /*offsetCode (0/15)*/,
12569  0 /*offsetRemainder (0%15)*/,
12570  0 /*deltaMinutes*/,
12571  1957 /*untilYear*/,
12572  1 /*untilMonth*/,
12573  1 /*untilDay*/,
12574  0 /*untilTimeCode (0/15)*/,
12575  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12576  },
12577  // -6:00 NT_YK C%sT 2000 Oct 29 2:00
12578  {
12579  &kZonePolicyNT_YK /*zonePolicy*/,
12580  "C%T" /*format*/,
12581  -1440 /*offsetCode (-21600/15)*/,
12582  0 /*offsetRemainder (-21600%15)*/,
12583  0 /*deltaMinutes*/,
12584  2000 /*untilYear*/,
12585  10 /*untilMonth*/,
12586  29 /*untilDay*/,
12587  480 /*untilTimeCode (7200/15)*/,
12588  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12589  },
12590  // -5:00 - EST 2001 Apr 1 3:00
12591  {
12592  nullptr /*zonePolicy*/,
12593  "EST" /*format*/,
12594  -1200 /*offsetCode (-18000/15)*/,
12595  0 /*offsetRemainder (-18000%15)*/,
12596  0 /*deltaMinutes*/,
12597  2001 /*untilYear*/,
12598  4 /*untilMonth*/,
12599  1 /*untilDay*/,
12600  720 /*untilTimeCode (10800/15)*/,
12601  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12602  },
12603  // -6:00 Canada C%sT
12604  {
12605  &kZonePolicyCanada /*zonePolicy*/,
12606  "C%T" /*format*/,
12607  -1440 /*offsetCode (-21600/15)*/,
12608  0 /*offsetRemainder (-21600%15)*/,
12609  0 /*deltaMinutes*/,
12610  32767 /*untilYear*/,
12611  1 /*untilMonth*/,
12612  1 /*untilDay*/,
12613  0 /*untilTimeCode (0/15)*/,
12614  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12615  },
12616 
12617 };
12618 
12619 static const char kZoneNameAmerica_Rankin_Inlet[] ACE_TIME_PROGMEM = "\x02" "Rankin_Inlet";
12620 
12621 const complete::Info::ZoneInfo kZoneAmerica_Rankin_Inlet ACE_TIME_PROGMEM = {
12622  kZoneNameAmerica_Rankin_Inlet /*name*/,
12623  0xc8de4984 /*zoneId*/,
12624  &kZoneContext /*zoneContext*/,
12625  4 /*numEras*/,
12626  kZoneEraAmerica_Rankin_Inlet /*eras*/,
12627  nullptr /*targetInfo*/,
12628 };
12629 
12630 //---------------------------------------------------------------------------
12631 // Zone name: America/Recife
12632 // Eras: 7
12633 //---------------------------------------------------------------------------
12634 
12635 static const complete::Info::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = {
12636  // -2:19:36 - LMT 1914
12637  {
12638  nullptr /*zonePolicy*/,
12639  "LMT" /*format*/,
12640  -559 /*offsetCode (-8376/15)*/,
12641  9 /*offsetRemainder (-8376%15)*/,
12642  0 /*deltaMinutes*/,
12643  1914 /*untilYear*/,
12644  1 /*untilMonth*/,
12645  1 /*untilDay*/,
12646  0 /*untilTimeCode (0/15)*/,
12647  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12648  },
12649  // -3:00 Brazil %z 1990 Sep 17
12650  {
12651  &kZonePolicyBrazil /*zonePolicy*/,
12652  "" /*format*/,
12653  -720 /*offsetCode (-10800/15)*/,
12654  0 /*offsetRemainder (-10800%15)*/,
12655  0 /*deltaMinutes*/,
12656  1990 /*untilYear*/,
12657  9 /*untilMonth*/,
12658  17 /*untilDay*/,
12659  0 /*untilTimeCode (0/15)*/,
12660  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12661  },
12662  // -3:00 - %z 1999 Sep 30
12663  {
12664  nullptr /*zonePolicy*/,
12665  "" /*format*/,
12666  -720 /*offsetCode (-10800/15)*/,
12667  0 /*offsetRemainder (-10800%15)*/,
12668  0 /*deltaMinutes*/,
12669  1999 /*untilYear*/,
12670  9 /*untilMonth*/,
12671  30 /*untilDay*/,
12672  0 /*untilTimeCode (0/15)*/,
12673  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12674  },
12675  // -3:00 Brazil %z 2000 Oct 15
12676  {
12677  &kZonePolicyBrazil /*zonePolicy*/,
12678  "" /*format*/,
12679  -720 /*offsetCode (-10800/15)*/,
12680  0 /*offsetRemainder (-10800%15)*/,
12681  0 /*deltaMinutes*/,
12682  2000 /*untilYear*/,
12683  10 /*untilMonth*/,
12684  15 /*untilDay*/,
12685  0 /*untilTimeCode (0/15)*/,
12686  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12687  },
12688  // -3:00 - %z 2001 Sep 13
12689  {
12690  nullptr /*zonePolicy*/,
12691  "" /*format*/,
12692  -720 /*offsetCode (-10800/15)*/,
12693  0 /*offsetRemainder (-10800%15)*/,
12694  0 /*deltaMinutes*/,
12695  2001 /*untilYear*/,
12696  9 /*untilMonth*/,
12697  13 /*untilDay*/,
12698  0 /*untilTimeCode (0/15)*/,
12699  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12700  },
12701  // -3:00 Brazil %z 2002 Oct 1
12702  {
12703  &kZonePolicyBrazil /*zonePolicy*/,
12704  "" /*format*/,
12705  -720 /*offsetCode (-10800/15)*/,
12706  0 /*offsetRemainder (-10800%15)*/,
12707  0 /*deltaMinutes*/,
12708  2002 /*untilYear*/,
12709  10 /*untilMonth*/,
12710  1 /*untilDay*/,
12711  0 /*untilTimeCode (0/15)*/,
12712  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12713  },
12714  // -3:00 - %z
12715  {
12716  nullptr /*zonePolicy*/,
12717  "" /*format*/,
12718  -720 /*offsetCode (-10800/15)*/,
12719  0 /*offsetRemainder (-10800%15)*/,
12720  0 /*deltaMinutes*/,
12721  32767 /*untilYear*/,
12722  1 /*untilMonth*/,
12723  1 /*untilDay*/,
12724  0 /*untilTimeCode (0/15)*/,
12725  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12726  },
12727 
12728 };
12729 
12730 static const char kZoneNameAmerica_Recife[] ACE_TIME_PROGMEM = "\x02" "Recife";
12731 
12732 const complete::Info::ZoneInfo kZoneAmerica_Recife ACE_TIME_PROGMEM = {
12733  kZoneNameAmerica_Recife /*name*/,
12734  0xb8730494 /*zoneId*/,
12735  &kZoneContext /*zoneContext*/,
12736  7 /*numEras*/,
12737  kZoneEraAmerica_Recife /*eras*/,
12738  nullptr /*targetInfo*/,
12739 };
12740 
12741 //---------------------------------------------------------------------------
12742 // Zone name: America/Regina
12743 // Eras: 3
12744 //---------------------------------------------------------------------------
12745 
12746 static const complete::Info::ZoneEra kZoneEraAmerica_Regina[] ACE_TIME_PROGMEM = {
12747  // -6:58:36 - LMT 1905 Sep
12748  {
12749  nullptr /*zonePolicy*/,
12750  "LMT" /*format*/,
12751  -1675 /*offsetCode (-25116/15)*/,
12752  9 /*offsetRemainder (-25116%15)*/,
12753  0 /*deltaMinutes*/,
12754  1905 /*untilYear*/,
12755  9 /*untilMonth*/,
12756  1 /*untilDay*/,
12757  0 /*untilTimeCode (0/15)*/,
12758  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12759  },
12760  // -7:00 Regina M%sT 1960 Apr lastSun 2:00
12761  {
12762  &kZonePolicyRegina /*zonePolicy*/,
12763  "M%T" /*format*/,
12764  -1680 /*offsetCode (-25200/15)*/,
12765  0 /*offsetRemainder (-25200%15)*/,
12766  0 /*deltaMinutes*/,
12767  1960 /*untilYear*/,
12768  4 /*untilMonth*/,
12769  24 /*untilDay*/,
12770  480 /*untilTimeCode (7200/15)*/,
12771  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12772  },
12773  // -6:00 - CST
12774  {
12775  nullptr /*zonePolicy*/,
12776  "CST" /*format*/,
12777  -1440 /*offsetCode (-21600/15)*/,
12778  0 /*offsetRemainder (-21600%15)*/,
12779  0 /*deltaMinutes*/,
12780  32767 /*untilYear*/,
12781  1 /*untilMonth*/,
12782  1 /*untilDay*/,
12783  0 /*untilTimeCode (0/15)*/,
12784  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12785  },
12786 
12787 };
12788 
12789 static const char kZoneNameAmerica_Regina[] ACE_TIME_PROGMEM = "\x02" "Regina";
12790 
12791 const complete::Info::ZoneInfo kZoneAmerica_Regina ACE_TIME_PROGMEM = {
12792  kZoneNameAmerica_Regina /*name*/,
12793  0xb875371c /*zoneId*/,
12794  &kZoneContext /*zoneContext*/,
12795  3 /*numEras*/,
12796  kZoneEraAmerica_Regina /*eras*/,
12797  nullptr /*targetInfo*/,
12798 };
12799 
12800 //---------------------------------------------------------------------------
12801 // Zone name: America/Resolute
12802 // Eras: 6
12803 //---------------------------------------------------------------------------
12804 
12805 static const complete::Info::ZoneEra kZoneEraAmerica_Resolute[] ACE_TIME_PROGMEM = {
12806  // 0 - -00 1947 Aug 31
12807  {
12808  nullptr /*zonePolicy*/,
12809  "-00" /*format*/,
12810  0 /*offsetCode (0/15)*/,
12811  0 /*offsetRemainder (0%15)*/,
12812  0 /*deltaMinutes*/,
12813  1947 /*untilYear*/,
12814  8 /*untilMonth*/,
12815  31 /*untilDay*/,
12816  0 /*untilTimeCode (0/15)*/,
12817  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12818  },
12819  // -6:00 NT_YK C%sT 2000 Oct 29 2:00
12820  {
12821  &kZonePolicyNT_YK /*zonePolicy*/,
12822  "C%T" /*format*/,
12823  -1440 /*offsetCode (-21600/15)*/,
12824  0 /*offsetRemainder (-21600%15)*/,
12825  0 /*deltaMinutes*/,
12826  2000 /*untilYear*/,
12827  10 /*untilMonth*/,
12828  29 /*untilDay*/,
12829  480 /*untilTimeCode (7200/15)*/,
12830  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12831  },
12832  // -5:00 - EST 2001 Apr 1 3:00
12833  {
12834  nullptr /*zonePolicy*/,
12835  "EST" /*format*/,
12836  -1200 /*offsetCode (-18000/15)*/,
12837  0 /*offsetRemainder (-18000%15)*/,
12838  0 /*deltaMinutes*/,
12839  2001 /*untilYear*/,
12840  4 /*untilMonth*/,
12841  1 /*untilDay*/,
12842  720 /*untilTimeCode (10800/15)*/,
12843  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12844  },
12845  // -6:00 Canada C%sT 2006 Oct 29 2:00
12846  {
12847  &kZonePolicyCanada /*zonePolicy*/,
12848  "C%T" /*format*/,
12849  -1440 /*offsetCode (-21600/15)*/,
12850  0 /*offsetRemainder (-21600%15)*/,
12851  0 /*deltaMinutes*/,
12852  2006 /*untilYear*/,
12853  10 /*untilMonth*/,
12854  29 /*untilDay*/,
12855  480 /*untilTimeCode (7200/15)*/,
12856  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12857  },
12858  // -5:00 - EST 2007 Mar 11 3:00
12859  {
12860  nullptr /*zonePolicy*/,
12861  "EST" /*format*/,
12862  -1200 /*offsetCode (-18000/15)*/,
12863  0 /*offsetRemainder (-18000%15)*/,
12864  0 /*deltaMinutes*/,
12865  2007 /*untilYear*/,
12866  3 /*untilMonth*/,
12867  11 /*untilDay*/,
12868  720 /*untilTimeCode (10800/15)*/,
12869  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12870  },
12871  // -6:00 Canada C%sT
12872  {
12873  &kZonePolicyCanada /*zonePolicy*/,
12874  "C%T" /*format*/,
12875  -1440 /*offsetCode (-21600/15)*/,
12876  0 /*offsetRemainder (-21600%15)*/,
12877  0 /*deltaMinutes*/,
12878  32767 /*untilYear*/,
12879  1 /*untilMonth*/,
12880  1 /*untilDay*/,
12881  0 /*untilTimeCode (0/15)*/,
12882  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12883  },
12884 
12885 };
12886 
12887 static const char kZoneNameAmerica_Resolute[] ACE_TIME_PROGMEM = "\x02" "Resolute";
12888 
12889 const complete::Info::ZoneInfo kZoneAmerica_Resolute ACE_TIME_PROGMEM = {
12890  kZoneNameAmerica_Resolute /*name*/,
12891  0xc7093459 /*zoneId*/,
12892  &kZoneContext /*zoneContext*/,
12893  6 /*numEras*/,
12894  kZoneEraAmerica_Resolute /*eras*/,
12895  nullptr /*targetInfo*/,
12896 };
12897 
12898 //---------------------------------------------------------------------------
12899 // Zone name: America/Rio_Branco
12900 // Eras: 5
12901 //---------------------------------------------------------------------------
12902 
12903 static const complete::Info::ZoneEra kZoneEraAmerica_Rio_Branco[] ACE_TIME_PROGMEM = {
12904  // -4:31:12 - LMT 1914
12905  {
12906  nullptr /*zonePolicy*/,
12907  "LMT" /*format*/,
12908  -1085 /*offsetCode (-16272/15)*/,
12909  3 /*offsetRemainder (-16272%15)*/,
12910  0 /*deltaMinutes*/,
12911  1914 /*untilYear*/,
12912  1 /*untilMonth*/,
12913  1 /*untilDay*/,
12914  0 /*untilTimeCode (0/15)*/,
12915  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12916  },
12917  // -5:00 Brazil %z 1988 Sep 12
12918  {
12919  &kZonePolicyBrazil /*zonePolicy*/,
12920  "" /*format*/,
12921  -1200 /*offsetCode (-18000/15)*/,
12922  0 /*offsetRemainder (-18000%15)*/,
12923  0 /*deltaMinutes*/,
12924  1988 /*untilYear*/,
12925  9 /*untilMonth*/,
12926  12 /*untilDay*/,
12927  0 /*untilTimeCode (0/15)*/,
12928  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12929  },
12930  // -5:00 - %z 2008 Jun 24 0:00
12931  {
12932  nullptr /*zonePolicy*/,
12933  "" /*format*/,
12934  -1200 /*offsetCode (-18000/15)*/,
12935  0 /*offsetRemainder (-18000%15)*/,
12936  0 /*deltaMinutes*/,
12937  2008 /*untilYear*/,
12938  6 /*untilMonth*/,
12939  24 /*untilDay*/,
12940  0 /*untilTimeCode (0/15)*/,
12941  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12942  },
12943  // -4:00 - %z 2013 Nov 10
12944  {
12945  nullptr /*zonePolicy*/,
12946  "" /*format*/,
12947  -960 /*offsetCode (-14400/15)*/,
12948  0 /*offsetRemainder (-14400%15)*/,
12949  0 /*deltaMinutes*/,
12950  2013 /*untilYear*/,
12951  11 /*untilMonth*/,
12952  10 /*untilDay*/,
12953  0 /*untilTimeCode (0/15)*/,
12954  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12955  },
12956  // -5:00 - %z
12957  {
12958  nullptr /*zonePolicy*/,
12959  "" /*format*/,
12960  -1200 /*offsetCode (-18000/15)*/,
12961  0 /*offsetRemainder (-18000%15)*/,
12962  0 /*deltaMinutes*/,
12963  32767 /*untilYear*/,
12964  1 /*untilMonth*/,
12965  1 /*untilDay*/,
12966  0 /*untilTimeCode (0/15)*/,
12967  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12968  },
12969 
12970 };
12971 
12972 static const char kZoneNameAmerica_Rio_Branco[] ACE_TIME_PROGMEM = "\x02" "Rio_Branco";
12973 
12974 const complete::Info::ZoneInfo kZoneAmerica_Rio_Branco ACE_TIME_PROGMEM = {
12975  kZoneNameAmerica_Rio_Branco /*name*/,
12976  0x9d352764 /*zoneId*/,
12977  &kZoneContext /*zoneContext*/,
12978  5 /*numEras*/,
12979  kZoneEraAmerica_Rio_Branco /*eras*/,
12980  nullptr /*targetInfo*/,
12981 };
12982 
12983 //---------------------------------------------------------------------------
12984 // Zone name: America/Santarem
12985 // Eras: 4
12986 //---------------------------------------------------------------------------
12987 
12988 static const complete::Info::ZoneEra kZoneEraAmerica_Santarem[] ACE_TIME_PROGMEM = {
12989  // -3:38:48 - LMT 1914
12990  {
12991  nullptr /*zonePolicy*/,
12992  "LMT" /*format*/,
12993  -876 /*offsetCode (-13128/15)*/,
12994  12 /*offsetRemainder (-13128%15)*/,
12995  0 /*deltaMinutes*/,
12996  1914 /*untilYear*/,
12997  1 /*untilMonth*/,
12998  1 /*untilDay*/,
12999  0 /*untilTimeCode (0/15)*/,
13000  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13001  },
13002  // -4:00 Brazil %z 1988 Sep 12
13003  {
13004  &kZonePolicyBrazil /*zonePolicy*/,
13005  "" /*format*/,
13006  -960 /*offsetCode (-14400/15)*/,
13007  0 /*offsetRemainder (-14400%15)*/,
13008  0 /*deltaMinutes*/,
13009  1988 /*untilYear*/,
13010  9 /*untilMonth*/,
13011  12 /*untilDay*/,
13012  0 /*untilTimeCode (0/15)*/,
13013  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13014  },
13015  // -4:00 - %z 2008 Jun 24 0:00
13016  {
13017  nullptr /*zonePolicy*/,
13018  "" /*format*/,
13019  -960 /*offsetCode (-14400/15)*/,
13020  0 /*offsetRemainder (-14400%15)*/,
13021  0 /*deltaMinutes*/,
13022  2008 /*untilYear*/,
13023  6 /*untilMonth*/,
13024  24 /*untilDay*/,
13025  0 /*untilTimeCode (0/15)*/,
13026  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13027  },
13028  // -3:00 - %z
13029  {
13030  nullptr /*zonePolicy*/,
13031  "" /*format*/,
13032  -720 /*offsetCode (-10800/15)*/,
13033  0 /*offsetRemainder (-10800%15)*/,
13034  0 /*deltaMinutes*/,
13035  32767 /*untilYear*/,
13036  1 /*untilMonth*/,
13037  1 /*untilDay*/,
13038  0 /*untilTimeCode (0/15)*/,
13039  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13040  },
13041 
13042 };
13043 
13044 static const char kZoneNameAmerica_Santarem[] ACE_TIME_PROGMEM = "\x02" "Santarem";
13045 
13046 const complete::Info::ZoneInfo kZoneAmerica_Santarem ACE_TIME_PROGMEM = {
13047  kZoneNameAmerica_Santarem /*name*/,
13048  0x740caec1 /*zoneId*/,
13049  &kZoneContext /*zoneContext*/,
13050  4 /*numEras*/,
13051  kZoneEraAmerica_Santarem /*eras*/,
13052  nullptr /*targetInfo*/,
13053 };
13054 
13055 //---------------------------------------------------------------------------
13056 // Zone name: America/Santiago
13057 // Eras: 14
13058 //---------------------------------------------------------------------------
13059 
13060 static const complete::Info::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = {
13061  // -4:42:45 - LMT 1890
13062  {
13063  nullptr /*zonePolicy*/,
13064  "LMT" /*format*/,
13065  -1131 /*offsetCode (-16965/15)*/,
13066  0 /*offsetRemainder (-16965%15)*/,
13067  0 /*deltaMinutes*/,
13068  1890 /*untilYear*/,
13069  1 /*untilMonth*/,
13070  1 /*untilDay*/,
13071  0 /*untilTimeCode (0/15)*/,
13072  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13073  },
13074  // -4:42:45 - SMT 1910 Jan 10
13075  {
13076  nullptr /*zonePolicy*/,
13077  "SMT" /*format*/,
13078  -1131 /*offsetCode (-16965/15)*/,
13079  0 /*offsetRemainder (-16965%15)*/,
13080  0 /*deltaMinutes*/,
13081  1910 /*untilYear*/,
13082  1 /*untilMonth*/,
13083  10 /*untilDay*/,
13084  0 /*untilTimeCode (0/15)*/,
13085  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13086  },
13087  // -5:00 - %z 1916 Jul 1
13088  {
13089  nullptr /*zonePolicy*/,
13090  "" /*format*/,
13091  -1200 /*offsetCode (-18000/15)*/,
13092  0 /*offsetRemainder (-18000%15)*/,
13093  0 /*deltaMinutes*/,
13094  1916 /*untilYear*/,
13095  7 /*untilMonth*/,
13096  1 /*untilDay*/,
13097  0 /*untilTimeCode (0/15)*/,
13098  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13099  },
13100  // -4:42:45 - SMT 1918 Sep 10
13101  {
13102  nullptr /*zonePolicy*/,
13103  "SMT" /*format*/,
13104  -1131 /*offsetCode (-16965/15)*/,
13105  0 /*offsetRemainder (-16965%15)*/,
13106  0 /*deltaMinutes*/,
13107  1918 /*untilYear*/,
13108  9 /*untilMonth*/,
13109  10 /*untilDay*/,
13110  0 /*untilTimeCode (0/15)*/,
13111  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13112  },
13113  // -4:00 - %z 1919 Jul 1
13114  {
13115  nullptr /*zonePolicy*/,
13116  "" /*format*/,
13117  -960 /*offsetCode (-14400/15)*/,
13118  0 /*offsetRemainder (-14400%15)*/,
13119  0 /*deltaMinutes*/,
13120  1919 /*untilYear*/,
13121  7 /*untilMonth*/,
13122  1 /*untilDay*/,
13123  0 /*untilTimeCode (0/15)*/,
13124  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13125  },
13126  // -4:42:45 - SMT 1927 Sep 1
13127  {
13128  nullptr /*zonePolicy*/,
13129  "SMT" /*format*/,
13130  -1131 /*offsetCode (-16965/15)*/,
13131  0 /*offsetRemainder (-16965%15)*/,
13132  0 /*deltaMinutes*/,
13133  1927 /*untilYear*/,
13134  9 /*untilMonth*/,
13135  1 /*untilDay*/,
13136  0 /*untilTimeCode (0/15)*/,
13137  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13138  },
13139  // -5:00 Chile %z 1932 Sep 1
13140  {
13141  &kZonePolicyChile /*zonePolicy*/,
13142  "" /*format*/,
13143  -1200 /*offsetCode (-18000/15)*/,
13144  0 /*offsetRemainder (-18000%15)*/,
13145  0 /*deltaMinutes*/,
13146  1932 /*untilYear*/,
13147  9 /*untilMonth*/,
13148  1 /*untilDay*/,
13149  0 /*untilTimeCode (0/15)*/,
13150  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13151  },
13152  // -4:00 - %z 1942 Jun 1
13153  {
13154  nullptr /*zonePolicy*/,
13155  "" /*format*/,
13156  -960 /*offsetCode (-14400/15)*/,
13157  0 /*offsetRemainder (-14400%15)*/,
13158  0 /*deltaMinutes*/,
13159  1942 /*untilYear*/,
13160  6 /*untilMonth*/,
13161  1 /*untilDay*/,
13162  0 /*untilTimeCode (0/15)*/,
13163  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13164  },
13165  // -5:00 - %z 1942 Aug 1
13166  {
13167  nullptr /*zonePolicy*/,
13168  "" /*format*/,
13169  -1200 /*offsetCode (-18000/15)*/,
13170  0 /*offsetRemainder (-18000%15)*/,
13171  0 /*deltaMinutes*/,
13172  1942 /*untilYear*/,
13173  8 /*untilMonth*/,
13174  1 /*untilDay*/,
13175  0 /*untilTimeCode (0/15)*/,
13176  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13177  },
13178  // -4:00 - %z 1946 Jul 14 24:00
13179  {
13180  nullptr /*zonePolicy*/,
13181  "" /*format*/,
13182  -960 /*offsetCode (-14400/15)*/,
13183  0 /*offsetRemainder (-14400%15)*/,
13184  0 /*deltaMinutes*/,
13185  1946 /*untilYear*/,
13186  7 /*untilMonth*/,
13187  14 /*untilDay*/,
13188  5760 /*untilTimeCode (86400/15)*/,
13189  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13190  },
13191  // -4:00 1:00 %z 1946 Aug 28 24:00
13192  {
13193  nullptr /*zonePolicy*/,
13194  "" /*format*/,
13195  -960 /*offsetCode (-14400/15)*/,
13196  0 /*offsetRemainder (-14400%15)*/,
13197  60 /*deltaMinutes*/,
13198  1946 /*untilYear*/,
13199  8 /*untilMonth*/,
13200  28 /*untilDay*/,
13201  5760 /*untilTimeCode (86400/15)*/,
13202  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13203  },
13204  // -5:00 1:00 %z 1947 Mar 31 24:00
13205  {
13206  nullptr /*zonePolicy*/,
13207  "" /*format*/,
13208  -1200 /*offsetCode (-18000/15)*/,
13209  0 /*offsetRemainder (-18000%15)*/,
13210  60 /*deltaMinutes*/,
13211  1947 /*untilYear*/,
13212  3 /*untilMonth*/,
13213  31 /*untilDay*/,
13214  5760 /*untilTimeCode (86400/15)*/,
13215  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13216  },
13217  // -5:00 - %z 1947 May 21 23:00
13218  {
13219  nullptr /*zonePolicy*/,
13220  "" /*format*/,
13221  -1200 /*offsetCode (-18000/15)*/,
13222  0 /*offsetRemainder (-18000%15)*/,
13223  0 /*deltaMinutes*/,
13224  1947 /*untilYear*/,
13225  5 /*untilMonth*/,
13226  21 /*untilDay*/,
13227  5520 /*untilTimeCode (82800/15)*/,
13228  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13229  },
13230  // -4:00 Chile %z
13231  {
13232  &kZonePolicyChile /*zonePolicy*/,
13233  "" /*format*/,
13234  -960 /*offsetCode (-14400/15)*/,
13235  0 /*offsetRemainder (-14400%15)*/,
13236  0 /*deltaMinutes*/,
13237  32767 /*untilYear*/,
13238  1 /*untilMonth*/,
13239  1 /*untilDay*/,
13240  0 /*untilTimeCode (0/15)*/,
13241  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13242  },
13243 
13244 };
13245 
13246 static const char kZoneNameAmerica_Santiago[] ACE_TIME_PROGMEM = "\x02" "Santiago";
13247 
13248 const complete::Info::ZoneInfo kZoneAmerica_Santiago ACE_TIME_PROGMEM = {
13249  kZoneNameAmerica_Santiago /*name*/,
13250  0x7410c9bc /*zoneId*/,
13251  &kZoneContext /*zoneContext*/,
13252  14 /*numEras*/,
13253  kZoneEraAmerica_Santiago /*eras*/,
13254  nullptr /*targetInfo*/,
13255 };
13256 
13257 //---------------------------------------------------------------------------
13258 // Zone name: America/Santo_Domingo
13259 // Eras: 6
13260 //---------------------------------------------------------------------------
13261 
13262 static const complete::Info::ZoneEra kZoneEraAmerica_Santo_Domingo[] ACE_TIME_PROGMEM = {
13263  // -4:39:36 - LMT 1890
13264  {
13265  nullptr /*zonePolicy*/,
13266  "LMT" /*format*/,
13267  -1119 /*offsetCode (-16776/15)*/,
13268  9 /*offsetRemainder (-16776%15)*/,
13269  0 /*deltaMinutes*/,
13270  1890 /*untilYear*/,
13271  1 /*untilMonth*/,
13272  1 /*untilDay*/,
13273  0 /*untilTimeCode (0/15)*/,
13274  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13275  },
13276  // -4:40 - SDMT 1933 Apr 1 12:00
13277  {
13278  nullptr /*zonePolicy*/,
13279  "SDMT" /*format*/,
13280  -1120 /*offsetCode (-16800/15)*/,
13281  0 /*offsetRemainder (-16800%15)*/,
13282  0 /*deltaMinutes*/,
13283  1933 /*untilYear*/,
13284  4 /*untilMonth*/,
13285  1 /*untilDay*/,
13286  2880 /*untilTimeCode (43200/15)*/,
13287  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13288  },
13289  // -5:00 DR %s 1974 Oct 27
13290  {
13291  &kZonePolicyDR /*zonePolicy*/,
13292  "%" /*format*/,
13293  -1200 /*offsetCode (-18000/15)*/,
13294  0 /*offsetRemainder (-18000%15)*/,
13295  0 /*deltaMinutes*/,
13296  1974 /*untilYear*/,
13297  10 /*untilMonth*/,
13298  27 /*untilDay*/,
13299  0 /*untilTimeCode (0/15)*/,
13300  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13301  },
13302  // -4:00 - AST 2000 Oct 29 2:00
13303  {
13304  nullptr /*zonePolicy*/,
13305  "AST" /*format*/,
13306  -960 /*offsetCode (-14400/15)*/,
13307  0 /*offsetRemainder (-14400%15)*/,
13308  0 /*deltaMinutes*/,
13309  2000 /*untilYear*/,
13310  10 /*untilMonth*/,
13311  29 /*untilDay*/,
13312  480 /*untilTimeCode (7200/15)*/,
13313  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13314  },
13315  // -5:00 US E%sT 2000 Dec 3 1:00
13316  {
13317  &kZonePolicyUS /*zonePolicy*/,
13318  "E%T" /*format*/,
13319  -1200 /*offsetCode (-18000/15)*/,
13320  0 /*offsetRemainder (-18000%15)*/,
13321  0 /*deltaMinutes*/,
13322  2000 /*untilYear*/,
13323  12 /*untilMonth*/,
13324  3 /*untilDay*/,
13325  240 /*untilTimeCode (3600/15)*/,
13326  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13327  },
13328  // -4:00 - AST
13329  {
13330  nullptr /*zonePolicy*/,
13331  "AST" /*format*/,
13332  -960 /*offsetCode (-14400/15)*/,
13333  0 /*offsetRemainder (-14400%15)*/,
13334  0 /*deltaMinutes*/,
13335  32767 /*untilYear*/,
13336  1 /*untilMonth*/,
13337  1 /*untilDay*/,
13338  0 /*untilTimeCode (0/15)*/,
13339  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13340  },
13341 
13342 };
13343 
13344 static const char kZoneNameAmerica_Santo_Domingo[] ACE_TIME_PROGMEM = "\x02" "Santo_Domingo";
13345 
13346 const complete::Info::ZoneInfo kZoneAmerica_Santo_Domingo ACE_TIME_PROGMEM = {
13347  kZoneNameAmerica_Santo_Domingo /*name*/,
13348  0x75a0d177 /*zoneId*/,
13349  &kZoneContext /*zoneContext*/,
13350  6 /*numEras*/,
13351  kZoneEraAmerica_Santo_Domingo /*eras*/,
13352  nullptr /*targetInfo*/,
13353 };
13354 
13355 //---------------------------------------------------------------------------
13356 // Zone name: America/Sao_Paulo
13357 // Eras: 4
13358 //---------------------------------------------------------------------------
13359 
13360 static const complete::Info::ZoneEra kZoneEraAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = {
13361  // -3:06:28 - LMT 1914
13362  {
13363  nullptr /*zonePolicy*/,
13364  "LMT" /*format*/,
13365  -746 /*offsetCode (-11188/15)*/,
13366  2 /*offsetRemainder (-11188%15)*/,
13367  0 /*deltaMinutes*/,
13368  1914 /*untilYear*/,
13369  1 /*untilMonth*/,
13370  1 /*untilDay*/,
13371  0 /*untilTimeCode (0/15)*/,
13372  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13373  },
13374  // -3:00 Brazil %z 1963 Oct 23 0:00
13375  {
13376  &kZonePolicyBrazil /*zonePolicy*/,
13377  "" /*format*/,
13378  -720 /*offsetCode (-10800/15)*/,
13379  0 /*offsetRemainder (-10800%15)*/,
13380  0 /*deltaMinutes*/,
13381  1963 /*untilYear*/,
13382  10 /*untilMonth*/,
13383  23 /*untilDay*/,
13384  0 /*untilTimeCode (0/15)*/,
13385  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13386  },
13387  // -3:00 1:00 %z 1964
13388  {
13389  nullptr /*zonePolicy*/,
13390  "" /*format*/,
13391  -720 /*offsetCode (-10800/15)*/,
13392  0 /*offsetRemainder (-10800%15)*/,
13393  60 /*deltaMinutes*/,
13394  1964 /*untilYear*/,
13395  1 /*untilMonth*/,
13396  1 /*untilDay*/,
13397  0 /*untilTimeCode (0/15)*/,
13398  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13399  },
13400  // -3:00 Brazil %z
13401  {
13402  &kZonePolicyBrazil /*zonePolicy*/,
13403  "" /*format*/,
13404  -720 /*offsetCode (-10800/15)*/,
13405  0 /*offsetRemainder (-10800%15)*/,
13406  0 /*deltaMinutes*/,
13407  32767 /*untilYear*/,
13408  1 /*untilMonth*/,
13409  1 /*untilDay*/,
13410  0 /*untilTimeCode (0/15)*/,
13411  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13412  },
13413 
13414 };
13415 
13416 static const char kZoneNameAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = "\x02" "Sao_Paulo";
13417 
13418 const complete::Info::ZoneInfo kZoneAmerica_Sao_Paulo ACE_TIME_PROGMEM = {
13419  kZoneNameAmerica_Sao_Paulo /*name*/,
13420  0x1063bfc9 /*zoneId*/,
13421  &kZoneContext /*zoneContext*/,
13422  4 /*numEras*/,
13423  kZoneEraAmerica_Sao_Paulo /*eras*/,
13424  nullptr /*targetInfo*/,
13425 };
13426 
13427 //---------------------------------------------------------------------------
13428 // Zone name: America/Scoresbysund
13429 // Eras: 5
13430 //---------------------------------------------------------------------------
13431 
13432 static const complete::Info::ZoneEra kZoneEraAmerica_Scoresbysund[] ACE_TIME_PROGMEM = {
13433  // -1:27:52 - LMT 1916 Jul 28
13434  {
13435  nullptr /*zonePolicy*/,
13436  "LMT" /*format*/,
13437  -352 /*offsetCode (-5272/15)*/,
13438  8 /*offsetRemainder (-5272%15)*/,
13439  0 /*deltaMinutes*/,
13440  1916 /*untilYear*/,
13441  7 /*untilMonth*/,
13442  28 /*untilDay*/,
13443  0 /*untilTimeCode (0/15)*/,
13444  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13445  },
13446  // -2:00 - %z 1980 Apr 6 2:00
13447  {
13448  nullptr /*zonePolicy*/,
13449  "" /*format*/,
13450  -480 /*offsetCode (-7200/15)*/,
13451  0 /*offsetRemainder (-7200%15)*/,
13452  0 /*deltaMinutes*/,
13453  1980 /*untilYear*/,
13454  4 /*untilMonth*/,
13455  6 /*untilDay*/,
13456  480 /*untilTimeCode (7200/15)*/,
13457  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13458  },
13459  // -2:00 C-Eur %z 1981 Mar 29
13460  {
13461  &kZonePolicyC_Eur /*zonePolicy*/,
13462  "" /*format*/,
13463  -480 /*offsetCode (-7200/15)*/,
13464  0 /*offsetRemainder (-7200%15)*/,
13465  0 /*deltaMinutes*/,
13466  1981 /*untilYear*/,
13467  3 /*untilMonth*/,
13468  29 /*untilDay*/,
13469  0 /*untilTimeCode (0/15)*/,
13470  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13471  },
13472  // -1:00 EU %z 2024 Mar 31
13473  {
13474  &kZonePolicyEU /*zonePolicy*/,
13475  "" /*format*/,
13476  -240 /*offsetCode (-3600/15)*/,
13477  0 /*offsetRemainder (-3600%15)*/,
13478  0 /*deltaMinutes*/,
13479  2024 /*untilYear*/,
13480  3 /*untilMonth*/,
13481  31 /*untilDay*/,
13482  0 /*untilTimeCode (0/15)*/,
13483  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13484  },
13485  // -2:00 EU %z
13486  {
13487  &kZonePolicyEU /*zonePolicy*/,
13488  "" /*format*/,
13489  -480 /*offsetCode (-7200/15)*/,
13490  0 /*offsetRemainder (-7200%15)*/,
13491  0 /*deltaMinutes*/,
13492  32767 /*untilYear*/,
13493  1 /*untilMonth*/,
13494  1 /*untilDay*/,
13495  0 /*untilTimeCode (0/15)*/,
13496  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13497  },
13498 
13499 };
13500 
13501 static const char kZoneNameAmerica_Scoresbysund[] ACE_TIME_PROGMEM = "\x02" "Scoresbysund";
13502 
13503 const complete::Info::ZoneInfo kZoneAmerica_Scoresbysund ACE_TIME_PROGMEM = {
13504  kZoneNameAmerica_Scoresbysund /*name*/,
13505  0x123f8d2a /*zoneId*/,
13506  &kZoneContext /*zoneContext*/,
13507  5 /*numEras*/,
13508  kZoneEraAmerica_Scoresbysund /*eras*/,
13509  nullptr /*targetInfo*/,
13510 };
13511 
13512 //---------------------------------------------------------------------------
13513 // Zone name: America/Sitka
13514 // Eras: 8
13515 //---------------------------------------------------------------------------
13516 
13517 static const complete::Info::ZoneEra kZoneEraAmerica_Sitka[] ACE_TIME_PROGMEM = {
13518  // 14:58:47 - LMT 1867 Oct 19 15:30
13519  {
13520  nullptr /*zonePolicy*/,
13521  "LMT" /*format*/,
13522  3595 /*offsetCode (53927/15)*/,
13523  2 /*offsetRemainder (53927%15)*/,
13524  0 /*deltaMinutes*/,
13525  1867 /*untilYear*/,
13526  10 /*untilMonth*/,
13527  19 /*untilDay*/,
13528  3720 /*untilTimeCode (55800/15)*/,
13529  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13530  },
13531  // -9:01:13 - LMT 1900 Aug 20 12:00
13532  {
13533  nullptr /*zonePolicy*/,
13534  "LMT" /*format*/,
13535  -2165 /*offsetCode (-32473/15)*/,
13536  2 /*offsetRemainder (-32473%15)*/,
13537  0 /*deltaMinutes*/,
13538  1900 /*untilYear*/,
13539  8 /*untilMonth*/,
13540  20 /*untilDay*/,
13541  2880 /*untilTimeCode (43200/15)*/,
13542  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13543  },
13544  // -8:00 - PST 1942
13545  {
13546  nullptr /*zonePolicy*/,
13547  "PST" /*format*/,
13548  -1920 /*offsetCode (-28800/15)*/,
13549  0 /*offsetRemainder (-28800%15)*/,
13550  0 /*deltaMinutes*/,
13551  1942 /*untilYear*/,
13552  1 /*untilMonth*/,
13553  1 /*untilDay*/,
13554  0 /*untilTimeCode (0/15)*/,
13555  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13556  },
13557  // -8:00 US P%sT 1946
13558  {
13559  &kZonePolicyUS /*zonePolicy*/,
13560  "P%T" /*format*/,
13561  -1920 /*offsetCode (-28800/15)*/,
13562  0 /*offsetRemainder (-28800%15)*/,
13563  0 /*deltaMinutes*/,
13564  1946 /*untilYear*/,
13565  1 /*untilMonth*/,
13566  1 /*untilDay*/,
13567  0 /*untilTimeCode (0/15)*/,
13568  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13569  },
13570  // -8:00 - PST 1969
13571  {
13572  nullptr /*zonePolicy*/,
13573  "PST" /*format*/,
13574  -1920 /*offsetCode (-28800/15)*/,
13575  0 /*offsetRemainder (-28800%15)*/,
13576  0 /*deltaMinutes*/,
13577  1969 /*untilYear*/,
13578  1 /*untilMonth*/,
13579  1 /*untilDay*/,
13580  0 /*untilTimeCode (0/15)*/,
13581  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13582  },
13583  // -8:00 US P%sT 1983 Oct 30 2:00
13584  {
13585  &kZonePolicyUS /*zonePolicy*/,
13586  "P%T" /*format*/,
13587  -1920 /*offsetCode (-28800/15)*/,
13588  0 /*offsetRemainder (-28800%15)*/,
13589  0 /*deltaMinutes*/,
13590  1983 /*untilYear*/,
13591  10 /*untilMonth*/,
13592  30 /*untilDay*/,
13593  480 /*untilTimeCode (7200/15)*/,
13594  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13595  },
13596  // -9:00 US Y%sT 1983 Nov 30
13597  {
13598  &kZonePolicyUS /*zonePolicy*/,
13599  "Y%T" /*format*/,
13600  -2160 /*offsetCode (-32400/15)*/,
13601  0 /*offsetRemainder (-32400%15)*/,
13602  0 /*deltaMinutes*/,
13603  1983 /*untilYear*/,
13604  11 /*untilMonth*/,
13605  30 /*untilDay*/,
13606  0 /*untilTimeCode (0/15)*/,
13607  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13608  },
13609  // -9:00 US AK%sT
13610  {
13611  &kZonePolicyUS /*zonePolicy*/,
13612  "AK%T" /*format*/,
13613  -2160 /*offsetCode (-32400/15)*/,
13614  0 /*offsetRemainder (-32400%15)*/,
13615  0 /*deltaMinutes*/,
13616  32767 /*untilYear*/,
13617  1 /*untilMonth*/,
13618  1 /*untilDay*/,
13619  0 /*untilTimeCode (0/15)*/,
13620  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13621  },
13622 
13623 };
13624 
13625 static const char kZoneNameAmerica_Sitka[] ACE_TIME_PROGMEM = "\x02" "Sitka";
13626 
13627 const complete::Info::ZoneInfo kZoneAmerica_Sitka ACE_TIME_PROGMEM = {
13628  kZoneNameAmerica_Sitka /*name*/,
13629  0x99104ce2 /*zoneId*/,
13630  &kZoneContext /*zoneContext*/,
13631  8 /*numEras*/,
13632  kZoneEraAmerica_Sitka /*eras*/,
13633  nullptr /*targetInfo*/,
13634 };
13635 
13636 //---------------------------------------------------------------------------
13637 // Zone name: America/St_Johns
13638 // Eras: 8
13639 //---------------------------------------------------------------------------
13640 
13641 static const complete::Info::ZoneEra kZoneEraAmerica_St_Johns[] ACE_TIME_PROGMEM = {
13642  // -3:30:52 - LMT 1884
13643  {
13644  nullptr /*zonePolicy*/,
13645  "LMT" /*format*/,
13646  -844 /*offsetCode (-12652/15)*/,
13647  8 /*offsetRemainder (-12652%15)*/,
13648  0 /*deltaMinutes*/,
13649  1884 /*untilYear*/,
13650  1 /*untilMonth*/,
13651  1 /*untilDay*/,
13652  0 /*untilTimeCode (0/15)*/,
13653  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13654  },
13655  // -3:30:52 StJohns N%sT 1918
13656  {
13657  &kZonePolicyStJohns /*zonePolicy*/,
13658  "N%T" /*format*/,
13659  -844 /*offsetCode (-12652/15)*/,
13660  8 /*offsetRemainder (-12652%15)*/,
13661  0 /*deltaMinutes*/,
13662  1918 /*untilYear*/,
13663  1 /*untilMonth*/,
13664  1 /*untilDay*/,
13665  0 /*untilTimeCode (0/15)*/,
13666  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13667  },
13668  // -3:30:52 Canada N%sT 1919
13669  {
13670  &kZonePolicyCanada /*zonePolicy*/,
13671  "N%T" /*format*/,
13672  -844 /*offsetCode (-12652/15)*/,
13673  8 /*offsetRemainder (-12652%15)*/,
13674  0 /*deltaMinutes*/,
13675  1919 /*untilYear*/,
13676  1 /*untilMonth*/,
13677  1 /*untilDay*/,
13678  0 /*untilTimeCode (0/15)*/,
13679  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13680  },
13681  // -3:30:52 StJohns N%sT 1935 Mar 30
13682  {
13683  &kZonePolicyStJohns /*zonePolicy*/,
13684  "N%T" /*format*/,
13685  -844 /*offsetCode (-12652/15)*/,
13686  8 /*offsetRemainder (-12652%15)*/,
13687  0 /*deltaMinutes*/,
13688  1935 /*untilYear*/,
13689  3 /*untilMonth*/,
13690  30 /*untilDay*/,
13691  0 /*untilTimeCode (0/15)*/,
13692  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13693  },
13694  // -3:30 StJohns N%sT 1942 May 11
13695  {
13696  &kZonePolicyStJohns /*zonePolicy*/,
13697  "N%T" /*format*/,
13698  -840 /*offsetCode (-12600/15)*/,
13699  0 /*offsetRemainder (-12600%15)*/,
13700  0 /*deltaMinutes*/,
13701  1942 /*untilYear*/,
13702  5 /*untilMonth*/,
13703  11 /*untilDay*/,
13704  0 /*untilTimeCode (0/15)*/,
13705  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13706  },
13707  // -3:30 Canada N%sT 1946
13708  {
13709  &kZonePolicyCanada /*zonePolicy*/,
13710  "N%T" /*format*/,
13711  -840 /*offsetCode (-12600/15)*/,
13712  0 /*offsetRemainder (-12600%15)*/,
13713  0 /*deltaMinutes*/,
13714  1946 /*untilYear*/,
13715  1 /*untilMonth*/,
13716  1 /*untilDay*/,
13717  0 /*untilTimeCode (0/15)*/,
13718  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13719  },
13720  // -3:30 StJohns N%sT 2011 Nov
13721  {
13722  &kZonePolicyStJohns /*zonePolicy*/,
13723  "N%T" /*format*/,
13724  -840 /*offsetCode (-12600/15)*/,
13725  0 /*offsetRemainder (-12600%15)*/,
13726  0 /*deltaMinutes*/,
13727  2011 /*untilYear*/,
13728  11 /*untilMonth*/,
13729  1 /*untilDay*/,
13730  0 /*untilTimeCode (0/15)*/,
13731  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13732  },
13733  // -3:30 Canada N%sT
13734  {
13735  &kZonePolicyCanada /*zonePolicy*/,
13736  "N%T" /*format*/,
13737  -840 /*offsetCode (-12600/15)*/,
13738  0 /*offsetRemainder (-12600%15)*/,
13739  0 /*deltaMinutes*/,
13740  32767 /*untilYear*/,
13741  1 /*untilMonth*/,
13742  1 /*untilDay*/,
13743  0 /*untilTimeCode (0/15)*/,
13744  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13745  },
13746 
13747 };
13748 
13749 static const char kZoneNameAmerica_St_Johns[] ACE_TIME_PROGMEM = "\x02" "St_Johns";
13750 
13751 const complete::Info::ZoneInfo kZoneAmerica_St_Johns ACE_TIME_PROGMEM = {
13752  kZoneNameAmerica_St_Johns /*name*/,
13753  0x04b14e6e /*zoneId*/,
13754  &kZoneContext /*zoneContext*/,
13755  8 /*numEras*/,
13756  kZoneEraAmerica_St_Johns /*eras*/,
13757  nullptr /*targetInfo*/,
13758 };
13759 
13760 //---------------------------------------------------------------------------
13761 // Zone name: America/Swift_Current
13762 // Eras: 5
13763 //---------------------------------------------------------------------------
13764 
13765 static const complete::Info::ZoneEra kZoneEraAmerica_Swift_Current[] ACE_TIME_PROGMEM = {
13766  // -7:11:20 - LMT 1905 Sep
13767  {
13768  nullptr /*zonePolicy*/,
13769  "LMT" /*format*/,
13770  -1726 /*offsetCode (-25880/15)*/,
13771  10 /*offsetRemainder (-25880%15)*/,
13772  0 /*deltaMinutes*/,
13773  1905 /*untilYear*/,
13774  9 /*untilMonth*/,
13775  1 /*untilDay*/,
13776  0 /*untilTimeCode (0/15)*/,
13777  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13778  },
13779  // -7:00 Canada M%sT 1946 Apr lastSun 2:00
13780  {
13781  &kZonePolicyCanada /*zonePolicy*/,
13782  "M%T" /*format*/,
13783  -1680 /*offsetCode (-25200/15)*/,
13784  0 /*offsetRemainder (-25200%15)*/,
13785  0 /*deltaMinutes*/,
13786  1946 /*untilYear*/,
13787  4 /*untilMonth*/,
13788  28 /*untilDay*/,
13789  480 /*untilTimeCode (7200/15)*/,
13790  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13791  },
13792  // -7:00 Regina M%sT 1950
13793  {
13794  &kZonePolicyRegina /*zonePolicy*/,
13795  "M%T" /*format*/,
13796  -1680 /*offsetCode (-25200/15)*/,
13797  0 /*offsetRemainder (-25200%15)*/,
13798  0 /*deltaMinutes*/,
13799  1950 /*untilYear*/,
13800  1 /*untilMonth*/,
13801  1 /*untilDay*/,
13802  0 /*untilTimeCode (0/15)*/,
13803  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13804  },
13805  // -7:00 Swift M%sT 1972 Apr lastSun 2:00
13806  {
13807  &kZonePolicySwift /*zonePolicy*/,
13808  "M%T" /*format*/,
13809  -1680 /*offsetCode (-25200/15)*/,
13810  0 /*offsetRemainder (-25200%15)*/,
13811  0 /*deltaMinutes*/,
13812  1972 /*untilYear*/,
13813  4 /*untilMonth*/,
13814  30 /*untilDay*/,
13815  480 /*untilTimeCode (7200/15)*/,
13816  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13817  },
13818  // -6:00 - CST
13819  {
13820  nullptr /*zonePolicy*/,
13821  "CST" /*format*/,
13822  -1440 /*offsetCode (-21600/15)*/,
13823  0 /*offsetRemainder (-21600%15)*/,
13824  0 /*deltaMinutes*/,
13825  32767 /*untilYear*/,
13826  1 /*untilMonth*/,
13827  1 /*untilDay*/,
13828  0 /*untilTimeCode (0/15)*/,
13829  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13830  },
13831 
13832 };
13833 
13834 static const char kZoneNameAmerica_Swift_Current[] ACE_TIME_PROGMEM = "\x02" "Swift_Current";
13835 
13836 const complete::Info::ZoneInfo kZoneAmerica_Swift_Current ACE_TIME_PROGMEM = {
13837  kZoneNameAmerica_Swift_Current /*name*/,
13838  0xdef98e55 /*zoneId*/,
13839  &kZoneContext /*zoneContext*/,
13840  5 /*numEras*/,
13841  kZoneEraAmerica_Swift_Current /*eras*/,
13842  nullptr /*targetInfo*/,
13843 };
13844 
13845 //---------------------------------------------------------------------------
13846 // Zone name: America/Tegucigalpa
13847 // Eras: 2
13848 //---------------------------------------------------------------------------
13849 
13850 static const complete::Info::ZoneEra kZoneEraAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = {
13851  // -5:48:52 - LMT 1921 Apr
13852  {
13853  nullptr /*zonePolicy*/,
13854  "LMT" /*format*/,
13855  -1396 /*offsetCode (-20932/15)*/,
13856  8 /*offsetRemainder (-20932%15)*/,
13857  0 /*deltaMinutes*/,
13858  1921 /*untilYear*/,
13859  4 /*untilMonth*/,
13860  1 /*untilDay*/,
13861  0 /*untilTimeCode (0/15)*/,
13862  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13863  },
13864  // -6:00 Hond C%sT
13865  {
13866  &kZonePolicyHond /*zonePolicy*/,
13867  "C%T" /*format*/,
13868  -1440 /*offsetCode (-21600/15)*/,
13869  0 /*offsetRemainder (-21600%15)*/,
13870  0 /*deltaMinutes*/,
13871  32767 /*untilYear*/,
13872  1 /*untilMonth*/,
13873  1 /*untilDay*/,
13874  0 /*untilTimeCode (0/15)*/,
13875  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13876  },
13877 
13878 };
13879 
13880 static const char kZoneNameAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = "\x02" "Tegucigalpa";
13881 
13882 const complete::Info::ZoneInfo kZoneAmerica_Tegucigalpa ACE_TIME_PROGMEM = {
13883  kZoneNameAmerica_Tegucigalpa /*name*/,
13884  0xbfd6fd4c /*zoneId*/,
13885  &kZoneContext /*zoneContext*/,
13886  2 /*numEras*/,
13887  kZoneEraAmerica_Tegucigalpa /*eras*/,
13888  nullptr /*targetInfo*/,
13889 };
13890 
13891 //---------------------------------------------------------------------------
13892 // Zone name: America/Thule
13893 // Eras: 2
13894 //---------------------------------------------------------------------------
13895 
13896 static const complete::Info::ZoneEra kZoneEraAmerica_Thule[] ACE_TIME_PROGMEM = {
13897  // -4:35:08 - LMT 1916 Jul 28
13898  {
13899  nullptr /*zonePolicy*/,
13900  "LMT" /*format*/,
13901  -1101 /*offsetCode (-16508/15)*/,
13902  7 /*offsetRemainder (-16508%15)*/,
13903  0 /*deltaMinutes*/,
13904  1916 /*untilYear*/,
13905  7 /*untilMonth*/,
13906  28 /*untilDay*/,
13907  0 /*untilTimeCode (0/15)*/,
13908  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13909  },
13910  // -4:00 Thule A%sT
13911  {
13912  &kZonePolicyThule /*zonePolicy*/,
13913  "A%T" /*format*/,
13914  -960 /*offsetCode (-14400/15)*/,
13915  0 /*offsetRemainder (-14400%15)*/,
13916  0 /*deltaMinutes*/,
13917  32767 /*untilYear*/,
13918  1 /*untilMonth*/,
13919  1 /*untilDay*/,
13920  0 /*untilTimeCode (0/15)*/,
13921  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13922  },
13923 
13924 };
13925 
13926 static const char kZoneNameAmerica_Thule[] ACE_TIME_PROGMEM = "\x02" "Thule";
13927 
13928 const complete::Info::ZoneInfo kZoneAmerica_Thule ACE_TIME_PROGMEM = {
13929  kZoneNameAmerica_Thule /*name*/,
13930  0x9921dd68 /*zoneId*/,
13931  &kZoneContext /*zoneContext*/,
13932  2 /*numEras*/,
13933  kZoneEraAmerica_Thule /*eras*/,
13934  nullptr /*targetInfo*/,
13935 };
13936 
13937 //---------------------------------------------------------------------------
13938 // Zone name: America/Tijuana
13939 // Eras: 25
13940 //---------------------------------------------------------------------------
13941 
13942 static const complete::Info::ZoneEra kZoneEraAmerica_Tijuana[] ACE_TIME_PROGMEM = {
13943  // -7:48:04 - LMT 1922 Jan 1 7:00u
13944  {
13945  nullptr /*zonePolicy*/,
13946  "LMT" /*format*/,
13947  -1873 /*offsetCode (-28084/15)*/,
13948  11 /*offsetRemainder (-28084%15)*/,
13949  0 /*deltaMinutes*/,
13950  1922 /*untilYear*/,
13951  1 /*untilMonth*/,
13952  1 /*untilDay*/,
13953  1680 /*untilTimeCode (25200/15)*/,
13954  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
13955  },
13956  // -7:00 - MST 1924
13957  {
13958  nullptr /*zonePolicy*/,
13959  "MST" /*format*/,
13960  -1680 /*offsetCode (-25200/15)*/,
13961  0 /*offsetRemainder (-25200%15)*/,
13962  0 /*deltaMinutes*/,
13963  1924 /*untilYear*/,
13964  1 /*untilMonth*/,
13965  1 /*untilDay*/,
13966  0 /*untilTimeCode (0/15)*/,
13967  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13968  },
13969  // -8:00 - PST 1927 Jun 10
13970  {
13971  nullptr /*zonePolicy*/,
13972  "PST" /*format*/,
13973  -1920 /*offsetCode (-28800/15)*/,
13974  0 /*offsetRemainder (-28800%15)*/,
13975  0 /*deltaMinutes*/,
13976  1927 /*untilYear*/,
13977  6 /*untilMonth*/,
13978  10 /*untilDay*/,
13979  0 /*untilTimeCode (0/15)*/,
13980  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13981  },
13982  // -7:00 - MST 1930 Nov 15
13983  {
13984  nullptr /*zonePolicy*/,
13985  "MST" /*format*/,
13986  -1680 /*offsetCode (-25200/15)*/,
13987  0 /*offsetRemainder (-25200%15)*/,
13988  0 /*deltaMinutes*/,
13989  1930 /*untilYear*/,
13990  11 /*untilMonth*/,
13991  15 /*untilDay*/,
13992  0 /*untilTimeCode (0/15)*/,
13993  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13994  },
13995  // -8:00 - PST 1931 Apr 1
13996  {
13997  nullptr /*zonePolicy*/,
13998  "PST" /*format*/,
13999  -1920 /*offsetCode (-28800/15)*/,
14000  0 /*offsetRemainder (-28800%15)*/,
14001  0 /*deltaMinutes*/,
14002  1931 /*untilYear*/,
14003  4 /*untilMonth*/,
14004  1 /*untilDay*/,
14005  0 /*untilTimeCode (0/15)*/,
14006  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14007  },
14008  // -8:00 1:00 PDT 1931 Sep 30
14009  {
14010  nullptr /*zonePolicy*/,
14011  "PDT" /*format*/,
14012  -1920 /*offsetCode (-28800/15)*/,
14013  0 /*offsetRemainder (-28800%15)*/,
14014  60 /*deltaMinutes*/,
14015  1931 /*untilYear*/,
14016  9 /*untilMonth*/,
14017  30 /*untilDay*/,
14018  0 /*untilTimeCode (0/15)*/,
14019  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14020  },
14021  // -8:00 - PST 1942 Apr 24
14022  {
14023  nullptr /*zonePolicy*/,
14024  "PST" /*format*/,
14025  -1920 /*offsetCode (-28800/15)*/,
14026  0 /*offsetRemainder (-28800%15)*/,
14027  0 /*deltaMinutes*/,
14028  1942 /*untilYear*/,
14029  4 /*untilMonth*/,
14030  24 /*untilDay*/,
14031  0 /*untilTimeCode (0/15)*/,
14032  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14033  },
14034  // -8:00 1:00 PWT 1945 Aug 14 23:00u
14035  {
14036  nullptr /*zonePolicy*/,
14037  "PWT" /*format*/,
14038  -1920 /*offsetCode (-28800/15)*/,
14039  0 /*offsetRemainder (-28800%15)*/,
14040  60 /*deltaMinutes*/,
14041  1945 /*untilYear*/,
14042  8 /*untilMonth*/,
14043  14 /*untilDay*/,
14044  5520 /*untilTimeCode (82800/15)*/,
14045  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
14046  },
14047  // -8:00 1:00 PPT 1945 Nov 15
14048  {
14049  nullptr /*zonePolicy*/,
14050  "PPT" /*format*/,
14051  -1920 /*offsetCode (-28800/15)*/,
14052  0 /*offsetRemainder (-28800%15)*/,
14053  60 /*deltaMinutes*/,
14054  1945 /*untilYear*/,
14055  11 /*untilMonth*/,
14056  15 /*untilDay*/,
14057  0 /*untilTimeCode (0/15)*/,
14058  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14059  },
14060  // -8:00 - PST 1948 Apr 5
14061  {
14062  nullptr /*zonePolicy*/,
14063  "PST" /*format*/,
14064  -1920 /*offsetCode (-28800/15)*/,
14065  0 /*offsetRemainder (-28800%15)*/,
14066  0 /*deltaMinutes*/,
14067  1948 /*untilYear*/,
14068  4 /*untilMonth*/,
14069  5 /*untilDay*/,
14070  0 /*untilTimeCode (0/15)*/,
14071  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14072  },
14073  // -8:00 1:00 PDT 1949 Jan 14
14074  {
14075  nullptr /*zonePolicy*/,
14076  "PDT" /*format*/,
14077  -1920 /*offsetCode (-28800/15)*/,
14078  0 /*offsetRemainder (-28800%15)*/,
14079  60 /*deltaMinutes*/,
14080  1949 /*untilYear*/,
14081  1 /*untilMonth*/,
14082  14 /*untilDay*/,
14083  0 /*untilTimeCode (0/15)*/,
14084  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14085  },
14086  // -8:00 - PST 1950 May 1
14087  {
14088  nullptr /*zonePolicy*/,
14089  "PST" /*format*/,
14090  -1920 /*offsetCode (-28800/15)*/,
14091  0 /*offsetRemainder (-28800%15)*/,
14092  0 /*deltaMinutes*/,
14093  1950 /*untilYear*/,
14094  5 /*untilMonth*/,
14095  1 /*untilDay*/,
14096  0 /*untilTimeCode (0/15)*/,
14097  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14098  },
14099  // -8:00 1:00 PDT 1950 Sep 24
14100  {
14101  nullptr /*zonePolicy*/,
14102  "PDT" /*format*/,
14103  -1920 /*offsetCode (-28800/15)*/,
14104  0 /*offsetRemainder (-28800%15)*/,
14105  60 /*deltaMinutes*/,
14106  1950 /*untilYear*/,
14107  9 /*untilMonth*/,
14108  24 /*untilDay*/,
14109  0 /*untilTimeCode (0/15)*/,
14110  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14111  },
14112  // -8:00 - PST 1951 Apr 29 2:00
14113  {
14114  nullptr /*zonePolicy*/,
14115  "PST" /*format*/,
14116  -1920 /*offsetCode (-28800/15)*/,
14117  0 /*offsetRemainder (-28800%15)*/,
14118  0 /*deltaMinutes*/,
14119  1951 /*untilYear*/,
14120  4 /*untilMonth*/,
14121  29 /*untilDay*/,
14122  480 /*untilTimeCode (7200/15)*/,
14123  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14124  },
14125  // -8:00 1:00 PDT 1951 Sep 30 2:00
14126  {
14127  nullptr /*zonePolicy*/,
14128  "PDT" /*format*/,
14129  -1920 /*offsetCode (-28800/15)*/,
14130  0 /*offsetRemainder (-28800%15)*/,
14131  60 /*deltaMinutes*/,
14132  1951 /*untilYear*/,
14133  9 /*untilMonth*/,
14134  30 /*untilDay*/,
14135  480 /*untilTimeCode (7200/15)*/,
14136  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14137  },
14138  // -8:00 - PST 1952 Apr 27 2:00
14139  {
14140  nullptr /*zonePolicy*/,
14141  "PST" /*format*/,
14142  -1920 /*offsetCode (-28800/15)*/,
14143  0 /*offsetRemainder (-28800%15)*/,
14144  0 /*deltaMinutes*/,
14145  1952 /*untilYear*/,
14146  4 /*untilMonth*/,
14147  27 /*untilDay*/,
14148  480 /*untilTimeCode (7200/15)*/,
14149  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14150  },
14151  // -8:00 1:00 PDT 1952 Sep 28 2:00
14152  {
14153  nullptr /*zonePolicy*/,
14154  "PDT" /*format*/,
14155  -1920 /*offsetCode (-28800/15)*/,
14156  0 /*offsetRemainder (-28800%15)*/,
14157  60 /*deltaMinutes*/,
14158  1952 /*untilYear*/,
14159  9 /*untilMonth*/,
14160  28 /*untilDay*/,
14161  480 /*untilTimeCode (7200/15)*/,
14162  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14163  },
14164  // -8:00 - PST 1954
14165  {
14166  nullptr /*zonePolicy*/,
14167  "PST" /*format*/,
14168  -1920 /*offsetCode (-28800/15)*/,
14169  0 /*offsetRemainder (-28800%15)*/,
14170  0 /*deltaMinutes*/,
14171  1954 /*untilYear*/,
14172  1 /*untilMonth*/,
14173  1 /*untilDay*/,
14174  0 /*untilTimeCode (0/15)*/,
14175  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14176  },
14177  // -8:00 CA P%sT 1961
14178  {
14179  &kZonePolicyCA /*zonePolicy*/,
14180  "P%T" /*format*/,
14181  -1920 /*offsetCode (-28800/15)*/,
14182  0 /*offsetRemainder (-28800%15)*/,
14183  0 /*deltaMinutes*/,
14184  1961 /*untilYear*/,
14185  1 /*untilMonth*/,
14186  1 /*untilDay*/,
14187  0 /*untilTimeCode (0/15)*/,
14188  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14189  },
14190  // -8:00 - PST 1976
14191  {
14192  nullptr /*zonePolicy*/,
14193  "PST" /*format*/,
14194  -1920 /*offsetCode (-28800/15)*/,
14195  0 /*offsetRemainder (-28800%15)*/,
14196  0 /*deltaMinutes*/,
14197  1976 /*untilYear*/,
14198  1 /*untilMonth*/,
14199  1 /*untilDay*/,
14200  0 /*untilTimeCode (0/15)*/,
14201  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14202  },
14203  // -8:00 US P%sT 1996
14204  {
14205  &kZonePolicyUS /*zonePolicy*/,
14206  "P%T" /*format*/,
14207  -1920 /*offsetCode (-28800/15)*/,
14208  0 /*offsetRemainder (-28800%15)*/,
14209  0 /*deltaMinutes*/,
14210  1996 /*untilYear*/,
14211  1 /*untilMonth*/,
14212  1 /*untilDay*/,
14213  0 /*untilTimeCode (0/15)*/,
14214  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14215  },
14216  // -8:00 Mexico P%sT 2001
14217  {
14218  &kZonePolicyMexico /*zonePolicy*/,
14219  "P%T" /*format*/,
14220  -1920 /*offsetCode (-28800/15)*/,
14221  0 /*offsetRemainder (-28800%15)*/,
14222  0 /*deltaMinutes*/,
14223  2001 /*untilYear*/,
14224  1 /*untilMonth*/,
14225  1 /*untilDay*/,
14226  0 /*untilTimeCode (0/15)*/,
14227  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14228  },
14229  // -8:00 US P%sT 2002 Feb 20
14230  {
14231  &kZonePolicyUS /*zonePolicy*/,
14232  "P%T" /*format*/,
14233  -1920 /*offsetCode (-28800/15)*/,
14234  0 /*offsetRemainder (-28800%15)*/,
14235  0 /*deltaMinutes*/,
14236  2002 /*untilYear*/,
14237  2 /*untilMonth*/,
14238  20 /*untilDay*/,
14239  0 /*untilTimeCode (0/15)*/,
14240  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14241  },
14242  // -8:00 Mexico P%sT 2010
14243  {
14244  &kZonePolicyMexico /*zonePolicy*/,
14245  "P%T" /*format*/,
14246  -1920 /*offsetCode (-28800/15)*/,
14247  0 /*offsetRemainder (-28800%15)*/,
14248  0 /*deltaMinutes*/,
14249  2010 /*untilYear*/,
14250  1 /*untilMonth*/,
14251  1 /*untilDay*/,
14252  0 /*untilTimeCode (0/15)*/,
14253  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14254  },
14255  // -8:00 US P%sT
14256  {
14257  &kZonePolicyUS /*zonePolicy*/,
14258  "P%T" /*format*/,
14259  -1920 /*offsetCode (-28800/15)*/,
14260  0 /*offsetRemainder (-28800%15)*/,
14261  0 /*deltaMinutes*/,
14262  32767 /*untilYear*/,
14263  1 /*untilMonth*/,
14264  1 /*untilDay*/,
14265  0 /*untilTimeCode (0/15)*/,
14266  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14267  },
14268 
14269 };
14270 
14271 static const char kZoneNameAmerica_Tijuana[] ACE_TIME_PROGMEM = "\x02" "Tijuana";
14272 
14273 const complete::Info::ZoneInfo kZoneAmerica_Tijuana ACE_TIME_PROGMEM = {
14274  kZoneNameAmerica_Tijuana /*name*/,
14275  0x6aa1df72 /*zoneId*/,
14276  &kZoneContext /*zoneContext*/,
14277  25 /*numEras*/,
14278  kZoneEraAmerica_Tijuana /*eras*/,
14279  nullptr /*targetInfo*/,
14280 };
14281 
14282 //---------------------------------------------------------------------------
14283 // Zone name: America/Toronto
14284 // Eras: 6
14285 //---------------------------------------------------------------------------
14286 
14287 static const complete::Info::ZoneEra kZoneEraAmerica_Toronto[] ACE_TIME_PROGMEM = {
14288  // -5:17:32 - LMT 1895
14289  {
14290  nullptr /*zonePolicy*/,
14291  "LMT" /*format*/,
14292  -1271 /*offsetCode (-19052/15)*/,
14293  13 /*offsetRemainder (-19052%15)*/,
14294  0 /*deltaMinutes*/,
14295  1895 /*untilYear*/,
14296  1 /*untilMonth*/,
14297  1 /*untilDay*/,
14298  0 /*untilTimeCode (0/15)*/,
14299  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14300  },
14301  // -5:00 Canada E%sT 1919
14302  {
14303  &kZonePolicyCanada /*zonePolicy*/,
14304  "E%T" /*format*/,
14305  -1200 /*offsetCode (-18000/15)*/,
14306  0 /*offsetRemainder (-18000%15)*/,
14307  0 /*deltaMinutes*/,
14308  1919 /*untilYear*/,
14309  1 /*untilMonth*/,
14310  1 /*untilDay*/,
14311  0 /*untilTimeCode (0/15)*/,
14312  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14313  },
14314  // -5:00 Toronto E%sT 1942 Feb 9 2:00s
14315  {
14316  &kZonePolicyToronto /*zonePolicy*/,
14317  "E%T" /*format*/,
14318  -1200 /*offsetCode (-18000/15)*/,
14319  0 /*offsetRemainder (-18000%15)*/,
14320  0 /*deltaMinutes*/,
14321  1942 /*untilYear*/,
14322  2 /*untilMonth*/,
14323  9 /*untilDay*/,
14324  480 /*untilTimeCode (7200/15)*/,
14325  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
14326  },
14327  // -5:00 Canada E%sT 1946
14328  {
14329  &kZonePolicyCanada /*zonePolicy*/,
14330  "E%T" /*format*/,
14331  -1200 /*offsetCode (-18000/15)*/,
14332  0 /*offsetRemainder (-18000%15)*/,
14333  0 /*deltaMinutes*/,
14334  1946 /*untilYear*/,
14335  1 /*untilMonth*/,
14336  1 /*untilDay*/,
14337  0 /*untilTimeCode (0/15)*/,
14338  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14339  },
14340  // -5:00 Toronto E%sT 1974
14341  {
14342  &kZonePolicyToronto /*zonePolicy*/,
14343  "E%T" /*format*/,
14344  -1200 /*offsetCode (-18000/15)*/,
14345  0 /*offsetRemainder (-18000%15)*/,
14346  0 /*deltaMinutes*/,
14347  1974 /*untilYear*/,
14348  1 /*untilMonth*/,
14349  1 /*untilDay*/,
14350  0 /*untilTimeCode (0/15)*/,
14351  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14352  },
14353  // -5:00 Canada E%sT
14354  {
14355  &kZonePolicyCanada /*zonePolicy*/,
14356  "E%T" /*format*/,
14357  -1200 /*offsetCode (-18000/15)*/,
14358  0 /*offsetRemainder (-18000%15)*/,
14359  0 /*deltaMinutes*/,
14360  32767 /*untilYear*/,
14361  1 /*untilMonth*/,
14362  1 /*untilDay*/,
14363  0 /*untilTimeCode (0/15)*/,
14364  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14365  },
14366 
14367 };
14368 
14369 static const char kZoneNameAmerica_Toronto[] ACE_TIME_PROGMEM = "\x02" "Toronto";
14370 
14371 const complete::Info::ZoneInfo kZoneAmerica_Toronto ACE_TIME_PROGMEM = {
14372  kZoneNameAmerica_Toronto /*name*/,
14373  0x792e851b /*zoneId*/,
14374  &kZoneContext /*zoneContext*/,
14375  6 /*numEras*/,
14376  kZoneEraAmerica_Toronto /*eras*/,
14377  nullptr /*targetInfo*/,
14378 };
14379 
14380 //---------------------------------------------------------------------------
14381 // Zone name: America/Vancouver
14382 // Eras: 3
14383 //---------------------------------------------------------------------------
14384 
14385 static const complete::Info::ZoneEra kZoneEraAmerica_Vancouver[] ACE_TIME_PROGMEM = {
14386  // -8:12:28 - LMT 1884
14387  {
14388  nullptr /*zonePolicy*/,
14389  "LMT" /*format*/,
14390  -1970 /*offsetCode (-29548/15)*/,
14391  2 /*offsetRemainder (-29548%15)*/,
14392  0 /*deltaMinutes*/,
14393  1884 /*untilYear*/,
14394  1 /*untilMonth*/,
14395  1 /*untilDay*/,
14396  0 /*untilTimeCode (0/15)*/,
14397  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14398  },
14399  // -8:00 Vanc P%sT 1987
14400  {
14401  &kZonePolicyVanc /*zonePolicy*/,
14402  "P%T" /*format*/,
14403  -1920 /*offsetCode (-28800/15)*/,
14404  0 /*offsetRemainder (-28800%15)*/,
14405  0 /*deltaMinutes*/,
14406  1987 /*untilYear*/,
14407  1 /*untilMonth*/,
14408  1 /*untilDay*/,
14409  0 /*untilTimeCode (0/15)*/,
14410  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14411  },
14412  // -8:00 Canada P%sT
14413  {
14414  &kZonePolicyCanada /*zonePolicy*/,
14415  "P%T" /*format*/,
14416  -1920 /*offsetCode (-28800/15)*/,
14417  0 /*offsetRemainder (-28800%15)*/,
14418  0 /*deltaMinutes*/,
14419  32767 /*untilYear*/,
14420  1 /*untilMonth*/,
14421  1 /*untilDay*/,
14422  0 /*untilTimeCode (0/15)*/,
14423  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14424  },
14425 
14426 };
14427 
14428 static const char kZoneNameAmerica_Vancouver[] ACE_TIME_PROGMEM = "\x02" "Vancouver";
14429 
14430 const complete::Info::ZoneInfo kZoneAmerica_Vancouver ACE_TIME_PROGMEM = {
14431  kZoneNameAmerica_Vancouver /*name*/,
14432  0x2c6f6b1f /*zoneId*/,
14433  &kZoneContext /*zoneContext*/,
14434  3 /*numEras*/,
14435  kZoneEraAmerica_Vancouver /*eras*/,
14436  nullptr /*targetInfo*/,
14437 };
14438 
14439 //---------------------------------------------------------------------------
14440 // Zone name: America/Whitehorse
14441 // Eras: 6
14442 //---------------------------------------------------------------------------
14443 
14444 static const complete::Info::ZoneEra kZoneEraAmerica_Whitehorse[] ACE_TIME_PROGMEM = {
14445  // -9:00:12 - LMT 1900 Aug 20
14446  {
14447  nullptr /*zonePolicy*/,
14448  "LMT" /*format*/,
14449  -2161 /*offsetCode (-32412/15)*/,
14450  3 /*offsetRemainder (-32412%15)*/,
14451  0 /*deltaMinutes*/,
14452  1900 /*untilYear*/,
14453  8 /*untilMonth*/,
14454  20 /*untilDay*/,
14455  0 /*untilTimeCode (0/15)*/,
14456  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14457  },
14458  // -9:00 NT_YK Y%sT 1965
14459  {
14460  &kZonePolicyNT_YK /*zonePolicy*/,
14461  "Y%T" /*format*/,
14462  -2160 /*offsetCode (-32400/15)*/,
14463  0 /*offsetRemainder (-32400%15)*/,
14464  0 /*deltaMinutes*/,
14465  1965 /*untilYear*/,
14466  1 /*untilMonth*/,
14467  1 /*untilDay*/,
14468  0 /*untilTimeCode (0/15)*/,
14469  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14470  },
14471  // -9:00 Yukon Y%sT 1966 Feb 27 0:00
14472  {
14473  &kZonePolicyYukon /*zonePolicy*/,
14474  "Y%T" /*format*/,
14475  -2160 /*offsetCode (-32400/15)*/,
14476  0 /*offsetRemainder (-32400%15)*/,
14477  0 /*deltaMinutes*/,
14478  1966 /*untilYear*/,
14479  2 /*untilMonth*/,
14480  27 /*untilDay*/,
14481  0 /*untilTimeCode (0/15)*/,
14482  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14483  },
14484  // -8:00 - PST 1980
14485  {
14486  nullptr /*zonePolicy*/,
14487  "PST" /*format*/,
14488  -1920 /*offsetCode (-28800/15)*/,
14489  0 /*offsetRemainder (-28800%15)*/,
14490  0 /*deltaMinutes*/,
14491  1980 /*untilYear*/,
14492  1 /*untilMonth*/,
14493  1 /*untilDay*/,
14494  0 /*untilTimeCode (0/15)*/,
14495  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14496  },
14497  // -8:00 Canada P%sT 2020 Nov 1
14498  {
14499  &kZonePolicyCanada /*zonePolicy*/,
14500  "P%T" /*format*/,
14501  -1920 /*offsetCode (-28800/15)*/,
14502  0 /*offsetRemainder (-28800%15)*/,
14503  0 /*deltaMinutes*/,
14504  2020 /*untilYear*/,
14505  11 /*untilMonth*/,
14506  1 /*untilDay*/,
14507  0 /*untilTimeCode (0/15)*/,
14508  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14509  },
14510  // -7:00 - MST
14511  {
14512  nullptr /*zonePolicy*/,
14513  "MST" /*format*/,
14514  -1680 /*offsetCode (-25200/15)*/,
14515  0 /*offsetRemainder (-25200%15)*/,
14516  0 /*deltaMinutes*/,
14517  32767 /*untilYear*/,
14518  1 /*untilMonth*/,
14519  1 /*untilDay*/,
14520  0 /*untilTimeCode (0/15)*/,
14521  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14522  },
14523 
14524 };
14525 
14526 static const char kZoneNameAmerica_Whitehorse[] ACE_TIME_PROGMEM = "\x02" "Whitehorse";
14527 
14528 const complete::Info::ZoneInfo kZoneAmerica_Whitehorse ACE_TIME_PROGMEM = {
14529  kZoneNameAmerica_Whitehorse /*name*/,
14530  0x54e0e3e8 /*zoneId*/,
14531  &kZoneContext /*zoneContext*/,
14532  6 /*numEras*/,
14533  kZoneEraAmerica_Whitehorse /*eras*/,
14534  nullptr /*targetInfo*/,
14535 };
14536 
14537 //---------------------------------------------------------------------------
14538 // Zone name: America/Winnipeg
14539 // Eras: 3
14540 //---------------------------------------------------------------------------
14541 
14542 static const complete::Info::ZoneEra kZoneEraAmerica_Winnipeg[] ACE_TIME_PROGMEM = {
14543  // -6:28:36 - LMT 1887 Jul 16
14544  {
14545  nullptr /*zonePolicy*/,
14546  "LMT" /*format*/,
14547  -1555 /*offsetCode (-23316/15)*/,
14548  9 /*offsetRemainder (-23316%15)*/,
14549  0 /*deltaMinutes*/,
14550  1887 /*untilYear*/,
14551  7 /*untilMonth*/,
14552  16 /*untilDay*/,
14553  0 /*untilTimeCode (0/15)*/,
14554  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14555  },
14556  // -6:00 Winn C%sT 2006
14557  {
14558  &kZonePolicyWinn /*zonePolicy*/,
14559  "C%T" /*format*/,
14560  -1440 /*offsetCode (-21600/15)*/,
14561  0 /*offsetRemainder (-21600%15)*/,
14562  0 /*deltaMinutes*/,
14563  2006 /*untilYear*/,
14564  1 /*untilMonth*/,
14565  1 /*untilDay*/,
14566  0 /*untilTimeCode (0/15)*/,
14567  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14568  },
14569  // -6:00 Canada C%sT
14570  {
14571  &kZonePolicyCanada /*zonePolicy*/,
14572  "C%T" /*format*/,
14573  -1440 /*offsetCode (-21600/15)*/,
14574  0 /*offsetRemainder (-21600%15)*/,
14575  0 /*deltaMinutes*/,
14576  32767 /*untilYear*/,
14577  1 /*untilMonth*/,
14578  1 /*untilDay*/,
14579  0 /*untilTimeCode (0/15)*/,
14580  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14581  },
14582 
14583 };
14584 
14585 static const char kZoneNameAmerica_Winnipeg[] ACE_TIME_PROGMEM = "\x02" "Winnipeg";
14586 
14587 const complete::Info::ZoneInfo kZoneAmerica_Winnipeg ACE_TIME_PROGMEM = {
14588  kZoneNameAmerica_Winnipeg /*name*/,
14589  0x8c7dafc7 /*zoneId*/,
14590  &kZoneContext /*zoneContext*/,
14591  3 /*numEras*/,
14592  kZoneEraAmerica_Winnipeg /*eras*/,
14593  nullptr /*targetInfo*/,
14594 };
14595 
14596 //---------------------------------------------------------------------------
14597 // Zone name: America/Yakutat
14598 // Eras: 7
14599 //---------------------------------------------------------------------------
14600 
14601 static const complete::Info::ZoneEra kZoneEraAmerica_Yakutat[] ACE_TIME_PROGMEM = {
14602  // 14:41:05 - LMT 1867 Oct 19 15:12:18
14603  {
14604  nullptr /*zonePolicy*/,
14605  "LMT" /*format*/,
14606  3524 /*offsetCode (52865/15)*/,
14607  5 /*offsetRemainder (52865%15)*/,
14608  0 /*deltaMinutes*/,
14609  1867 /*untilYear*/,
14610  10 /*untilMonth*/,
14611  19 /*untilDay*/,
14612  3649 /*untilTimeCode (54738/15)*/,
14613  3 /*untilTimeModifier (kAtcSuffixW + seconds=3)*/,
14614  },
14615  // -9:18:55 - LMT 1900 Aug 20 12:00
14616  {
14617  nullptr /*zonePolicy*/,
14618  "LMT" /*format*/,
14619  -2236 /*offsetCode (-33535/15)*/,
14620  5 /*offsetRemainder (-33535%15)*/,
14621  0 /*deltaMinutes*/,
14622  1900 /*untilYear*/,
14623  8 /*untilMonth*/,
14624  20 /*untilDay*/,
14625  2880 /*untilTimeCode (43200/15)*/,
14626  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14627  },
14628  // -9:00 - YST 1942
14629  {
14630  nullptr /*zonePolicy*/,
14631  "YST" /*format*/,
14632  -2160 /*offsetCode (-32400/15)*/,
14633  0 /*offsetRemainder (-32400%15)*/,
14634  0 /*deltaMinutes*/,
14635  1942 /*untilYear*/,
14636  1 /*untilMonth*/,
14637  1 /*untilDay*/,
14638  0 /*untilTimeCode (0/15)*/,
14639  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14640  },
14641  // -9:00 US Y%sT 1946
14642  {
14643  &kZonePolicyUS /*zonePolicy*/,
14644  "Y%T" /*format*/,
14645  -2160 /*offsetCode (-32400/15)*/,
14646  0 /*offsetRemainder (-32400%15)*/,
14647  0 /*deltaMinutes*/,
14648  1946 /*untilYear*/,
14649  1 /*untilMonth*/,
14650  1 /*untilDay*/,
14651  0 /*untilTimeCode (0/15)*/,
14652  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14653  },
14654  // -9:00 - YST 1969
14655  {
14656  nullptr /*zonePolicy*/,
14657  "YST" /*format*/,
14658  -2160 /*offsetCode (-32400/15)*/,
14659  0 /*offsetRemainder (-32400%15)*/,
14660  0 /*deltaMinutes*/,
14661  1969 /*untilYear*/,
14662  1 /*untilMonth*/,
14663  1 /*untilDay*/,
14664  0 /*untilTimeCode (0/15)*/,
14665  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14666  },
14667  // -9:00 US Y%sT 1983 Nov 30
14668  {
14669  &kZonePolicyUS /*zonePolicy*/,
14670  "Y%T" /*format*/,
14671  -2160 /*offsetCode (-32400/15)*/,
14672  0 /*offsetRemainder (-32400%15)*/,
14673  0 /*deltaMinutes*/,
14674  1983 /*untilYear*/,
14675  11 /*untilMonth*/,
14676  30 /*untilDay*/,
14677  0 /*untilTimeCode (0/15)*/,
14678  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14679  },
14680  // -9:00 US AK%sT
14681  {
14682  &kZonePolicyUS /*zonePolicy*/,
14683  "AK%T" /*format*/,
14684  -2160 /*offsetCode (-32400/15)*/,
14685  0 /*offsetRemainder (-32400%15)*/,
14686  0 /*deltaMinutes*/,
14687  32767 /*untilYear*/,
14688  1 /*untilMonth*/,
14689  1 /*untilDay*/,
14690  0 /*untilTimeCode (0/15)*/,
14691  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14692  },
14693 
14694 };
14695 
14696 static const char kZoneNameAmerica_Yakutat[] ACE_TIME_PROGMEM = "\x02" "Yakutat";
14697 
14698 const complete::Info::ZoneInfo kZoneAmerica_Yakutat ACE_TIME_PROGMEM = {
14699  kZoneNameAmerica_Yakutat /*name*/,
14700  0xd8ee31e9 /*zoneId*/,
14701  &kZoneContext /*zoneContext*/,
14702  7 /*numEras*/,
14703  kZoneEraAmerica_Yakutat /*eras*/,
14704  nullptr /*targetInfo*/,
14705 };
14706 
14707 //---------------------------------------------------------------------------
14708 // Zone name: Antarctica/Casey
14709 // Eras: 18
14710 //---------------------------------------------------------------------------
14711 
14712 static const complete::Info::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = {
14713  // 0 - -00 1969
14714  {
14715  nullptr /*zonePolicy*/,
14716  "-00" /*format*/,
14717  0 /*offsetCode (0/15)*/,
14718  0 /*offsetRemainder (0%15)*/,
14719  0 /*deltaMinutes*/,
14720  1969 /*untilYear*/,
14721  1 /*untilMonth*/,
14722  1 /*untilDay*/,
14723  0 /*untilTimeCode (0/15)*/,
14724  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14725  },
14726  // 8:00 - %z 2009 Oct 18 2:00
14727  {
14728  nullptr /*zonePolicy*/,
14729  "" /*format*/,
14730  1920 /*offsetCode (28800/15)*/,
14731  0 /*offsetRemainder (28800%15)*/,
14732  0 /*deltaMinutes*/,
14733  2009 /*untilYear*/,
14734  10 /*untilMonth*/,
14735  18 /*untilDay*/,
14736  480 /*untilTimeCode (7200/15)*/,
14737  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14738  },
14739  // 11:00 - %z 2010 Mar 5 2:00
14740  {
14741  nullptr /*zonePolicy*/,
14742  "" /*format*/,
14743  2640 /*offsetCode (39600/15)*/,
14744  0 /*offsetRemainder (39600%15)*/,
14745  0 /*deltaMinutes*/,
14746  2010 /*untilYear*/,
14747  3 /*untilMonth*/,
14748  5 /*untilDay*/,
14749  480 /*untilTimeCode (7200/15)*/,
14750  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14751  },
14752  // 8:00 - %z 2011 Oct 28 2:00
14753  {
14754  nullptr /*zonePolicy*/,
14755  "" /*format*/,
14756  1920 /*offsetCode (28800/15)*/,
14757  0 /*offsetRemainder (28800%15)*/,
14758  0 /*deltaMinutes*/,
14759  2011 /*untilYear*/,
14760  10 /*untilMonth*/,
14761  28 /*untilDay*/,
14762  480 /*untilTimeCode (7200/15)*/,
14763  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14764  },
14765  // 11:00 - %z 2012 Feb 21 17:00u
14766  {
14767  nullptr /*zonePolicy*/,
14768  "" /*format*/,
14769  2640 /*offsetCode (39600/15)*/,
14770  0 /*offsetRemainder (39600%15)*/,
14771  0 /*deltaMinutes*/,
14772  2012 /*untilYear*/,
14773  2 /*untilMonth*/,
14774  21 /*untilDay*/,
14775  4080 /*untilTimeCode (61200/15)*/,
14776  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
14777  },
14778  // 8:00 - %z 2016 Oct 22
14779  {
14780  nullptr /*zonePolicy*/,
14781  "" /*format*/,
14782  1920 /*offsetCode (28800/15)*/,
14783  0 /*offsetRemainder (28800%15)*/,
14784  0 /*deltaMinutes*/,
14785  2016 /*untilYear*/,
14786  10 /*untilMonth*/,
14787  22 /*untilDay*/,
14788  0 /*untilTimeCode (0/15)*/,
14789  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14790  },
14791  // 11:00 - %z 2018 Mar 11 4:00
14792  {
14793  nullptr /*zonePolicy*/,
14794  "" /*format*/,
14795  2640 /*offsetCode (39600/15)*/,
14796  0 /*offsetRemainder (39600%15)*/,
14797  0 /*deltaMinutes*/,
14798  2018 /*untilYear*/,
14799  3 /*untilMonth*/,
14800  11 /*untilDay*/,
14801  960 /*untilTimeCode (14400/15)*/,
14802  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14803  },
14804  // 8:00 - %z 2018 Oct 7 4:00
14805  {
14806  nullptr /*zonePolicy*/,
14807  "" /*format*/,
14808  1920 /*offsetCode (28800/15)*/,
14809  0 /*offsetRemainder (28800%15)*/,
14810  0 /*deltaMinutes*/,
14811  2018 /*untilYear*/,
14812  10 /*untilMonth*/,
14813  7 /*untilDay*/,
14814  960 /*untilTimeCode (14400/15)*/,
14815  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14816  },
14817  // 11:00 - %z 2019 Mar 17 3:00
14818  {
14819  nullptr /*zonePolicy*/,
14820  "" /*format*/,
14821  2640 /*offsetCode (39600/15)*/,
14822  0 /*offsetRemainder (39600%15)*/,
14823  0 /*deltaMinutes*/,
14824  2019 /*untilYear*/,
14825  3 /*untilMonth*/,
14826  17 /*untilDay*/,
14827  720 /*untilTimeCode (10800/15)*/,
14828  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14829  },
14830  // 8:00 - %z 2019 Oct 4 3:00
14831  {
14832  nullptr /*zonePolicy*/,
14833  "" /*format*/,
14834  1920 /*offsetCode (28800/15)*/,
14835  0 /*offsetRemainder (28800%15)*/,
14836  0 /*deltaMinutes*/,
14837  2019 /*untilYear*/,
14838  10 /*untilMonth*/,
14839  4 /*untilDay*/,
14840  720 /*untilTimeCode (10800/15)*/,
14841  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14842  },
14843  // 11:00 - %z 2020 Mar 8 3:00
14844  {
14845  nullptr /*zonePolicy*/,
14846  "" /*format*/,
14847  2640 /*offsetCode (39600/15)*/,
14848  0 /*offsetRemainder (39600%15)*/,
14849  0 /*deltaMinutes*/,
14850  2020 /*untilYear*/,
14851  3 /*untilMonth*/,
14852  8 /*untilDay*/,
14853  720 /*untilTimeCode (10800/15)*/,
14854  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14855  },
14856  // 8:00 - %z 2020 Oct 4 0:01
14857  {
14858  nullptr /*zonePolicy*/,
14859  "" /*format*/,
14860  1920 /*offsetCode (28800/15)*/,
14861  0 /*offsetRemainder (28800%15)*/,
14862  0 /*deltaMinutes*/,
14863  2020 /*untilYear*/,
14864  10 /*untilMonth*/,
14865  4 /*untilDay*/,
14866  4 /*untilTimeCode (60/15)*/,
14867  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14868  },
14869  // 11:00 - %z 2021 Mar 14 0:00
14870  {
14871  nullptr /*zonePolicy*/,
14872  "" /*format*/,
14873  2640 /*offsetCode (39600/15)*/,
14874  0 /*offsetRemainder (39600%15)*/,
14875  0 /*deltaMinutes*/,
14876  2021 /*untilYear*/,
14877  3 /*untilMonth*/,
14878  14 /*untilDay*/,
14879  0 /*untilTimeCode (0/15)*/,
14880  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14881  },
14882  // 8:00 - %z 2021 Oct 3 0:01
14883  {
14884  nullptr /*zonePolicy*/,
14885  "" /*format*/,
14886  1920 /*offsetCode (28800/15)*/,
14887  0 /*offsetRemainder (28800%15)*/,
14888  0 /*deltaMinutes*/,
14889  2021 /*untilYear*/,
14890  10 /*untilMonth*/,
14891  3 /*untilDay*/,
14892  4 /*untilTimeCode (60/15)*/,
14893  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14894  },
14895  // 11:00 - %z 2022 Mar 13 0:00
14896  {
14897  nullptr /*zonePolicy*/,
14898  "" /*format*/,
14899  2640 /*offsetCode (39600/15)*/,
14900  0 /*offsetRemainder (39600%15)*/,
14901  0 /*deltaMinutes*/,
14902  2022 /*untilYear*/,
14903  3 /*untilMonth*/,
14904  13 /*untilDay*/,
14905  0 /*untilTimeCode (0/15)*/,
14906  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14907  },
14908  // 8:00 - %z 2022 Oct 2 0:01
14909  {
14910  nullptr /*zonePolicy*/,
14911  "" /*format*/,
14912  1920 /*offsetCode (28800/15)*/,
14913  0 /*offsetRemainder (28800%15)*/,
14914  0 /*deltaMinutes*/,
14915  2022 /*untilYear*/,
14916  10 /*untilMonth*/,
14917  2 /*untilDay*/,
14918  4 /*untilTimeCode (60/15)*/,
14919  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14920  },
14921  // 11:00 - %z 2023 Mar 9 3:00
14922  {
14923  nullptr /*zonePolicy*/,
14924  "" /*format*/,
14925  2640 /*offsetCode (39600/15)*/,
14926  0 /*offsetRemainder (39600%15)*/,
14927  0 /*deltaMinutes*/,
14928  2023 /*untilYear*/,
14929  3 /*untilMonth*/,
14930  9 /*untilDay*/,
14931  720 /*untilTimeCode (10800/15)*/,
14932  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14933  },
14934  // 8:00 - %z
14935  {
14936  nullptr /*zonePolicy*/,
14937  "" /*format*/,
14938  1920 /*offsetCode (28800/15)*/,
14939  0 /*offsetRemainder (28800%15)*/,
14940  0 /*deltaMinutes*/,
14941  32767 /*untilYear*/,
14942  1 /*untilMonth*/,
14943  1 /*untilDay*/,
14944  0 /*untilTimeCode (0/15)*/,
14945  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14946  },
14947 
14948 };
14949 
14950 static const char kZoneNameAntarctica_Casey[] ACE_TIME_PROGMEM = "\x03" "Casey";
14951 
14952 const complete::Info::ZoneInfo kZoneAntarctica_Casey ACE_TIME_PROGMEM = {
14953  kZoneNameAntarctica_Casey /*name*/,
14954  0xe2022583 /*zoneId*/,
14955  &kZoneContext /*zoneContext*/,
14956  18 /*numEras*/,
14957  kZoneEraAntarctica_Casey /*eras*/,
14958  nullptr /*targetInfo*/,
14959 };
14960 
14961 //---------------------------------------------------------------------------
14962 // Zone name: Antarctica/Davis
14963 // Eras: 8
14964 //---------------------------------------------------------------------------
14965 
14966 static const complete::Info::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = {
14967  // 0 - -00 1957 Jan 13
14968  {
14969  nullptr /*zonePolicy*/,
14970  "-00" /*format*/,
14971  0 /*offsetCode (0/15)*/,
14972  0 /*offsetRemainder (0%15)*/,
14973  0 /*deltaMinutes*/,
14974  1957 /*untilYear*/,
14975  1 /*untilMonth*/,
14976  13 /*untilDay*/,
14977  0 /*untilTimeCode (0/15)*/,
14978  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14979  },
14980  // 7:00 - %z 1964 Nov
14981  {
14982  nullptr /*zonePolicy*/,
14983  "" /*format*/,
14984  1680 /*offsetCode (25200/15)*/,
14985  0 /*offsetRemainder (25200%15)*/,
14986  0 /*deltaMinutes*/,
14987  1964 /*untilYear*/,
14988  11 /*untilMonth*/,
14989  1 /*untilDay*/,
14990  0 /*untilTimeCode (0/15)*/,
14991  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14992  },
14993  // 0 - -00 1969 Feb
14994  {
14995  nullptr /*zonePolicy*/,
14996  "-00" /*format*/,
14997  0 /*offsetCode (0/15)*/,
14998  0 /*offsetRemainder (0%15)*/,
14999  0 /*deltaMinutes*/,
15000  1969 /*untilYear*/,
15001  2 /*untilMonth*/,
15002  1 /*untilDay*/,
15003  0 /*untilTimeCode (0/15)*/,
15004  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15005  },
15006  // 7:00 - %z 2009 Oct 18 2:00
15007  {
15008  nullptr /*zonePolicy*/,
15009  "" /*format*/,
15010  1680 /*offsetCode (25200/15)*/,
15011  0 /*offsetRemainder (25200%15)*/,
15012  0 /*deltaMinutes*/,
15013  2009 /*untilYear*/,
15014  10 /*untilMonth*/,
15015  18 /*untilDay*/,
15016  480 /*untilTimeCode (7200/15)*/,
15017  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15018  },
15019  // 5:00 - %z 2010 Mar 10 20:00u
15020  {
15021  nullptr /*zonePolicy*/,
15022  "" /*format*/,
15023  1200 /*offsetCode (18000/15)*/,
15024  0 /*offsetRemainder (18000%15)*/,
15025  0 /*deltaMinutes*/,
15026  2010 /*untilYear*/,
15027  3 /*untilMonth*/,
15028  10 /*untilDay*/,
15029  4800 /*untilTimeCode (72000/15)*/,
15030  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
15031  },
15032  // 7:00 - %z 2011 Oct 28 2:00
15033  {
15034  nullptr /*zonePolicy*/,
15035  "" /*format*/,
15036  1680 /*offsetCode (25200/15)*/,
15037  0 /*offsetRemainder (25200%15)*/,
15038  0 /*deltaMinutes*/,
15039  2011 /*untilYear*/,
15040  10 /*untilMonth*/,
15041  28 /*untilDay*/,
15042  480 /*untilTimeCode (7200/15)*/,
15043  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15044  },
15045  // 5:00 - %z 2012 Feb 21 20:00u
15046  {
15047  nullptr /*zonePolicy*/,
15048  "" /*format*/,
15049  1200 /*offsetCode (18000/15)*/,
15050  0 /*offsetRemainder (18000%15)*/,
15051  0 /*deltaMinutes*/,
15052  2012 /*untilYear*/,
15053  2 /*untilMonth*/,
15054  21 /*untilDay*/,
15055  4800 /*untilTimeCode (72000/15)*/,
15056  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
15057  },
15058  // 7:00 - %z
15059  {
15060  nullptr /*zonePolicy*/,
15061  "" /*format*/,
15062  1680 /*offsetCode (25200/15)*/,
15063  0 /*offsetRemainder (25200%15)*/,
15064  0 /*deltaMinutes*/,
15065  32767 /*untilYear*/,
15066  1 /*untilMonth*/,
15067  1 /*untilDay*/,
15068  0 /*untilTimeCode (0/15)*/,
15069  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15070  },
15071 
15072 };
15073 
15074 static const char kZoneNameAntarctica_Davis[] ACE_TIME_PROGMEM = "\x03" "Davis";
15075 
15076 const complete::Info::ZoneInfo kZoneAntarctica_Davis ACE_TIME_PROGMEM = {
15077  kZoneNameAntarctica_Davis /*name*/,
15078  0xe2144b45 /*zoneId*/,
15079  &kZoneContext /*zoneContext*/,
15080  8 /*numEras*/,
15081  kZoneEraAntarctica_Davis /*eras*/,
15082  nullptr /*targetInfo*/,
15083 };
15084 
15085 //---------------------------------------------------------------------------
15086 // Zone name: Antarctica/Macquarie
15087 // Eras: 9
15088 //---------------------------------------------------------------------------
15089 
15090 static const complete::Info::ZoneEra kZoneEraAntarctica_Macquarie[] ACE_TIME_PROGMEM = {
15091  // 0 - -00 1899 Nov
15092  {
15093  nullptr /*zonePolicy*/,
15094  "-00" /*format*/,
15095  0 /*offsetCode (0/15)*/,
15096  0 /*offsetRemainder (0%15)*/,
15097  0 /*deltaMinutes*/,
15098  1899 /*untilYear*/,
15099  11 /*untilMonth*/,
15100  1 /*untilDay*/,
15101  0 /*untilTimeCode (0/15)*/,
15102  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15103  },
15104  // 10:00 - AEST 1916 Oct 1 2:00
15105  {
15106  nullptr /*zonePolicy*/,
15107  "AEST" /*format*/,
15108  2400 /*offsetCode (36000/15)*/,
15109  0 /*offsetRemainder (36000%15)*/,
15110  0 /*deltaMinutes*/,
15111  1916 /*untilYear*/,
15112  10 /*untilMonth*/,
15113  1 /*untilDay*/,
15114  480 /*untilTimeCode (7200/15)*/,
15115  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15116  },
15117  // 10:00 1:00 AEDT 1917 Feb
15118  {
15119  nullptr /*zonePolicy*/,
15120  "AEDT" /*format*/,
15121  2400 /*offsetCode (36000/15)*/,
15122  0 /*offsetRemainder (36000%15)*/,
15123  60 /*deltaMinutes*/,
15124  1917 /*untilYear*/,
15125  2 /*untilMonth*/,
15126  1 /*untilDay*/,
15127  0 /*untilTimeCode (0/15)*/,
15128  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15129  },
15130  // 10:00 Aus AE%sT 1919 Apr 1 0:00s
15131  {
15132  &kZonePolicyAus /*zonePolicy*/,
15133  "AE%T" /*format*/,
15134  2400 /*offsetCode (36000/15)*/,
15135  0 /*offsetRemainder (36000%15)*/,
15136  0 /*deltaMinutes*/,
15137  1919 /*untilYear*/,
15138  4 /*untilMonth*/,
15139  1 /*untilDay*/,
15140  0 /*untilTimeCode (0/15)*/,
15141  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15142  },
15143  // 0 - -00 1948 Mar 25
15144  {
15145  nullptr /*zonePolicy*/,
15146  "-00" /*format*/,
15147  0 /*offsetCode (0/15)*/,
15148  0 /*offsetRemainder (0%15)*/,
15149  0 /*deltaMinutes*/,
15150  1948 /*untilYear*/,
15151  3 /*untilMonth*/,
15152  25 /*untilDay*/,
15153  0 /*untilTimeCode (0/15)*/,
15154  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15155  },
15156  // 10:00 Aus AE%sT 1967
15157  {
15158  &kZonePolicyAus /*zonePolicy*/,
15159  "AE%T" /*format*/,
15160  2400 /*offsetCode (36000/15)*/,
15161  0 /*offsetRemainder (36000%15)*/,
15162  0 /*deltaMinutes*/,
15163  1967 /*untilYear*/,
15164  1 /*untilMonth*/,
15165  1 /*untilDay*/,
15166  0 /*untilTimeCode (0/15)*/,
15167  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15168  },
15169  // 10:00 AT AE%sT 2010
15170  {
15171  &kZonePolicyAT /*zonePolicy*/,
15172  "AE%T" /*format*/,
15173  2400 /*offsetCode (36000/15)*/,
15174  0 /*offsetRemainder (36000%15)*/,
15175  0 /*deltaMinutes*/,
15176  2010 /*untilYear*/,
15177  1 /*untilMonth*/,
15178  1 /*untilDay*/,
15179  0 /*untilTimeCode (0/15)*/,
15180  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15181  },
15182  // 10:00 1:00 AEDT 2011
15183  {
15184  nullptr /*zonePolicy*/,
15185  "AEDT" /*format*/,
15186  2400 /*offsetCode (36000/15)*/,
15187  0 /*offsetRemainder (36000%15)*/,
15188  60 /*deltaMinutes*/,
15189  2011 /*untilYear*/,
15190  1 /*untilMonth*/,
15191  1 /*untilDay*/,
15192  0 /*untilTimeCode (0/15)*/,
15193  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15194  },
15195  // 10:00 AT AE%sT
15196  {
15197  &kZonePolicyAT /*zonePolicy*/,
15198  "AE%T" /*format*/,
15199  2400 /*offsetCode (36000/15)*/,
15200  0 /*offsetRemainder (36000%15)*/,
15201  0 /*deltaMinutes*/,
15202  32767 /*untilYear*/,
15203  1 /*untilMonth*/,
15204  1 /*untilDay*/,
15205  0 /*untilTimeCode (0/15)*/,
15206  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15207  },
15208 
15209 };
15210 
15211 static const char kZoneNameAntarctica_Macquarie[] ACE_TIME_PROGMEM = "\x03" "Macquarie";
15212 
15213 const complete::Info::ZoneInfo kZoneAntarctica_Macquarie ACE_TIME_PROGMEM = {
15214  kZoneNameAntarctica_Macquarie /*name*/,
15215  0x92f47626 /*zoneId*/,
15216  &kZoneContext /*zoneContext*/,
15217  9 /*numEras*/,
15218  kZoneEraAntarctica_Macquarie /*eras*/,
15219  nullptr /*targetInfo*/,
15220 };
15221 
15222 //---------------------------------------------------------------------------
15223 // Zone name: Antarctica/Mawson
15224 // Eras: 3
15225 //---------------------------------------------------------------------------
15226 
15227 static const complete::Info::ZoneEra kZoneEraAntarctica_Mawson[] ACE_TIME_PROGMEM = {
15228  // 0 - -00 1954 Feb 13
15229  {
15230  nullptr /*zonePolicy*/,
15231  "-00" /*format*/,
15232  0 /*offsetCode (0/15)*/,
15233  0 /*offsetRemainder (0%15)*/,
15234  0 /*deltaMinutes*/,
15235  1954 /*untilYear*/,
15236  2 /*untilMonth*/,
15237  13 /*untilDay*/,
15238  0 /*untilTimeCode (0/15)*/,
15239  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15240  },
15241  // 6:00 - %z 2009 Oct 18 2:00
15242  {
15243  nullptr /*zonePolicy*/,
15244  "" /*format*/,
15245  1440 /*offsetCode (21600/15)*/,
15246  0 /*offsetRemainder (21600%15)*/,
15247  0 /*deltaMinutes*/,
15248  2009 /*untilYear*/,
15249  10 /*untilMonth*/,
15250  18 /*untilDay*/,
15251  480 /*untilTimeCode (7200/15)*/,
15252  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15253  },
15254  // 5:00 - %z
15255  {
15256  nullptr /*zonePolicy*/,
15257  "" /*format*/,
15258  1200 /*offsetCode (18000/15)*/,
15259  0 /*offsetRemainder (18000%15)*/,
15260  0 /*deltaMinutes*/,
15261  32767 /*untilYear*/,
15262  1 /*untilMonth*/,
15263  1 /*untilDay*/,
15264  0 /*untilTimeCode (0/15)*/,
15265  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15266  },
15267 
15268 };
15269 
15270 static const char kZoneNameAntarctica_Mawson[] ACE_TIME_PROGMEM = "\x03" "Mawson";
15271 
15272 const complete::Info::ZoneInfo kZoneAntarctica_Mawson ACE_TIME_PROGMEM = {
15273  kZoneNameAntarctica_Mawson /*name*/,
15274  0x399cd863 /*zoneId*/,
15275  &kZoneContext /*zoneContext*/,
15276  3 /*numEras*/,
15277  kZoneEraAntarctica_Mawson /*eras*/,
15278  nullptr /*targetInfo*/,
15279 };
15280 
15281 //---------------------------------------------------------------------------
15282 // Zone name: Antarctica/Palmer
15283 // Eras: 5
15284 //---------------------------------------------------------------------------
15285 
15286 static const complete::Info::ZoneEra kZoneEraAntarctica_Palmer[] ACE_TIME_PROGMEM = {
15287  // 0 - -00 1965
15288  {
15289  nullptr /*zonePolicy*/,
15290  "-00" /*format*/,
15291  0 /*offsetCode (0/15)*/,
15292  0 /*offsetRemainder (0%15)*/,
15293  0 /*deltaMinutes*/,
15294  1965 /*untilYear*/,
15295  1 /*untilMonth*/,
15296  1 /*untilDay*/,
15297  0 /*untilTimeCode (0/15)*/,
15298  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15299  },
15300  // -4:00 Arg %z 1969 Oct 5
15301  {
15302  &kZonePolicyArg /*zonePolicy*/,
15303  "" /*format*/,
15304  -960 /*offsetCode (-14400/15)*/,
15305  0 /*offsetRemainder (-14400%15)*/,
15306  0 /*deltaMinutes*/,
15307  1969 /*untilYear*/,
15308  10 /*untilMonth*/,
15309  5 /*untilDay*/,
15310  0 /*untilTimeCode (0/15)*/,
15311  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15312  },
15313  // -3:00 Arg %z 1982 May
15314  {
15315  &kZonePolicyArg /*zonePolicy*/,
15316  "" /*format*/,
15317  -720 /*offsetCode (-10800/15)*/,
15318  0 /*offsetRemainder (-10800%15)*/,
15319  0 /*deltaMinutes*/,
15320  1982 /*untilYear*/,
15321  5 /*untilMonth*/,
15322  1 /*untilDay*/,
15323  0 /*untilTimeCode (0/15)*/,
15324  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15325  },
15326  // -4:00 Chile %z 2016 Dec 4
15327  {
15328  &kZonePolicyChile /*zonePolicy*/,
15329  "" /*format*/,
15330  -960 /*offsetCode (-14400/15)*/,
15331  0 /*offsetRemainder (-14400%15)*/,
15332  0 /*deltaMinutes*/,
15333  2016 /*untilYear*/,
15334  12 /*untilMonth*/,
15335  4 /*untilDay*/,
15336  0 /*untilTimeCode (0/15)*/,
15337  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15338  },
15339  // -3:00 - %z
15340  {
15341  nullptr /*zonePolicy*/,
15342  "" /*format*/,
15343  -720 /*offsetCode (-10800/15)*/,
15344  0 /*offsetRemainder (-10800%15)*/,
15345  0 /*deltaMinutes*/,
15346  32767 /*untilYear*/,
15347  1 /*untilMonth*/,
15348  1 /*untilDay*/,
15349  0 /*untilTimeCode (0/15)*/,
15350  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15351  },
15352 
15353 };
15354 
15355 static const char kZoneNameAntarctica_Palmer[] ACE_TIME_PROGMEM = "\x03" "Palmer";
15356 
15357 const complete::Info::ZoneInfo kZoneAntarctica_Palmer ACE_TIME_PROGMEM = {
15358  kZoneNameAntarctica_Palmer /*name*/,
15359  0x40962f4f /*zoneId*/,
15360  &kZoneContext /*zoneContext*/,
15361  5 /*numEras*/,
15362  kZoneEraAntarctica_Palmer /*eras*/,
15363  nullptr /*targetInfo*/,
15364 };
15365 
15366 //---------------------------------------------------------------------------
15367 // Zone name: Antarctica/Rothera
15368 // Eras: 2
15369 //---------------------------------------------------------------------------
15370 
15371 static const complete::Info::ZoneEra kZoneEraAntarctica_Rothera[] ACE_TIME_PROGMEM = {
15372  // 0 - -00 1976 Dec 1
15373  {
15374  nullptr /*zonePolicy*/,
15375  "-00" /*format*/,
15376  0 /*offsetCode (0/15)*/,
15377  0 /*offsetRemainder (0%15)*/,
15378  0 /*deltaMinutes*/,
15379  1976 /*untilYear*/,
15380  12 /*untilMonth*/,
15381  1 /*untilDay*/,
15382  0 /*untilTimeCode (0/15)*/,
15383  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15384  },
15385  // -3:00 - %z
15386  {
15387  nullptr /*zonePolicy*/,
15388  "" /*format*/,
15389  -720 /*offsetCode (-10800/15)*/,
15390  0 /*offsetRemainder (-10800%15)*/,
15391  0 /*deltaMinutes*/,
15392  32767 /*untilYear*/,
15393  1 /*untilMonth*/,
15394  1 /*untilDay*/,
15395  0 /*untilTimeCode (0/15)*/,
15396  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15397  },
15398 
15399 };
15400 
15401 static const char kZoneNameAntarctica_Rothera[] ACE_TIME_PROGMEM = "\x03" "Rothera";
15402 
15403 const complete::Info::ZoneInfo kZoneAntarctica_Rothera ACE_TIME_PROGMEM = {
15404  kZoneNameAntarctica_Rothera /*name*/,
15405  0x0e86d203 /*zoneId*/,
15406  &kZoneContext /*zoneContext*/,
15407  2 /*numEras*/,
15408  kZoneEraAntarctica_Rothera /*eras*/,
15409  nullptr /*targetInfo*/,
15410 };
15411 
15412 //---------------------------------------------------------------------------
15413 // Zone name: Antarctica/Troll
15414 // Eras: 2
15415 //---------------------------------------------------------------------------
15416 
15417 static const complete::Info::ZoneEra kZoneEraAntarctica_Troll[] ACE_TIME_PROGMEM = {
15418  // 0 - -00 2005 Feb 12
15419  {
15420  nullptr /*zonePolicy*/,
15421  "-00" /*format*/,
15422  0 /*offsetCode (0/15)*/,
15423  0 /*offsetRemainder (0%15)*/,
15424  0 /*deltaMinutes*/,
15425  2005 /*untilYear*/,
15426  2 /*untilMonth*/,
15427  12 /*untilDay*/,
15428  0 /*untilTimeCode (0/15)*/,
15429  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15430  },
15431  // 0:00 Troll %s
15432  {
15433  &kZonePolicyTroll /*zonePolicy*/,
15434  "%" /*format*/,
15435  0 /*offsetCode (0/15)*/,
15436  0 /*offsetRemainder (0%15)*/,
15437  0 /*deltaMinutes*/,
15438  32767 /*untilYear*/,
15439  1 /*untilMonth*/,
15440  1 /*untilDay*/,
15441  0 /*untilTimeCode (0/15)*/,
15442  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15443  },
15444 
15445 };
15446 
15447 static const char kZoneNameAntarctica_Troll[] ACE_TIME_PROGMEM = "\x03" "Troll";
15448 
15449 const complete::Info::ZoneInfo kZoneAntarctica_Troll ACE_TIME_PROGMEM = {
15450  kZoneNameAntarctica_Troll /*name*/,
15451  0xe33f085b /*zoneId*/,
15452  &kZoneContext /*zoneContext*/,
15453  2 /*numEras*/,
15454  kZoneEraAntarctica_Troll /*eras*/,
15455  nullptr /*targetInfo*/,
15456 };
15457 
15458 //---------------------------------------------------------------------------
15459 // Zone name: Antarctica/Vostok
15460 // Eras: 5
15461 //---------------------------------------------------------------------------
15462 
15463 static const complete::Info::ZoneEra kZoneEraAntarctica_Vostok[] ACE_TIME_PROGMEM = {
15464  // 0 - -00 1957 Dec 16
15465  {
15466  nullptr /*zonePolicy*/,
15467  "-00" /*format*/,
15468  0 /*offsetCode (0/15)*/,
15469  0 /*offsetRemainder (0%15)*/,
15470  0 /*deltaMinutes*/,
15471  1957 /*untilYear*/,
15472  12 /*untilMonth*/,
15473  16 /*untilDay*/,
15474  0 /*untilTimeCode (0/15)*/,
15475  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15476  },
15477  // 7:00 - %z 1994 Feb
15478  {
15479  nullptr /*zonePolicy*/,
15480  "" /*format*/,
15481  1680 /*offsetCode (25200/15)*/,
15482  0 /*offsetRemainder (25200%15)*/,
15483  0 /*deltaMinutes*/,
15484  1994 /*untilYear*/,
15485  2 /*untilMonth*/,
15486  1 /*untilDay*/,
15487  0 /*untilTimeCode (0/15)*/,
15488  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15489  },
15490  // 0 - -00 1994 Nov
15491  {
15492  nullptr /*zonePolicy*/,
15493  "-00" /*format*/,
15494  0 /*offsetCode (0/15)*/,
15495  0 /*offsetRemainder (0%15)*/,
15496  0 /*deltaMinutes*/,
15497  1994 /*untilYear*/,
15498  11 /*untilMonth*/,
15499  1 /*untilDay*/,
15500  0 /*untilTimeCode (0/15)*/,
15501  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15502  },
15503  // 7:00 - %z 2023 Dec 18 2:00
15504  {
15505  nullptr /*zonePolicy*/,
15506  "" /*format*/,
15507  1680 /*offsetCode (25200/15)*/,
15508  0 /*offsetRemainder (25200%15)*/,
15509  0 /*deltaMinutes*/,
15510  2023 /*untilYear*/,
15511  12 /*untilMonth*/,
15512  18 /*untilDay*/,
15513  480 /*untilTimeCode (7200/15)*/,
15514  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15515  },
15516  // 5:00 - %z
15517  {
15518  nullptr /*zonePolicy*/,
15519  "" /*format*/,
15520  1200 /*offsetCode (18000/15)*/,
15521  0 /*offsetRemainder (18000%15)*/,
15522  0 /*deltaMinutes*/,
15523  32767 /*untilYear*/,
15524  1 /*untilMonth*/,
15525  1 /*untilDay*/,
15526  0 /*untilTimeCode (0/15)*/,
15527  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15528  },
15529 
15530 };
15531 
15532 static const char kZoneNameAntarctica_Vostok[] ACE_TIME_PROGMEM = "\x03" "Vostok";
15533 
15534 const complete::Info::ZoneInfo kZoneAntarctica_Vostok ACE_TIME_PROGMEM = {
15535  kZoneNameAntarctica_Vostok /*name*/,
15536  0x4f966fd4 /*zoneId*/,
15537  &kZoneContext /*zoneContext*/,
15538  5 /*numEras*/,
15539  kZoneEraAntarctica_Vostok /*eras*/,
15540  nullptr /*targetInfo*/,
15541 };
15542 
15543 //---------------------------------------------------------------------------
15544 // Zone name: Asia/Almaty
15545 // Eras: 7
15546 //---------------------------------------------------------------------------
15547 
15548 static const complete::Info::ZoneEra kZoneEraAsia_Almaty[] ACE_TIME_PROGMEM = {
15549  // 5:07:48 - LMT 1924 May 2
15550  {
15551  nullptr /*zonePolicy*/,
15552  "LMT" /*format*/,
15553  1231 /*offsetCode (18468/15)*/,
15554  3 /*offsetRemainder (18468%15)*/,
15555  0 /*deltaMinutes*/,
15556  1924 /*untilYear*/,
15557  5 /*untilMonth*/,
15558  2 /*untilDay*/,
15559  0 /*untilTimeCode (0/15)*/,
15560  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15561  },
15562  // 5:00 - %z 1930 Jun 21
15563  {
15564  nullptr /*zonePolicy*/,
15565  "" /*format*/,
15566  1200 /*offsetCode (18000/15)*/,
15567  0 /*offsetRemainder (18000%15)*/,
15568  0 /*deltaMinutes*/,
15569  1930 /*untilYear*/,
15570  6 /*untilMonth*/,
15571  21 /*untilDay*/,
15572  0 /*untilTimeCode (0/15)*/,
15573  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15574  },
15575  // 6:00 RussiaAsia %z 1991 Mar 31 2:00s
15576  {
15577  &kZonePolicyRussiaAsia /*zonePolicy*/,
15578  "" /*format*/,
15579  1440 /*offsetCode (21600/15)*/,
15580  0 /*offsetRemainder (21600%15)*/,
15581  0 /*deltaMinutes*/,
15582  1991 /*untilYear*/,
15583  3 /*untilMonth*/,
15584  31 /*untilDay*/,
15585  480 /*untilTimeCode (7200/15)*/,
15586  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15587  },
15588  // 5:00 RussiaAsia %z 1992 Jan 19 2:00s
15589  {
15590  &kZonePolicyRussiaAsia /*zonePolicy*/,
15591  "" /*format*/,
15592  1200 /*offsetCode (18000/15)*/,
15593  0 /*offsetRemainder (18000%15)*/,
15594  0 /*deltaMinutes*/,
15595  1992 /*untilYear*/,
15596  1 /*untilMonth*/,
15597  19 /*untilDay*/,
15598  480 /*untilTimeCode (7200/15)*/,
15599  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15600  },
15601  // 6:00 RussiaAsia %z 2004 Oct 31 2:00s
15602  {
15603  &kZonePolicyRussiaAsia /*zonePolicy*/,
15604  "" /*format*/,
15605  1440 /*offsetCode (21600/15)*/,
15606  0 /*offsetRemainder (21600%15)*/,
15607  0 /*deltaMinutes*/,
15608  2004 /*untilYear*/,
15609  10 /*untilMonth*/,
15610  31 /*untilDay*/,
15611  480 /*untilTimeCode (7200/15)*/,
15612  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15613  },
15614  // 6:00 - %z 2024 Mar 1 0:00
15615  {
15616  nullptr /*zonePolicy*/,
15617  "" /*format*/,
15618  1440 /*offsetCode (21600/15)*/,
15619  0 /*offsetRemainder (21600%15)*/,
15620  0 /*deltaMinutes*/,
15621  2024 /*untilYear*/,
15622  3 /*untilMonth*/,
15623  1 /*untilDay*/,
15624  0 /*untilTimeCode (0/15)*/,
15625  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15626  },
15627  // 5:00 - %z
15628  {
15629  nullptr /*zonePolicy*/,
15630  "" /*format*/,
15631  1200 /*offsetCode (18000/15)*/,
15632  0 /*offsetRemainder (18000%15)*/,
15633  0 /*deltaMinutes*/,
15634  32767 /*untilYear*/,
15635  1 /*untilMonth*/,
15636  1 /*untilDay*/,
15637  0 /*untilTimeCode (0/15)*/,
15638  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15639  },
15640 
15641 };
15642 
15643 static const char kZoneNameAsia_Almaty[] ACE_TIME_PROGMEM = "\x05" "Almaty";
15644 
15645 const complete::Info::ZoneInfo kZoneAsia_Almaty ACE_TIME_PROGMEM = {
15646  kZoneNameAsia_Almaty /*name*/,
15647  0xa61f41fa /*zoneId*/,
15648  &kZoneContext /*zoneContext*/,
15649  7 /*numEras*/,
15650  kZoneEraAsia_Almaty /*eras*/,
15651  nullptr /*targetInfo*/,
15652 };
15653 
15654 //---------------------------------------------------------------------------
15655 // Zone name: Asia/Amman
15656 // Eras: 3
15657 //---------------------------------------------------------------------------
15658 
15659 static const complete::Info::ZoneEra kZoneEraAsia_Amman[] ACE_TIME_PROGMEM = {
15660  // 2:23:44 - LMT 1931
15661  {
15662  nullptr /*zonePolicy*/,
15663  "LMT" /*format*/,
15664  574 /*offsetCode (8624/15)*/,
15665  14 /*offsetRemainder (8624%15)*/,
15666  0 /*deltaMinutes*/,
15667  1931 /*untilYear*/,
15668  1 /*untilMonth*/,
15669  1 /*untilDay*/,
15670  0 /*untilTimeCode (0/15)*/,
15671  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15672  },
15673  // 2:00 Jordan EE%sT 2022 Oct 28 0:00s
15674  {
15675  &kZonePolicyJordan /*zonePolicy*/,
15676  "EE%T" /*format*/,
15677  480 /*offsetCode (7200/15)*/,
15678  0 /*offsetRemainder (7200%15)*/,
15679  0 /*deltaMinutes*/,
15680  2022 /*untilYear*/,
15681  10 /*untilMonth*/,
15682  28 /*untilDay*/,
15683  0 /*untilTimeCode (0/15)*/,
15684  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15685  },
15686  // 3:00 - %z
15687  {
15688  nullptr /*zonePolicy*/,
15689  "" /*format*/,
15690  720 /*offsetCode (10800/15)*/,
15691  0 /*offsetRemainder (10800%15)*/,
15692  0 /*deltaMinutes*/,
15693  32767 /*untilYear*/,
15694  1 /*untilMonth*/,
15695  1 /*untilDay*/,
15696  0 /*untilTimeCode (0/15)*/,
15697  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15698  },
15699 
15700 };
15701 
15702 static const char kZoneNameAsia_Amman[] ACE_TIME_PROGMEM = "\x05" "Amman";
15703 
15704 const complete::Info::ZoneInfo kZoneAsia_Amman ACE_TIME_PROGMEM = {
15705  kZoneNameAsia_Amman /*name*/,
15706  0x148d21bc /*zoneId*/,
15707  &kZoneContext /*zoneContext*/,
15708  3 /*numEras*/,
15709  kZoneEraAsia_Amman /*eras*/,
15710  nullptr /*targetInfo*/,
15711 };
15712 
15713 //---------------------------------------------------------------------------
15714 // Zone name: Asia/Anadyr
15715 // Eras: 8
15716 //---------------------------------------------------------------------------
15717 
15718 static const complete::Info::ZoneEra kZoneEraAsia_Anadyr[] ACE_TIME_PROGMEM = {
15719  // 11:49:56 - LMT 1924 May 2
15720  {
15721  nullptr /*zonePolicy*/,
15722  "LMT" /*format*/,
15723  2839 /*offsetCode (42596/15)*/,
15724  11 /*offsetRemainder (42596%15)*/,
15725  0 /*deltaMinutes*/,
15726  1924 /*untilYear*/,
15727  5 /*untilMonth*/,
15728  2 /*untilDay*/,
15729  0 /*untilTimeCode (0/15)*/,
15730  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15731  },
15732  // 12:00 - %z 1930 Jun 21
15733  {
15734  nullptr /*zonePolicy*/,
15735  "" /*format*/,
15736  2880 /*offsetCode (43200/15)*/,
15737  0 /*offsetRemainder (43200%15)*/,
15738  0 /*deltaMinutes*/,
15739  1930 /*untilYear*/,
15740  6 /*untilMonth*/,
15741  21 /*untilDay*/,
15742  0 /*untilTimeCode (0/15)*/,
15743  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15744  },
15745  // 13:00 Russia %z 1982 Apr 1 0:00s
15746  {
15747  &kZonePolicyRussia /*zonePolicy*/,
15748  "" /*format*/,
15749  3120 /*offsetCode (46800/15)*/,
15750  0 /*offsetRemainder (46800%15)*/,
15751  0 /*deltaMinutes*/,
15752  1982 /*untilYear*/,
15753  4 /*untilMonth*/,
15754  1 /*untilDay*/,
15755  0 /*untilTimeCode (0/15)*/,
15756  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15757  },
15758  // 12:00 Russia %z 1991 Mar 31 2:00s
15759  {
15760  &kZonePolicyRussia /*zonePolicy*/,
15761  "" /*format*/,
15762  2880 /*offsetCode (43200/15)*/,
15763  0 /*offsetRemainder (43200%15)*/,
15764  0 /*deltaMinutes*/,
15765  1991 /*untilYear*/,
15766  3 /*untilMonth*/,
15767  31 /*untilDay*/,
15768  480 /*untilTimeCode (7200/15)*/,
15769  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15770  },
15771  // 11:00 Russia %z 1992 Jan 19 2:00s
15772  {
15773  &kZonePolicyRussia /*zonePolicy*/,
15774  "" /*format*/,
15775  2640 /*offsetCode (39600/15)*/,
15776  0 /*offsetRemainder (39600%15)*/,
15777  0 /*deltaMinutes*/,
15778  1992 /*untilYear*/,
15779  1 /*untilMonth*/,
15780  19 /*untilDay*/,
15781  480 /*untilTimeCode (7200/15)*/,
15782  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15783  },
15784  // 12:00 Russia %z 2010 Mar 28 2:00s
15785  {
15786  &kZonePolicyRussia /*zonePolicy*/,
15787  "" /*format*/,
15788  2880 /*offsetCode (43200/15)*/,
15789  0 /*offsetRemainder (43200%15)*/,
15790  0 /*deltaMinutes*/,
15791  2010 /*untilYear*/,
15792  3 /*untilMonth*/,
15793  28 /*untilDay*/,
15794  480 /*untilTimeCode (7200/15)*/,
15795  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15796  },
15797  // 11:00 Russia %z 2011 Mar 27 2:00s
15798  {
15799  &kZonePolicyRussia /*zonePolicy*/,
15800  "" /*format*/,
15801  2640 /*offsetCode (39600/15)*/,
15802  0 /*offsetRemainder (39600%15)*/,
15803  0 /*deltaMinutes*/,
15804  2011 /*untilYear*/,
15805  3 /*untilMonth*/,
15806  27 /*untilDay*/,
15807  480 /*untilTimeCode (7200/15)*/,
15808  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15809  },
15810  // 12:00 - %z
15811  {
15812  nullptr /*zonePolicy*/,
15813  "" /*format*/,
15814  2880 /*offsetCode (43200/15)*/,
15815  0 /*offsetRemainder (43200%15)*/,
15816  0 /*deltaMinutes*/,
15817  32767 /*untilYear*/,
15818  1 /*untilMonth*/,
15819  1 /*untilDay*/,
15820  0 /*untilTimeCode (0/15)*/,
15821  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15822  },
15823 
15824 };
15825 
15826 static const char kZoneNameAsia_Anadyr[] ACE_TIME_PROGMEM = "\x05" "Anadyr";
15827 
15828 const complete::Info::ZoneInfo kZoneAsia_Anadyr ACE_TIME_PROGMEM = {
15829  kZoneNameAsia_Anadyr /*name*/,
15830  0xa63cebd1 /*zoneId*/,
15831  &kZoneContext /*zoneContext*/,
15832  8 /*numEras*/,
15833  kZoneEraAsia_Anadyr /*eras*/,
15834  nullptr /*targetInfo*/,
15835 };
15836 
15837 //---------------------------------------------------------------------------
15838 // Zone name: Asia/Aqtau
15839 // Eras: 9
15840 //---------------------------------------------------------------------------
15841 
15842 static const complete::Info::ZoneEra kZoneEraAsia_Aqtau[] ACE_TIME_PROGMEM = {
15843  // 3:21:04 - LMT 1924 May 2
15844  {
15845  nullptr /*zonePolicy*/,
15846  "LMT" /*format*/,
15847  804 /*offsetCode (12064/15)*/,
15848  4 /*offsetRemainder (12064%15)*/,
15849  0 /*deltaMinutes*/,
15850  1924 /*untilYear*/,
15851  5 /*untilMonth*/,
15852  2 /*untilDay*/,
15853  0 /*untilTimeCode (0/15)*/,
15854  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15855  },
15856  // 4:00 - %z 1930 Jun 21
15857  {
15858  nullptr /*zonePolicy*/,
15859  "" /*format*/,
15860  960 /*offsetCode (14400/15)*/,
15861  0 /*offsetRemainder (14400%15)*/,
15862  0 /*deltaMinutes*/,
15863  1930 /*untilYear*/,
15864  6 /*untilMonth*/,
15865  21 /*untilDay*/,
15866  0 /*untilTimeCode (0/15)*/,
15867  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15868  },
15869  // 5:00 - %z 1981 Oct 1
15870  {
15871  nullptr /*zonePolicy*/,
15872  "" /*format*/,
15873  1200 /*offsetCode (18000/15)*/,
15874  0 /*offsetRemainder (18000%15)*/,
15875  0 /*deltaMinutes*/,
15876  1981 /*untilYear*/,
15877  10 /*untilMonth*/,
15878  1 /*untilDay*/,
15879  0 /*untilTimeCode (0/15)*/,
15880  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15881  },
15882  // 6:00 - %z 1982 Apr 1
15883  {
15884  nullptr /*zonePolicy*/,
15885  "" /*format*/,
15886  1440 /*offsetCode (21600/15)*/,
15887  0 /*offsetRemainder (21600%15)*/,
15888  0 /*deltaMinutes*/,
15889  1982 /*untilYear*/,
15890  4 /*untilMonth*/,
15891  1 /*untilDay*/,
15892  0 /*untilTimeCode (0/15)*/,
15893  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15894  },
15895  // 5:00 RussiaAsia %z 1991 Mar 31 2:00s
15896  {
15897  &kZonePolicyRussiaAsia /*zonePolicy*/,
15898  "" /*format*/,
15899  1200 /*offsetCode (18000/15)*/,
15900  0 /*offsetRemainder (18000%15)*/,
15901  0 /*deltaMinutes*/,
15902  1991 /*untilYear*/,
15903  3 /*untilMonth*/,
15904  31 /*untilDay*/,
15905  480 /*untilTimeCode (7200/15)*/,
15906  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15907  },
15908  // 4:00 RussiaAsia %z 1992 Jan 19 2:00s
15909  {
15910  &kZonePolicyRussiaAsia /*zonePolicy*/,
15911  "" /*format*/,
15912  960 /*offsetCode (14400/15)*/,
15913  0 /*offsetRemainder (14400%15)*/,
15914  0 /*deltaMinutes*/,
15915  1992 /*untilYear*/,
15916  1 /*untilMonth*/,
15917  19 /*untilDay*/,
15918  480 /*untilTimeCode (7200/15)*/,
15919  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15920  },
15921  // 5:00 RussiaAsia %z 1994 Sep 25 2:00s
15922  {
15923  &kZonePolicyRussiaAsia /*zonePolicy*/,
15924  "" /*format*/,
15925  1200 /*offsetCode (18000/15)*/,
15926  0 /*offsetRemainder (18000%15)*/,
15927  0 /*deltaMinutes*/,
15928  1994 /*untilYear*/,
15929  9 /*untilMonth*/,
15930  25 /*untilDay*/,
15931  480 /*untilTimeCode (7200/15)*/,
15932  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15933  },
15934  // 4:00 RussiaAsia %z 2004 Oct 31 2:00s
15935  {
15936  &kZonePolicyRussiaAsia /*zonePolicy*/,
15937  "" /*format*/,
15938  960 /*offsetCode (14400/15)*/,
15939  0 /*offsetRemainder (14400%15)*/,
15940  0 /*deltaMinutes*/,
15941  2004 /*untilYear*/,
15942  10 /*untilMonth*/,
15943  31 /*untilDay*/,
15944  480 /*untilTimeCode (7200/15)*/,
15945  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15946  },
15947  // 5:00 - %z
15948  {
15949  nullptr /*zonePolicy*/,
15950  "" /*format*/,
15951  1200 /*offsetCode (18000/15)*/,
15952  0 /*offsetRemainder (18000%15)*/,
15953  0 /*deltaMinutes*/,
15954  32767 /*untilYear*/,
15955  1 /*untilMonth*/,
15956  1 /*untilDay*/,
15957  0 /*untilTimeCode (0/15)*/,
15958  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15959  },
15960 
15961 };
15962 
15963 static const char kZoneNameAsia_Aqtau[] ACE_TIME_PROGMEM = "\x05" "Aqtau";
15964 
15965 const complete::Info::ZoneInfo kZoneAsia_Aqtau ACE_TIME_PROGMEM = {
15966  kZoneNameAsia_Aqtau /*name*/,
15967  0x148f710e /*zoneId*/,
15968  &kZoneContext /*zoneContext*/,
15969  9 /*numEras*/,
15970  kZoneEraAsia_Aqtau /*eras*/,
15971  nullptr /*targetInfo*/,
15972 };
15973 
15974 //---------------------------------------------------------------------------
15975 // Zone name: Asia/Aqtobe
15976 // Eras: 9
15977 //---------------------------------------------------------------------------
15978 
15979 static const complete::Info::ZoneEra kZoneEraAsia_Aqtobe[] ACE_TIME_PROGMEM = {
15980  // 3:48:40 - LMT 1924 May 2
15981  {
15982  nullptr /*zonePolicy*/,
15983  "LMT" /*format*/,
15984  914 /*offsetCode (13720/15)*/,
15985  10 /*offsetRemainder (13720%15)*/,
15986  0 /*deltaMinutes*/,
15987  1924 /*untilYear*/,
15988  5 /*untilMonth*/,
15989  2 /*untilDay*/,
15990  0 /*untilTimeCode (0/15)*/,
15991  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15992  },
15993  // 4:00 - %z 1930 Jun 21
15994  {
15995  nullptr /*zonePolicy*/,
15996  "" /*format*/,
15997  960 /*offsetCode (14400/15)*/,
15998  0 /*offsetRemainder (14400%15)*/,
15999  0 /*deltaMinutes*/,
16000  1930 /*untilYear*/,
16001  6 /*untilMonth*/,
16002  21 /*untilDay*/,
16003  0 /*untilTimeCode (0/15)*/,
16004  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16005  },
16006  // 5:00 - %z 1981 Apr 1
16007  {
16008  nullptr /*zonePolicy*/,
16009  "" /*format*/,
16010  1200 /*offsetCode (18000/15)*/,
16011  0 /*offsetRemainder (18000%15)*/,
16012  0 /*deltaMinutes*/,
16013  1981 /*untilYear*/,
16014  4 /*untilMonth*/,
16015  1 /*untilDay*/,
16016  0 /*untilTimeCode (0/15)*/,
16017  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16018  },
16019  // 5:00 1:00 %z 1981 Oct 1
16020  {
16021  nullptr /*zonePolicy*/,
16022  "" /*format*/,
16023  1200 /*offsetCode (18000/15)*/,
16024  0 /*offsetRemainder (18000%15)*/,
16025  60 /*deltaMinutes*/,
16026  1981 /*untilYear*/,
16027  10 /*untilMonth*/,
16028  1 /*untilDay*/,
16029  0 /*untilTimeCode (0/15)*/,
16030  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16031  },
16032  // 6:00 - %z 1982 Apr 1
16033  {
16034  nullptr /*zonePolicy*/,
16035  "" /*format*/,
16036  1440 /*offsetCode (21600/15)*/,
16037  0 /*offsetRemainder (21600%15)*/,
16038  0 /*deltaMinutes*/,
16039  1982 /*untilYear*/,
16040  4 /*untilMonth*/,
16041  1 /*untilDay*/,
16042  0 /*untilTimeCode (0/15)*/,
16043  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16044  },
16045  // 5:00 RussiaAsia %z 1991 Mar 31 2:00s
16046  {
16047  &kZonePolicyRussiaAsia /*zonePolicy*/,
16048  "" /*format*/,
16049  1200 /*offsetCode (18000/15)*/,
16050  0 /*offsetRemainder (18000%15)*/,
16051  0 /*deltaMinutes*/,
16052  1991 /*untilYear*/,
16053  3 /*untilMonth*/,
16054  31 /*untilDay*/,
16055  480 /*untilTimeCode (7200/15)*/,
16056  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16057  },
16058  // 4:00 RussiaAsia %z 1992 Jan 19 2:00s
16059  {
16060  &kZonePolicyRussiaAsia /*zonePolicy*/,
16061  "" /*format*/,
16062  960 /*offsetCode (14400/15)*/,
16063  0 /*offsetRemainder (14400%15)*/,
16064  0 /*deltaMinutes*/,
16065  1992 /*untilYear*/,
16066  1 /*untilMonth*/,
16067  19 /*untilDay*/,
16068  480 /*untilTimeCode (7200/15)*/,
16069  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16070  },
16071  // 5:00 RussiaAsia %z 2004 Oct 31 2:00s
16072  {
16073  &kZonePolicyRussiaAsia /*zonePolicy*/,
16074  "" /*format*/,
16075  1200 /*offsetCode (18000/15)*/,
16076  0 /*offsetRemainder (18000%15)*/,
16077  0 /*deltaMinutes*/,
16078  2004 /*untilYear*/,
16079  10 /*untilMonth*/,
16080  31 /*untilDay*/,
16081  480 /*untilTimeCode (7200/15)*/,
16082  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16083  },
16084  // 5:00 - %z
16085  {
16086  nullptr /*zonePolicy*/,
16087  "" /*format*/,
16088  1200 /*offsetCode (18000/15)*/,
16089  0 /*offsetRemainder (18000%15)*/,
16090  0 /*deltaMinutes*/,
16091  32767 /*untilYear*/,
16092  1 /*untilMonth*/,
16093  1 /*untilDay*/,
16094  0 /*untilTimeCode (0/15)*/,
16095  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16096  },
16097 
16098 };
16099 
16100 static const char kZoneNameAsia_Aqtobe[] ACE_TIME_PROGMEM = "\x05" "Aqtobe";
16101 
16102 const complete::Info::ZoneInfo kZoneAsia_Aqtobe ACE_TIME_PROGMEM = {
16103  kZoneNameAsia_Aqtobe /*name*/,
16104  0xa67dcc4e /*zoneId*/,
16105  &kZoneContext /*zoneContext*/,
16106  9 /*numEras*/,
16107  kZoneEraAsia_Aqtobe /*eras*/,
16108  nullptr /*targetInfo*/,
16109 };
16110 
16111 //---------------------------------------------------------------------------
16112 // Zone name: Asia/Ashgabat
16113 // Eras: 5
16114 //---------------------------------------------------------------------------
16115 
16116 static const complete::Info::ZoneEra kZoneEraAsia_Ashgabat[] ACE_TIME_PROGMEM = {
16117  // 3:53:32 - LMT 1924 May 2
16118  {
16119  nullptr /*zonePolicy*/,
16120  "LMT" /*format*/,
16121  934 /*offsetCode (14012/15)*/,
16122  2 /*offsetRemainder (14012%15)*/,
16123  0 /*deltaMinutes*/,
16124  1924 /*untilYear*/,
16125  5 /*untilMonth*/,
16126  2 /*untilDay*/,
16127  0 /*untilTimeCode (0/15)*/,
16128  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16129  },
16130  // 4:00 - %z 1930 Jun 21
16131  {
16132  nullptr /*zonePolicy*/,
16133  "" /*format*/,
16134  960 /*offsetCode (14400/15)*/,
16135  0 /*offsetRemainder (14400%15)*/,
16136  0 /*deltaMinutes*/,
16137  1930 /*untilYear*/,
16138  6 /*untilMonth*/,
16139  21 /*untilDay*/,
16140  0 /*untilTimeCode (0/15)*/,
16141  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16142  },
16143  // 5:00 RussiaAsia %z 1991 Mar 31 2:00
16144  {
16145  &kZonePolicyRussiaAsia /*zonePolicy*/,
16146  "" /*format*/,
16147  1200 /*offsetCode (18000/15)*/,
16148  0 /*offsetRemainder (18000%15)*/,
16149  0 /*deltaMinutes*/,
16150  1991 /*untilYear*/,
16151  3 /*untilMonth*/,
16152  31 /*untilDay*/,
16153  480 /*untilTimeCode (7200/15)*/,
16154  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16155  },
16156  // 4:00 RussiaAsia %z 1992 Jan 19 2:00
16157  {
16158  &kZonePolicyRussiaAsia /*zonePolicy*/,
16159  "" /*format*/,
16160  960 /*offsetCode (14400/15)*/,
16161  0 /*offsetRemainder (14400%15)*/,
16162  0 /*deltaMinutes*/,
16163  1992 /*untilYear*/,
16164  1 /*untilMonth*/,
16165  19 /*untilDay*/,
16166  480 /*untilTimeCode (7200/15)*/,
16167  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16168  },
16169  // 5:00 - %z
16170  {
16171  nullptr /*zonePolicy*/,
16172  "" /*format*/,
16173  1200 /*offsetCode (18000/15)*/,
16174  0 /*offsetRemainder (18000%15)*/,
16175  0 /*deltaMinutes*/,
16176  32767 /*untilYear*/,
16177  1 /*untilMonth*/,
16178  1 /*untilDay*/,
16179  0 /*untilTimeCode (0/15)*/,
16180  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16181  },
16182 
16183 };
16184 
16185 static const char kZoneNameAsia_Ashgabat[] ACE_TIME_PROGMEM = "\x05" "Ashgabat";
16186 
16187 const complete::Info::ZoneInfo kZoneAsia_Ashgabat ACE_TIME_PROGMEM = {
16188  kZoneNameAsia_Ashgabat /*name*/,
16189  0xba87598d /*zoneId*/,
16190  &kZoneContext /*zoneContext*/,
16191  5 /*numEras*/,
16192  kZoneEraAsia_Ashgabat /*eras*/,
16193  nullptr /*targetInfo*/,
16194 };
16195 
16196 //---------------------------------------------------------------------------
16197 // Zone name: Asia/Atyrau
16198 // Eras: 9
16199 //---------------------------------------------------------------------------
16200 
16201 static const complete::Info::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = {
16202  // 3:27:44 - LMT 1924 May 2
16203  {
16204  nullptr /*zonePolicy*/,
16205  "LMT" /*format*/,
16206  830 /*offsetCode (12464/15)*/,
16207  14 /*offsetRemainder (12464%15)*/,
16208  0 /*deltaMinutes*/,
16209  1924 /*untilYear*/,
16210  5 /*untilMonth*/,
16211  2 /*untilDay*/,
16212  0 /*untilTimeCode (0/15)*/,
16213  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16214  },
16215  // 3:00 - %z 1930 Jun 21
16216  {
16217  nullptr /*zonePolicy*/,
16218  "" /*format*/,
16219  720 /*offsetCode (10800/15)*/,
16220  0 /*offsetRemainder (10800%15)*/,
16221  0 /*deltaMinutes*/,
16222  1930 /*untilYear*/,
16223  6 /*untilMonth*/,
16224  21 /*untilDay*/,
16225  0 /*untilTimeCode (0/15)*/,
16226  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16227  },
16228  // 5:00 - %z 1981 Oct 1
16229  {
16230  nullptr /*zonePolicy*/,
16231  "" /*format*/,
16232  1200 /*offsetCode (18000/15)*/,
16233  0 /*offsetRemainder (18000%15)*/,
16234  0 /*deltaMinutes*/,
16235  1981 /*untilYear*/,
16236  10 /*untilMonth*/,
16237  1 /*untilDay*/,
16238  0 /*untilTimeCode (0/15)*/,
16239  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16240  },
16241  // 6:00 - %z 1982 Apr 1
16242  {
16243  nullptr /*zonePolicy*/,
16244  "" /*format*/,
16245  1440 /*offsetCode (21600/15)*/,
16246  0 /*offsetRemainder (21600%15)*/,
16247  0 /*deltaMinutes*/,
16248  1982 /*untilYear*/,
16249  4 /*untilMonth*/,
16250  1 /*untilDay*/,
16251  0 /*untilTimeCode (0/15)*/,
16252  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16253  },
16254  // 5:00 RussiaAsia %z 1991 Mar 31 2:00s
16255  {
16256  &kZonePolicyRussiaAsia /*zonePolicy*/,
16257  "" /*format*/,
16258  1200 /*offsetCode (18000/15)*/,
16259  0 /*offsetRemainder (18000%15)*/,
16260  0 /*deltaMinutes*/,
16261  1991 /*untilYear*/,
16262  3 /*untilMonth*/,
16263  31 /*untilDay*/,
16264  480 /*untilTimeCode (7200/15)*/,
16265  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16266  },
16267  // 4:00 RussiaAsia %z 1992 Jan 19 2:00s
16268  {
16269  &kZonePolicyRussiaAsia /*zonePolicy*/,
16270  "" /*format*/,
16271  960 /*offsetCode (14400/15)*/,
16272  0 /*offsetRemainder (14400%15)*/,
16273  0 /*deltaMinutes*/,
16274  1992 /*untilYear*/,
16275  1 /*untilMonth*/,
16276  19 /*untilDay*/,
16277  480 /*untilTimeCode (7200/15)*/,
16278  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16279  },
16280  // 5:00 RussiaAsia %z 1999 Mar 28 2:00s
16281  {
16282  &kZonePolicyRussiaAsia /*zonePolicy*/,
16283  "" /*format*/,
16284  1200 /*offsetCode (18000/15)*/,
16285  0 /*offsetRemainder (18000%15)*/,
16286  0 /*deltaMinutes*/,
16287  1999 /*untilYear*/,
16288  3 /*untilMonth*/,
16289  28 /*untilDay*/,
16290  480 /*untilTimeCode (7200/15)*/,
16291  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16292  },
16293  // 4:00 RussiaAsia %z 2004 Oct 31 2:00s
16294  {
16295  &kZonePolicyRussiaAsia /*zonePolicy*/,
16296  "" /*format*/,
16297  960 /*offsetCode (14400/15)*/,
16298  0 /*offsetRemainder (14400%15)*/,
16299  0 /*deltaMinutes*/,
16300  2004 /*untilYear*/,
16301  10 /*untilMonth*/,
16302  31 /*untilDay*/,
16303  480 /*untilTimeCode (7200/15)*/,
16304  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16305  },
16306  // 5:00 - %z
16307  {
16308  nullptr /*zonePolicy*/,
16309  "" /*format*/,
16310  1200 /*offsetCode (18000/15)*/,
16311  0 /*offsetRemainder (18000%15)*/,
16312  0 /*deltaMinutes*/,
16313  32767 /*untilYear*/,
16314  1 /*untilMonth*/,
16315  1 /*untilDay*/,
16316  0 /*untilTimeCode (0/15)*/,
16317  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16318  },
16319 
16320 };
16321 
16322 static const char kZoneNameAsia_Atyrau[] ACE_TIME_PROGMEM = "\x05" "Atyrau";
16323 
16324 const complete::Info::ZoneInfo kZoneAsia_Atyrau ACE_TIME_PROGMEM = {
16325  kZoneNameAsia_Atyrau /*name*/,
16326  0xa6b6e068 /*zoneId*/,
16327  &kZoneContext /*zoneContext*/,
16328  9 /*numEras*/,
16329  kZoneEraAsia_Atyrau /*eras*/,
16330  nullptr /*targetInfo*/,
16331 };
16332 
16333 //---------------------------------------------------------------------------
16334 // Zone name: Asia/Baghdad
16335 // Eras: 4
16336 //---------------------------------------------------------------------------
16337 
16338 static const complete::Info::ZoneEra kZoneEraAsia_Baghdad[] ACE_TIME_PROGMEM = {
16339  // 2:57:40 - LMT 1890
16340  {
16341  nullptr /*zonePolicy*/,
16342  "LMT" /*format*/,
16343  710 /*offsetCode (10660/15)*/,
16344  10 /*offsetRemainder (10660%15)*/,
16345  0 /*deltaMinutes*/,
16346  1890 /*untilYear*/,
16347  1 /*untilMonth*/,
16348  1 /*untilDay*/,
16349  0 /*untilTimeCode (0/15)*/,
16350  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16351  },
16352  // 2:57:36 - BMT 1918
16353  {
16354  nullptr /*zonePolicy*/,
16355  "BMT" /*format*/,
16356  710 /*offsetCode (10656/15)*/,
16357  6 /*offsetRemainder (10656%15)*/,
16358  0 /*deltaMinutes*/,
16359  1918 /*untilYear*/,
16360  1 /*untilMonth*/,
16361  1 /*untilDay*/,
16362  0 /*untilTimeCode (0/15)*/,
16363  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16364  },
16365  // 3:00 - %z 1982 May
16366  {
16367  nullptr /*zonePolicy*/,
16368  "" /*format*/,
16369  720 /*offsetCode (10800/15)*/,
16370  0 /*offsetRemainder (10800%15)*/,
16371  0 /*deltaMinutes*/,
16372  1982 /*untilYear*/,
16373  5 /*untilMonth*/,
16374  1 /*untilDay*/,
16375  0 /*untilTimeCode (0/15)*/,
16376  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16377  },
16378  // 3:00 Iraq %z
16379  {
16380  &kZonePolicyIraq /*zonePolicy*/,
16381  "" /*format*/,
16382  720 /*offsetCode (10800/15)*/,
16383  0 /*offsetRemainder (10800%15)*/,
16384  0 /*deltaMinutes*/,
16385  32767 /*untilYear*/,
16386  1 /*untilMonth*/,
16387  1 /*untilDay*/,
16388  0 /*untilTimeCode (0/15)*/,
16389  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16390  },
16391 
16392 };
16393 
16394 static const char kZoneNameAsia_Baghdad[] ACE_TIME_PROGMEM = "\x05" "Baghdad";
16395 
16396 const complete::Info::ZoneInfo kZoneAsia_Baghdad ACE_TIME_PROGMEM = {
16397  kZoneNameAsia_Baghdad /*name*/,
16398  0x9ceffbed /*zoneId*/,
16399  &kZoneContext /*zoneContext*/,
16400  4 /*numEras*/,
16401  kZoneEraAsia_Baghdad /*eras*/,
16402  nullptr /*targetInfo*/,
16403 };
16404 
16405 //---------------------------------------------------------------------------
16406 // Zone name: Asia/Baku
16407 // Eras: 7
16408 //---------------------------------------------------------------------------
16409 
16410 static const complete::Info::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = {
16411  // 3:19:24 - LMT 1924 May 2
16412  {
16413  nullptr /*zonePolicy*/,
16414  "LMT" /*format*/,
16415  797 /*offsetCode (11964/15)*/,
16416  9 /*offsetRemainder (11964%15)*/,
16417  0 /*deltaMinutes*/,
16418  1924 /*untilYear*/,
16419  5 /*untilMonth*/,
16420  2 /*untilDay*/,
16421  0 /*untilTimeCode (0/15)*/,
16422  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16423  },
16424  // 3:00 - %z 1957 Mar
16425  {
16426  nullptr /*zonePolicy*/,
16427  "" /*format*/,
16428  720 /*offsetCode (10800/15)*/,
16429  0 /*offsetRemainder (10800%15)*/,
16430  0 /*deltaMinutes*/,
16431  1957 /*untilYear*/,
16432  3 /*untilMonth*/,
16433  1 /*untilDay*/,
16434  0 /*untilTimeCode (0/15)*/,
16435  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16436  },
16437  // 4:00 RussiaAsia %z 1991 Mar 31 2:00s
16438  {
16439  &kZonePolicyRussiaAsia /*zonePolicy*/,
16440  "" /*format*/,
16441  960 /*offsetCode (14400/15)*/,
16442  0 /*offsetRemainder (14400%15)*/,
16443  0 /*deltaMinutes*/,
16444  1991 /*untilYear*/,
16445  3 /*untilMonth*/,
16446  31 /*untilDay*/,
16447  480 /*untilTimeCode (7200/15)*/,
16448  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16449  },
16450  // 3:00 RussiaAsia %z 1992 Sep lastSun 2:00s
16451  {
16452  &kZonePolicyRussiaAsia /*zonePolicy*/,
16453  "" /*format*/,
16454  720 /*offsetCode (10800/15)*/,
16455  0 /*offsetRemainder (10800%15)*/,
16456  0 /*deltaMinutes*/,
16457  1992 /*untilYear*/,
16458  9 /*untilMonth*/,
16459  27 /*untilDay*/,
16460  480 /*untilTimeCode (7200/15)*/,
16461  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16462  },
16463  // 4:00 - %z 1996
16464  {
16465  nullptr /*zonePolicy*/,
16466  "" /*format*/,
16467  960 /*offsetCode (14400/15)*/,
16468  0 /*offsetRemainder (14400%15)*/,
16469  0 /*deltaMinutes*/,
16470  1996 /*untilYear*/,
16471  1 /*untilMonth*/,
16472  1 /*untilDay*/,
16473  0 /*untilTimeCode (0/15)*/,
16474  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16475  },
16476  // 4:00 EUAsia %z 1997
16477  {
16478  &kZonePolicyEUAsia /*zonePolicy*/,
16479  "" /*format*/,
16480  960 /*offsetCode (14400/15)*/,
16481  0 /*offsetRemainder (14400%15)*/,
16482  0 /*deltaMinutes*/,
16483  1997 /*untilYear*/,
16484  1 /*untilMonth*/,
16485  1 /*untilDay*/,
16486  0 /*untilTimeCode (0/15)*/,
16487  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16488  },
16489  // 4:00 Azer %z
16490  {
16491  &kZonePolicyAzer /*zonePolicy*/,
16492  "" /*format*/,
16493  960 /*offsetCode (14400/15)*/,
16494  0 /*offsetRemainder (14400%15)*/,
16495  0 /*deltaMinutes*/,
16496  32767 /*untilYear*/,
16497  1 /*untilMonth*/,
16498  1 /*untilDay*/,
16499  0 /*untilTimeCode (0/15)*/,
16500  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16501  },
16502 
16503 };
16504 
16505 static const char kZoneNameAsia_Baku[] ACE_TIME_PROGMEM = "\x05" "Baku";
16506 
16507 const complete::Info::ZoneInfo kZoneAsia_Baku ACE_TIME_PROGMEM = {
16508  kZoneNameAsia_Baku /*name*/,
16509  0x1fa788b5 /*zoneId*/,
16510  &kZoneContext /*zoneContext*/,
16511  7 /*numEras*/,
16512  kZoneEraAsia_Baku /*eras*/,
16513  nullptr /*targetInfo*/,
16514 };
16515 
16516 //---------------------------------------------------------------------------
16517 // Zone name: Asia/Bangkok
16518 // Eras: 3
16519 //---------------------------------------------------------------------------
16520 
16521 static const complete::Info::ZoneEra kZoneEraAsia_Bangkok[] ACE_TIME_PROGMEM = {
16522  // 6:42:04 - LMT 1880
16523  {
16524  nullptr /*zonePolicy*/,
16525  "LMT" /*format*/,
16526  1608 /*offsetCode (24124/15)*/,
16527  4 /*offsetRemainder (24124%15)*/,
16528  0 /*deltaMinutes*/,
16529  1880 /*untilYear*/,
16530  1 /*untilMonth*/,
16531  1 /*untilDay*/,
16532  0 /*untilTimeCode (0/15)*/,
16533  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16534  },
16535  // 6:42:04 - BMT 1920 Apr
16536  {
16537  nullptr /*zonePolicy*/,
16538  "BMT" /*format*/,
16539  1608 /*offsetCode (24124/15)*/,
16540  4 /*offsetRemainder (24124%15)*/,
16541  0 /*deltaMinutes*/,
16542  1920 /*untilYear*/,
16543  4 /*untilMonth*/,
16544  1 /*untilDay*/,
16545  0 /*untilTimeCode (0/15)*/,
16546  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16547  },
16548  // 7:00 - %z
16549  {
16550  nullptr /*zonePolicy*/,
16551  "" /*format*/,
16552  1680 /*offsetCode (25200/15)*/,
16553  0 /*offsetRemainder (25200%15)*/,
16554  0 /*deltaMinutes*/,
16555  32767 /*untilYear*/,
16556  1 /*untilMonth*/,
16557  1 /*untilDay*/,
16558  0 /*untilTimeCode (0/15)*/,
16559  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16560  },
16561 
16562 };
16563 
16564 static const char kZoneNameAsia_Bangkok[] ACE_TIME_PROGMEM = "\x05" "Bangkok";
16565 
16566 const complete::Info::ZoneInfo kZoneAsia_Bangkok ACE_TIME_PROGMEM = {
16567  kZoneNameAsia_Bangkok /*name*/,
16568  0x9d6e3aaf /*zoneId*/,
16569  &kZoneContext /*zoneContext*/,
16570  3 /*numEras*/,
16571  kZoneEraAsia_Bangkok /*eras*/,
16572  nullptr /*targetInfo*/,
16573 };
16574 
16575 //---------------------------------------------------------------------------
16576 // Zone name: Asia/Barnaul
16577 // Eras: 9
16578 //---------------------------------------------------------------------------
16579 
16580 static const complete::Info::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = {
16581  // 5:35:00 - LMT 1919 Dec 10
16582  {
16583  nullptr /*zonePolicy*/,
16584  "LMT" /*format*/,
16585  1340 /*offsetCode (20100/15)*/,
16586  0 /*offsetRemainder (20100%15)*/,
16587  0 /*deltaMinutes*/,
16588  1919 /*untilYear*/,
16589  12 /*untilMonth*/,
16590  10 /*untilDay*/,
16591  0 /*untilTimeCode (0/15)*/,
16592  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16593  },
16594  // 6:00 - %z 1930 Jun 21
16595  {
16596  nullptr /*zonePolicy*/,
16597  "" /*format*/,
16598  1440 /*offsetCode (21600/15)*/,
16599  0 /*offsetRemainder (21600%15)*/,
16600  0 /*deltaMinutes*/,
16601  1930 /*untilYear*/,
16602  6 /*untilMonth*/,
16603  21 /*untilDay*/,
16604  0 /*untilTimeCode (0/15)*/,
16605  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16606  },
16607  // 7:00 Russia %z 1991 Mar 31 2:00s
16608  {
16609  &kZonePolicyRussia /*zonePolicy*/,
16610  "" /*format*/,
16611  1680 /*offsetCode (25200/15)*/,
16612  0 /*offsetRemainder (25200%15)*/,
16613  0 /*deltaMinutes*/,
16614  1991 /*untilYear*/,
16615  3 /*untilMonth*/,
16616  31 /*untilDay*/,
16617  480 /*untilTimeCode (7200/15)*/,
16618  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16619  },
16620  // 6:00 Russia %z 1992 Jan 19 2:00s
16621  {
16622  &kZonePolicyRussia /*zonePolicy*/,
16623  "" /*format*/,
16624  1440 /*offsetCode (21600/15)*/,
16625  0 /*offsetRemainder (21600%15)*/,
16626  0 /*deltaMinutes*/,
16627  1992 /*untilYear*/,
16628  1 /*untilMonth*/,
16629  19 /*untilDay*/,
16630  480 /*untilTimeCode (7200/15)*/,
16631  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16632  },
16633  // 7:00 Russia %z 1995 May 28
16634  {
16635  &kZonePolicyRussia /*zonePolicy*/,
16636  "" /*format*/,
16637  1680 /*offsetCode (25200/15)*/,
16638  0 /*offsetRemainder (25200%15)*/,
16639  0 /*deltaMinutes*/,
16640  1995 /*untilYear*/,
16641  5 /*untilMonth*/,
16642  28 /*untilDay*/,
16643  0 /*untilTimeCode (0/15)*/,
16644  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16645  },
16646  // 6:00 Russia %z 2011 Mar 27 2:00s
16647  {
16648  &kZonePolicyRussia /*zonePolicy*/,
16649  "" /*format*/,
16650  1440 /*offsetCode (21600/15)*/,
16651  0 /*offsetRemainder (21600%15)*/,
16652  0 /*deltaMinutes*/,
16653  2011 /*untilYear*/,
16654  3 /*untilMonth*/,
16655  27 /*untilDay*/,
16656  480 /*untilTimeCode (7200/15)*/,
16657  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16658  },
16659  // 7:00 - %z 2014 Oct 26 2:00s
16660  {
16661  nullptr /*zonePolicy*/,
16662  "" /*format*/,
16663  1680 /*offsetCode (25200/15)*/,
16664  0 /*offsetRemainder (25200%15)*/,
16665  0 /*deltaMinutes*/,
16666  2014 /*untilYear*/,
16667  10 /*untilMonth*/,
16668  26 /*untilDay*/,
16669  480 /*untilTimeCode (7200/15)*/,
16670  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16671  },
16672  // 6:00 - %z 2016 Mar 27 2:00s
16673  {
16674  nullptr /*zonePolicy*/,
16675  "" /*format*/,
16676  1440 /*offsetCode (21600/15)*/,
16677  0 /*offsetRemainder (21600%15)*/,
16678  0 /*deltaMinutes*/,
16679  2016 /*untilYear*/,
16680  3 /*untilMonth*/,
16681  27 /*untilDay*/,
16682  480 /*untilTimeCode (7200/15)*/,
16683  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16684  },
16685  // 7:00 - %z
16686  {
16687  nullptr /*zonePolicy*/,
16688  "" /*format*/,
16689  1680 /*offsetCode (25200/15)*/,
16690  0 /*offsetRemainder (25200%15)*/,
16691  0 /*deltaMinutes*/,
16692  32767 /*untilYear*/,
16693  1 /*untilMonth*/,
16694  1 /*untilDay*/,
16695  0 /*untilTimeCode (0/15)*/,
16696  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16697  },
16698 
16699 };
16700 
16701 static const char kZoneNameAsia_Barnaul[] ACE_TIME_PROGMEM = "\x05" "Barnaul";
16702 
16703 const complete::Info::ZoneInfo kZoneAsia_Barnaul ACE_TIME_PROGMEM = {
16704  kZoneNameAsia_Barnaul /*name*/,
16705  0x9dba4997 /*zoneId*/,
16706  &kZoneContext /*zoneContext*/,
16707  9 /*numEras*/,
16708  kZoneEraAsia_Barnaul /*eras*/,
16709  nullptr /*targetInfo*/,
16710 };
16711 
16712 //---------------------------------------------------------------------------
16713 // Zone name: Asia/Beirut
16714 // Eras: 2
16715 //---------------------------------------------------------------------------
16716 
16717 static const complete::Info::ZoneEra kZoneEraAsia_Beirut[] ACE_TIME_PROGMEM = {
16718  // 2:22:00 - LMT 1880
16719  {
16720  nullptr /*zonePolicy*/,
16721  "LMT" /*format*/,
16722  568 /*offsetCode (8520/15)*/,
16723  0 /*offsetRemainder (8520%15)*/,
16724  0 /*deltaMinutes*/,
16725  1880 /*untilYear*/,
16726  1 /*untilMonth*/,
16727  1 /*untilDay*/,
16728  0 /*untilTimeCode (0/15)*/,
16729  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16730  },
16731  // 2:00 Lebanon EE%sT
16732  {
16733  &kZonePolicyLebanon /*zonePolicy*/,
16734  "EE%T" /*format*/,
16735  480 /*offsetCode (7200/15)*/,
16736  0 /*offsetRemainder (7200%15)*/,
16737  0 /*deltaMinutes*/,
16738  32767 /*untilYear*/,
16739  1 /*untilMonth*/,
16740  1 /*untilDay*/,
16741  0 /*untilTimeCode (0/15)*/,
16742  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16743  },
16744 
16745 };
16746 
16747 static const char kZoneNameAsia_Beirut[] ACE_TIME_PROGMEM = "\x05" "Beirut";
16748 
16749 const complete::Info::ZoneInfo kZoneAsia_Beirut ACE_TIME_PROGMEM = {
16750  kZoneNameAsia_Beirut /*name*/,
16751  0xa7f3d5fd /*zoneId*/,
16752  &kZoneContext /*zoneContext*/,
16753  2 /*numEras*/,
16754  kZoneEraAsia_Beirut /*eras*/,
16755  nullptr /*targetInfo*/,
16756 };
16757 
16758 //---------------------------------------------------------------------------
16759 // Zone name: Asia/Bishkek
16760 // Eras: 6
16761 //---------------------------------------------------------------------------
16762 
16763 static const complete::Info::ZoneEra kZoneEraAsia_Bishkek[] ACE_TIME_PROGMEM = {
16764  // 4:58:24 - LMT 1924 May 2
16765  {
16766  nullptr /*zonePolicy*/,
16767  "LMT" /*format*/,
16768  1193 /*offsetCode (17904/15)*/,
16769  9 /*offsetRemainder (17904%15)*/,
16770  0 /*deltaMinutes*/,
16771  1924 /*untilYear*/,
16772  5 /*untilMonth*/,
16773  2 /*untilDay*/,
16774  0 /*untilTimeCode (0/15)*/,
16775  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16776  },
16777  // 5:00 - %z 1930 Jun 21
16778  {
16779  nullptr /*zonePolicy*/,
16780  "" /*format*/,
16781  1200 /*offsetCode (18000/15)*/,
16782  0 /*offsetRemainder (18000%15)*/,
16783  0 /*deltaMinutes*/,
16784  1930 /*untilYear*/,
16785  6 /*untilMonth*/,
16786  21 /*untilDay*/,
16787  0 /*untilTimeCode (0/15)*/,
16788  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16789  },
16790  // 6:00 RussiaAsia %z 1991 Mar 31 2:00s
16791  {
16792  &kZonePolicyRussiaAsia /*zonePolicy*/,
16793  "" /*format*/,
16794  1440 /*offsetCode (21600/15)*/,
16795  0 /*offsetRemainder (21600%15)*/,
16796  0 /*deltaMinutes*/,
16797  1991 /*untilYear*/,
16798  3 /*untilMonth*/,
16799  31 /*untilDay*/,
16800  480 /*untilTimeCode (7200/15)*/,
16801  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16802  },
16803  // 5:00 RussiaAsia %z 1991 Aug 31 2:00
16804  {
16805  &kZonePolicyRussiaAsia /*zonePolicy*/,
16806  "" /*format*/,
16807  1200 /*offsetCode (18000/15)*/,
16808  0 /*offsetRemainder (18000%15)*/,
16809  0 /*deltaMinutes*/,
16810  1991 /*untilYear*/,
16811  8 /*untilMonth*/,
16812  31 /*untilDay*/,
16813  480 /*untilTimeCode (7200/15)*/,
16814  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16815  },
16816  // 5:00 Kyrgyz %z 2005 Aug 12
16817  {
16818  &kZonePolicyKyrgyz /*zonePolicy*/,
16819  "" /*format*/,
16820  1200 /*offsetCode (18000/15)*/,
16821  0 /*offsetRemainder (18000%15)*/,
16822  0 /*deltaMinutes*/,
16823  2005 /*untilYear*/,
16824  8 /*untilMonth*/,
16825  12 /*untilDay*/,
16826  0 /*untilTimeCode (0/15)*/,
16827  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16828  },
16829  // 6:00 - %z
16830  {
16831  nullptr /*zonePolicy*/,
16832  "" /*format*/,
16833  1440 /*offsetCode (21600/15)*/,
16834  0 /*offsetRemainder (21600%15)*/,
16835  0 /*deltaMinutes*/,
16836  32767 /*untilYear*/,
16837  1 /*untilMonth*/,
16838  1 /*untilDay*/,
16839  0 /*untilTimeCode (0/15)*/,
16840  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16841  },
16842 
16843 };
16844 
16845 static const char kZoneNameAsia_Bishkek[] ACE_TIME_PROGMEM = "\x05" "Bishkek";
16846 
16847 const complete::Info::ZoneInfo kZoneAsia_Bishkek ACE_TIME_PROGMEM = {
16848  kZoneNameAsia_Bishkek /*name*/,
16849  0xb0728553 /*zoneId*/,
16850  &kZoneContext /*zoneContext*/,
16851  6 /*numEras*/,
16852  kZoneEraAsia_Bishkek /*eras*/,
16853  nullptr /*targetInfo*/,
16854 };
16855 
16856 //---------------------------------------------------------------------------
16857 // Zone name: Asia/Chita
16858 // Eras: 8
16859 //---------------------------------------------------------------------------
16860 
16861 static const complete::Info::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = {
16862  // 7:33:52 - LMT 1919 Dec 15
16863  {
16864  nullptr /*zonePolicy*/,
16865  "LMT" /*format*/,
16866  1815 /*offsetCode (27232/15)*/,
16867  7 /*offsetRemainder (27232%15)*/,
16868  0 /*deltaMinutes*/,
16869  1919 /*untilYear*/,
16870  12 /*untilMonth*/,
16871  15 /*untilDay*/,
16872  0 /*untilTimeCode (0/15)*/,
16873  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16874  },
16875  // 8:00 - %z 1930 Jun 21
16876  {
16877  nullptr /*zonePolicy*/,
16878  "" /*format*/,
16879  1920 /*offsetCode (28800/15)*/,
16880  0 /*offsetRemainder (28800%15)*/,
16881  0 /*deltaMinutes*/,
16882  1930 /*untilYear*/,
16883  6 /*untilMonth*/,
16884  21 /*untilDay*/,
16885  0 /*untilTimeCode (0/15)*/,
16886  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16887  },
16888  // 9:00 Russia %z 1991 Mar 31 2:00s
16889  {
16890  &kZonePolicyRussia /*zonePolicy*/,
16891  "" /*format*/,
16892  2160 /*offsetCode (32400/15)*/,
16893  0 /*offsetRemainder (32400%15)*/,
16894  0 /*deltaMinutes*/,
16895  1991 /*untilYear*/,
16896  3 /*untilMonth*/,
16897  31 /*untilDay*/,
16898  480 /*untilTimeCode (7200/15)*/,
16899  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16900  },
16901  // 8:00 Russia %z 1992 Jan 19 2:00s
16902  {
16903  &kZonePolicyRussia /*zonePolicy*/,
16904  "" /*format*/,
16905  1920 /*offsetCode (28800/15)*/,
16906  0 /*offsetRemainder (28800%15)*/,
16907  0 /*deltaMinutes*/,
16908  1992 /*untilYear*/,
16909  1 /*untilMonth*/,
16910  19 /*untilDay*/,
16911  480 /*untilTimeCode (7200/15)*/,
16912  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16913  },
16914  // 9:00 Russia %z 2011 Mar 27 2:00s
16915  {
16916  &kZonePolicyRussia /*zonePolicy*/,
16917  "" /*format*/,
16918  2160 /*offsetCode (32400/15)*/,
16919  0 /*offsetRemainder (32400%15)*/,
16920  0 /*deltaMinutes*/,
16921  2011 /*untilYear*/,
16922  3 /*untilMonth*/,
16923  27 /*untilDay*/,
16924  480 /*untilTimeCode (7200/15)*/,
16925  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16926  },
16927  // 10:00 - %z 2014 Oct 26 2:00s
16928  {
16929  nullptr /*zonePolicy*/,
16930  "" /*format*/,
16931  2400 /*offsetCode (36000/15)*/,
16932  0 /*offsetRemainder (36000%15)*/,
16933  0 /*deltaMinutes*/,
16934  2014 /*untilYear*/,
16935  10 /*untilMonth*/,
16936  26 /*untilDay*/,
16937  480 /*untilTimeCode (7200/15)*/,
16938  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16939  },
16940  // 8:00 - %z 2016 Mar 27 2:00
16941  {
16942  nullptr /*zonePolicy*/,
16943  "" /*format*/,
16944  1920 /*offsetCode (28800/15)*/,
16945  0 /*offsetRemainder (28800%15)*/,
16946  0 /*deltaMinutes*/,
16947  2016 /*untilYear*/,
16948  3 /*untilMonth*/,
16949  27 /*untilDay*/,
16950  480 /*untilTimeCode (7200/15)*/,
16951  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16952  },
16953  // 9:00 - %z
16954  {
16955  nullptr /*zonePolicy*/,
16956  "" /*format*/,
16957  2160 /*offsetCode (32400/15)*/,
16958  0 /*offsetRemainder (32400%15)*/,
16959  0 /*deltaMinutes*/,
16960  32767 /*untilYear*/,
16961  1 /*untilMonth*/,
16962  1 /*untilDay*/,
16963  0 /*untilTimeCode (0/15)*/,
16964  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16965  },
16966 
16967 };
16968 
16969 static const char kZoneNameAsia_Chita[] ACE_TIME_PROGMEM = "\x05" "Chita";
16970 
16971 const complete::Info::ZoneInfo kZoneAsia_Chita ACE_TIME_PROGMEM = {
16972  kZoneNameAsia_Chita /*name*/,
16973  0x14ae863b /*zoneId*/,
16974  &kZoneContext /*zoneContext*/,
16975  8 /*numEras*/,
16976  kZoneEraAsia_Chita /*eras*/,
16977  nullptr /*targetInfo*/,
16978 };
16979 
16980 //---------------------------------------------------------------------------
16981 // Zone name: Asia/Colombo
16982 // Eras: 9
16983 //---------------------------------------------------------------------------
16984 
16985 static const complete::Info::ZoneEra kZoneEraAsia_Colombo[] ACE_TIME_PROGMEM = {
16986  // 5:19:24 - LMT 1880
16987  {
16988  nullptr /*zonePolicy*/,
16989  "LMT" /*format*/,
16990  1277 /*offsetCode (19164/15)*/,
16991  9 /*offsetRemainder (19164%15)*/,
16992  0 /*deltaMinutes*/,
16993  1880 /*untilYear*/,
16994  1 /*untilMonth*/,
16995  1 /*untilDay*/,
16996  0 /*untilTimeCode (0/15)*/,
16997  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16998  },
16999  // 5:19:32 - MMT 1906
17000  {
17001  nullptr /*zonePolicy*/,
17002  "MMT" /*format*/,
17003  1278 /*offsetCode (19172/15)*/,
17004  2 /*offsetRemainder (19172%15)*/,
17005  0 /*deltaMinutes*/,
17006  1906 /*untilYear*/,
17007  1 /*untilMonth*/,
17008  1 /*untilDay*/,
17009  0 /*untilTimeCode (0/15)*/,
17010  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17011  },
17012  // 5:30 - %z 1942 Jan 5
17013  {
17014  nullptr /*zonePolicy*/,
17015  "" /*format*/,
17016  1320 /*offsetCode (19800/15)*/,
17017  0 /*offsetRemainder (19800%15)*/,
17018  0 /*deltaMinutes*/,
17019  1942 /*untilYear*/,
17020  1 /*untilMonth*/,
17021  5 /*untilDay*/,
17022  0 /*untilTimeCode (0/15)*/,
17023  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17024  },
17025  // 5:30 0:30 %z 1942 Sep
17026  {
17027  nullptr /*zonePolicy*/,
17028  "" /*format*/,
17029  1320 /*offsetCode (19800/15)*/,
17030  0 /*offsetRemainder (19800%15)*/,
17031  30 /*deltaMinutes*/,
17032  1942 /*untilYear*/,
17033  9 /*untilMonth*/,
17034  1 /*untilDay*/,
17035  0 /*untilTimeCode (0/15)*/,
17036  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17037  },
17038  // 5:30 1:00 %z 1945 Oct 16 2:00
17039  {
17040  nullptr /*zonePolicy*/,
17041  "" /*format*/,
17042  1320 /*offsetCode (19800/15)*/,
17043  0 /*offsetRemainder (19800%15)*/,
17044  60 /*deltaMinutes*/,
17045  1945 /*untilYear*/,
17046  10 /*untilMonth*/,
17047  16 /*untilDay*/,
17048  480 /*untilTimeCode (7200/15)*/,
17049  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17050  },
17051  // 5:30 - %z 1996 May 25 0:00
17052  {
17053  nullptr /*zonePolicy*/,
17054  "" /*format*/,
17055  1320 /*offsetCode (19800/15)*/,
17056  0 /*offsetRemainder (19800%15)*/,
17057  0 /*deltaMinutes*/,
17058  1996 /*untilYear*/,
17059  5 /*untilMonth*/,
17060  25 /*untilDay*/,
17061  0 /*untilTimeCode (0/15)*/,
17062  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17063  },
17064  // 6:30 - %z 1996 Oct 26 0:30
17065  {
17066  nullptr /*zonePolicy*/,
17067  "" /*format*/,
17068  1560 /*offsetCode (23400/15)*/,
17069  0 /*offsetRemainder (23400%15)*/,
17070  0 /*deltaMinutes*/,
17071  1996 /*untilYear*/,
17072  10 /*untilMonth*/,
17073  26 /*untilDay*/,
17074  120 /*untilTimeCode (1800/15)*/,
17075  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17076  },
17077  // 6:00 - %z 2006 Apr 15 0:30
17078  {
17079  nullptr /*zonePolicy*/,
17080  "" /*format*/,
17081  1440 /*offsetCode (21600/15)*/,
17082  0 /*offsetRemainder (21600%15)*/,
17083  0 /*deltaMinutes*/,
17084  2006 /*untilYear*/,
17085  4 /*untilMonth*/,
17086  15 /*untilDay*/,
17087  120 /*untilTimeCode (1800/15)*/,
17088  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17089  },
17090  // 5:30 - %z
17091  {
17092  nullptr /*zonePolicy*/,
17093  "" /*format*/,
17094  1320 /*offsetCode (19800/15)*/,
17095  0 /*offsetRemainder (19800%15)*/,
17096  0 /*deltaMinutes*/,
17097  32767 /*untilYear*/,
17098  1 /*untilMonth*/,
17099  1 /*untilDay*/,
17100  0 /*untilTimeCode (0/15)*/,
17101  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17102  },
17103 
17104 };
17105 
17106 static const char kZoneNameAsia_Colombo[] ACE_TIME_PROGMEM = "\x05" "Colombo";
17107 
17108 const complete::Info::ZoneInfo kZoneAsia_Colombo ACE_TIME_PROGMEM = {
17109  kZoneNameAsia_Colombo /*name*/,
17110  0x0af0e91d /*zoneId*/,
17111  &kZoneContext /*zoneContext*/,
17112  9 /*numEras*/,
17113  kZoneEraAsia_Colombo /*eras*/,
17114  nullptr /*targetInfo*/,
17115 };
17116 
17117 //---------------------------------------------------------------------------
17118 // Zone name: Asia/Damascus
17119 // Eras: 3
17120 //---------------------------------------------------------------------------
17121 
17122 static const complete::Info::ZoneEra kZoneEraAsia_Damascus[] ACE_TIME_PROGMEM = {
17123  // 2:25:12 - LMT 1920
17124  {
17125  nullptr /*zonePolicy*/,
17126  "LMT" /*format*/,
17127  580 /*offsetCode (8712/15)*/,
17128  12 /*offsetRemainder (8712%15)*/,
17129  0 /*deltaMinutes*/,
17130  1920 /*untilYear*/,
17131  1 /*untilMonth*/,
17132  1 /*untilDay*/,
17133  0 /*untilTimeCode (0/15)*/,
17134  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17135  },
17136  // 2:00 Syria EE%sT 2022 Oct 28 0:00
17137  {
17138  &kZonePolicySyria /*zonePolicy*/,
17139  "EE%T" /*format*/,
17140  480 /*offsetCode (7200/15)*/,
17141  0 /*offsetRemainder (7200%15)*/,
17142  0 /*deltaMinutes*/,
17143  2022 /*untilYear*/,
17144  10 /*untilMonth*/,
17145  28 /*untilDay*/,
17146  0 /*untilTimeCode (0/15)*/,
17147  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17148  },
17149  // 3:00 - %z
17150  {
17151  nullptr /*zonePolicy*/,
17152  "" /*format*/,
17153  720 /*offsetCode (10800/15)*/,
17154  0 /*offsetRemainder (10800%15)*/,
17155  0 /*deltaMinutes*/,
17156  32767 /*untilYear*/,
17157  1 /*untilMonth*/,
17158  1 /*untilDay*/,
17159  0 /*untilTimeCode (0/15)*/,
17160  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17161  },
17162 
17163 };
17164 
17165 static const char kZoneNameAsia_Damascus[] ACE_TIME_PROGMEM = "\x05" "Damascus";
17166 
17167 const complete::Info::ZoneInfo kZoneAsia_Damascus ACE_TIME_PROGMEM = {
17168  kZoneNameAsia_Damascus /*name*/,
17169  0x20fbb063 /*zoneId*/,
17170  &kZoneContext /*zoneContext*/,
17171  3 /*numEras*/,
17172  kZoneEraAsia_Damascus /*eras*/,
17173  nullptr /*targetInfo*/,
17174 };
17175 
17176 //---------------------------------------------------------------------------
17177 // Zone name: Asia/Dhaka
17178 // Eras: 7
17179 //---------------------------------------------------------------------------
17180 
17181 static const complete::Info::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = {
17182  // 6:01:40 - LMT 1890
17183  {
17184  nullptr /*zonePolicy*/,
17185  "LMT" /*format*/,
17186  1446 /*offsetCode (21700/15)*/,
17187  10 /*offsetRemainder (21700%15)*/,
17188  0 /*deltaMinutes*/,
17189  1890 /*untilYear*/,
17190  1 /*untilMonth*/,
17191  1 /*untilDay*/,
17192  0 /*untilTimeCode (0/15)*/,
17193  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17194  },
17195  // 5:53:20 - HMT 1941 Oct
17196  {
17197  nullptr /*zonePolicy*/,
17198  "HMT" /*format*/,
17199  1413 /*offsetCode (21200/15)*/,
17200  5 /*offsetRemainder (21200%15)*/,
17201  0 /*deltaMinutes*/,
17202  1941 /*untilYear*/,
17203  10 /*untilMonth*/,
17204  1 /*untilDay*/,
17205  0 /*untilTimeCode (0/15)*/,
17206  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17207  },
17208  // 6:30 - %z 1942 May 15
17209  {
17210  nullptr /*zonePolicy*/,
17211  "" /*format*/,
17212  1560 /*offsetCode (23400/15)*/,
17213  0 /*offsetRemainder (23400%15)*/,
17214  0 /*deltaMinutes*/,
17215  1942 /*untilYear*/,
17216  5 /*untilMonth*/,
17217  15 /*untilDay*/,
17218  0 /*untilTimeCode (0/15)*/,
17219  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17220  },
17221  // 5:30 - %z 1942 Sep
17222  {
17223  nullptr /*zonePolicy*/,
17224  "" /*format*/,
17225  1320 /*offsetCode (19800/15)*/,
17226  0 /*offsetRemainder (19800%15)*/,
17227  0 /*deltaMinutes*/,
17228  1942 /*untilYear*/,
17229  9 /*untilMonth*/,
17230  1 /*untilDay*/,
17231  0 /*untilTimeCode (0/15)*/,
17232  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17233  },
17234  // 6:30 - %z 1951 Sep 30
17235  {
17236  nullptr /*zonePolicy*/,
17237  "" /*format*/,
17238  1560 /*offsetCode (23400/15)*/,
17239  0 /*offsetRemainder (23400%15)*/,
17240  0 /*deltaMinutes*/,
17241  1951 /*untilYear*/,
17242  9 /*untilMonth*/,
17243  30 /*untilDay*/,
17244  0 /*untilTimeCode (0/15)*/,
17245  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17246  },
17247  // 6:00 - %z 2009
17248  {
17249  nullptr /*zonePolicy*/,
17250  "" /*format*/,
17251  1440 /*offsetCode (21600/15)*/,
17252  0 /*offsetRemainder (21600%15)*/,
17253  0 /*deltaMinutes*/,
17254  2009 /*untilYear*/,
17255  1 /*untilMonth*/,
17256  1 /*untilDay*/,
17257  0 /*untilTimeCode (0/15)*/,
17258  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17259  },
17260  // 6:00 Dhaka %z
17261  {
17262  &kZonePolicyDhaka /*zonePolicy*/,
17263  "" /*format*/,
17264  1440 /*offsetCode (21600/15)*/,
17265  0 /*offsetRemainder (21600%15)*/,
17266  0 /*deltaMinutes*/,
17267  32767 /*untilYear*/,
17268  1 /*untilMonth*/,
17269  1 /*untilDay*/,
17270  0 /*untilTimeCode (0/15)*/,
17271  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17272  },
17273 
17274 };
17275 
17276 static const char kZoneNameAsia_Dhaka[] ACE_TIME_PROGMEM = "\x05" "Dhaka";
17277 
17278 const complete::Info::ZoneInfo kZoneAsia_Dhaka ACE_TIME_PROGMEM = {
17279  kZoneNameAsia_Dhaka /*name*/,
17280  0x14c07b8b /*zoneId*/,
17281  &kZoneContext /*zoneContext*/,
17282  7 /*numEras*/,
17283  kZoneEraAsia_Dhaka /*eras*/,
17284  nullptr /*targetInfo*/,
17285 };
17286 
17287 //---------------------------------------------------------------------------
17288 // Zone name: Asia/Dili
17289 // Eras: 5
17290 //---------------------------------------------------------------------------
17291 
17292 static const complete::Info::ZoneEra kZoneEraAsia_Dili[] ACE_TIME_PROGMEM = {
17293  // 8:22:20 - LMT 1911 Dec 31 16:00u
17294  {
17295  nullptr /*zonePolicy*/,
17296  "LMT" /*format*/,
17297  2009 /*offsetCode (30140/15)*/,
17298  5 /*offsetRemainder (30140%15)*/,
17299  0 /*deltaMinutes*/,
17300  1911 /*untilYear*/,
17301  12 /*untilMonth*/,
17302  31 /*untilDay*/,
17303  3840 /*untilTimeCode (57600/15)*/,
17304  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
17305  },
17306  // 8:00 - %z 1942 Feb 21 23:00
17307  {
17308  nullptr /*zonePolicy*/,
17309  "" /*format*/,
17310  1920 /*offsetCode (28800/15)*/,
17311  0 /*offsetRemainder (28800%15)*/,
17312  0 /*deltaMinutes*/,
17313  1942 /*untilYear*/,
17314  2 /*untilMonth*/,
17315  21 /*untilDay*/,
17316  5520 /*untilTimeCode (82800/15)*/,
17317  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17318  },
17319  // 9:00 - %z 1976 May 3
17320  {
17321  nullptr /*zonePolicy*/,
17322  "" /*format*/,
17323  2160 /*offsetCode (32400/15)*/,
17324  0 /*offsetRemainder (32400%15)*/,
17325  0 /*deltaMinutes*/,
17326  1976 /*untilYear*/,
17327  5 /*untilMonth*/,
17328  3 /*untilDay*/,
17329  0 /*untilTimeCode (0/15)*/,
17330  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17331  },
17332  // 8:00 - %z 2000 Sep 17 0:00
17333  {
17334  nullptr /*zonePolicy*/,
17335  "" /*format*/,
17336  1920 /*offsetCode (28800/15)*/,
17337  0 /*offsetRemainder (28800%15)*/,
17338  0 /*deltaMinutes*/,
17339  2000 /*untilYear*/,
17340  9 /*untilMonth*/,
17341  17 /*untilDay*/,
17342  0 /*untilTimeCode (0/15)*/,
17343  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17344  },
17345  // 9:00 - %z
17346  {
17347  nullptr /*zonePolicy*/,
17348  "" /*format*/,
17349  2160 /*offsetCode (32400/15)*/,
17350  0 /*offsetRemainder (32400%15)*/,
17351  0 /*deltaMinutes*/,
17352  32767 /*untilYear*/,
17353  1 /*untilMonth*/,
17354  1 /*untilDay*/,
17355  0 /*untilTimeCode (0/15)*/,
17356  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17357  },
17358 
17359 };
17360 
17361 static const char kZoneNameAsia_Dili[] ACE_TIME_PROGMEM = "\x05" "Dili";
17362 
17363 const complete::Info::ZoneInfo kZoneAsia_Dili ACE_TIME_PROGMEM = {
17364  kZoneNameAsia_Dili /*name*/,
17365  0x1fa8c394 /*zoneId*/,
17366  &kZoneContext /*zoneContext*/,
17367  5 /*numEras*/,
17368  kZoneEraAsia_Dili /*eras*/,
17369  nullptr /*targetInfo*/,
17370 };
17371 
17372 //---------------------------------------------------------------------------
17373 // Zone name: Asia/Dubai
17374 // Eras: 2
17375 //---------------------------------------------------------------------------
17376 
17377 static const complete::Info::ZoneEra kZoneEraAsia_Dubai[] ACE_TIME_PROGMEM = {
17378  // 3:41:12 - LMT 1920
17379  {
17380  nullptr /*zonePolicy*/,
17381  "LMT" /*format*/,
17382  884 /*offsetCode (13272/15)*/,
17383  12 /*offsetRemainder (13272%15)*/,
17384  0 /*deltaMinutes*/,
17385  1920 /*untilYear*/,
17386  1 /*untilMonth*/,
17387  1 /*untilDay*/,
17388  0 /*untilTimeCode (0/15)*/,
17389  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17390  },
17391  // 4:00 - %z
17392  {
17393  nullptr /*zonePolicy*/,
17394  "" /*format*/,
17395  960 /*offsetCode (14400/15)*/,
17396  0 /*offsetRemainder (14400%15)*/,
17397  0 /*deltaMinutes*/,
17398  32767 /*untilYear*/,
17399  1 /*untilMonth*/,
17400  1 /*untilDay*/,
17401  0 /*untilTimeCode (0/15)*/,
17402  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17403  },
17404 
17405 };
17406 
17407 static const char kZoneNameAsia_Dubai[] ACE_TIME_PROGMEM = "\x05" "Dubai";
17408 
17409 const complete::Info::ZoneInfo kZoneAsia_Dubai ACE_TIME_PROGMEM = {
17410  kZoneNameAsia_Dubai /*name*/,
17411  0x14c79f77 /*zoneId*/,
17412  &kZoneContext /*zoneContext*/,
17413  2 /*numEras*/,
17414  kZoneEraAsia_Dubai /*eras*/,
17415  nullptr /*targetInfo*/,
17416 };
17417 
17418 //---------------------------------------------------------------------------
17419 // Zone name: Asia/Dushanbe
17420 // Eras: 5
17421 //---------------------------------------------------------------------------
17422 
17423 static const complete::Info::ZoneEra kZoneEraAsia_Dushanbe[] ACE_TIME_PROGMEM = {
17424  // 4:35:12 - LMT 1924 May 2
17425  {
17426  nullptr /*zonePolicy*/,
17427  "LMT" /*format*/,
17428  1100 /*offsetCode (16512/15)*/,
17429  12 /*offsetRemainder (16512%15)*/,
17430  0 /*deltaMinutes*/,
17431  1924 /*untilYear*/,
17432  5 /*untilMonth*/,
17433  2 /*untilDay*/,
17434  0 /*untilTimeCode (0/15)*/,
17435  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17436  },
17437  // 5:00 - %z 1930 Jun 21
17438  {
17439  nullptr /*zonePolicy*/,
17440  "" /*format*/,
17441  1200 /*offsetCode (18000/15)*/,
17442  0 /*offsetRemainder (18000%15)*/,
17443  0 /*deltaMinutes*/,
17444  1930 /*untilYear*/,
17445  6 /*untilMonth*/,
17446  21 /*untilDay*/,
17447  0 /*untilTimeCode (0/15)*/,
17448  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17449  },
17450  // 6:00 RussiaAsia %z 1991 Mar 31 2:00s
17451  {
17452  &kZonePolicyRussiaAsia /*zonePolicy*/,
17453  "" /*format*/,
17454  1440 /*offsetCode (21600/15)*/,
17455  0 /*offsetRemainder (21600%15)*/,
17456  0 /*deltaMinutes*/,
17457  1991 /*untilYear*/,
17458  3 /*untilMonth*/,
17459  31 /*untilDay*/,
17460  480 /*untilTimeCode (7200/15)*/,
17461  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
17462  },
17463  // 5:00 1:00 %z 1991 Sep 9 2:00s
17464  {
17465  nullptr /*zonePolicy*/,
17466  "" /*format*/,
17467  1200 /*offsetCode (18000/15)*/,
17468  0 /*offsetRemainder (18000%15)*/,
17469  60 /*deltaMinutes*/,
17470  1991 /*untilYear*/,
17471  9 /*untilMonth*/,
17472  9 /*untilDay*/,
17473  480 /*untilTimeCode (7200/15)*/,
17474  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
17475  },
17476  // 5:00 - %z
17477  {
17478  nullptr /*zonePolicy*/,
17479  "" /*format*/,
17480  1200 /*offsetCode (18000/15)*/,
17481  0 /*offsetRemainder (18000%15)*/,
17482  0 /*deltaMinutes*/,
17483  32767 /*untilYear*/,
17484  1 /*untilMonth*/,
17485  1 /*untilDay*/,
17486  0 /*untilTimeCode (0/15)*/,
17487  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17488  },
17489 
17490 };
17491 
17492 static const char kZoneNameAsia_Dushanbe[] ACE_TIME_PROGMEM = "\x05" "Dushanbe";
17493 
17494 const complete::Info::ZoneInfo kZoneAsia_Dushanbe ACE_TIME_PROGMEM = {
17495  kZoneNameAsia_Dushanbe /*name*/,
17496  0x32fc5c3c /*zoneId*/,
17497  &kZoneContext /*zoneContext*/,
17498  5 /*numEras*/,
17499  kZoneEraAsia_Dushanbe /*eras*/,
17500  nullptr /*targetInfo*/,
17501 };
17502 
17503 //---------------------------------------------------------------------------
17504 // Zone name: Asia/Famagusta
17505 // Eras: 5
17506 //---------------------------------------------------------------------------
17507 
17508 static const complete::Info::ZoneEra kZoneEraAsia_Famagusta[] ACE_TIME_PROGMEM = {
17509  // 2:15:48 - LMT 1921 Nov 14
17510  {
17511  nullptr /*zonePolicy*/,
17512  "LMT" /*format*/,
17513  543 /*offsetCode (8148/15)*/,
17514  3 /*offsetRemainder (8148%15)*/,
17515  0 /*deltaMinutes*/,
17516  1921 /*untilYear*/,
17517  11 /*untilMonth*/,
17518  14 /*untilDay*/,
17519  0 /*untilTimeCode (0/15)*/,
17520  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17521  },
17522  // 2:00 Cyprus EE%sT 1998 Sep
17523  {
17524  &kZonePolicyCyprus /*zonePolicy*/,
17525  "EE%T" /*format*/,
17526  480 /*offsetCode (7200/15)*/,
17527  0 /*offsetRemainder (7200%15)*/,
17528  0 /*deltaMinutes*/,
17529  1998 /*untilYear*/,
17530  9 /*untilMonth*/,
17531  1 /*untilDay*/,
17532  0 /*untilTimeCode (0/15)*/,
17533  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17534  },
17535  // 2:00 EUAsia EE%sT 2016 Sep 8
17536  {
17537  &kZonePolicyEUAsia /*zonePolicy*/,
17538  "EE%T" /*format*/,
17539  480 /*offsetCode (7200/15)*/,
17540  0 /*offsetRemainder (7200%15)*/,
17541  0 /*deltaMinutes*/,
17542  2016 /*untilYear*/,
17543  9 /*untilMonth*/,
17544  8 /*untilDay*/,
17545  0 /*untilTimeCode (0/15)*/,
17546  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17547  },
17548  // 3:00 - %z 2017 Oct 29 1:00u
17549  {
17550  nullptr /*zonePolicy*/,
17551  "" /*format*/,
17552  720 /*offsetCode (10800/15)*/,
17553  0 /*offsetRemainder (10800%15)*/,
17554  0 /*deltaMinutes*/,
17555  2017 /*untilYear*/,
17556  10 /*untilMonth*/,
17557  29 /*untilDay*/,
17558  240 /*untilTimeCode (3600/15)*/,
17559  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
17560  },
17561  // 2:00 EUAsia EE%sT
17562  {
17563  &kZonePolicyEUAsia /*zonePolicy*/,
17564  "EE%T" /*format*/,
17565  480 /*offsetCode (7200/15)*/,
17566  0 /*offsetRemainder (7200%15)*/,
17567  0 /*deltaMinutes*/,
17568  32767 /*untilYear*/,
17569  1 /*untilMonth*/,
17570  1 /*untilDay*/,
17571  0 /*untilTimeCode (0/15)*/,
17572  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17573  },
17574 
17575 };
17576 
17577 static const char kZoneNameAsia_Famagusta[] ACE_TIME_PROGMEM = "\x05" "Famagusta";
17578 
17579 const complete::Info::ZoneInfo kZoneAsia_Famagusta ACE_TIME_PROGMEM = {
17580  kZoneNameAsia_Famagusta /*name*/,
17581  0x289b4f8b /*zoneId*/,
17582  &kZoneContext /*zoneContext*/,
17583  5 /*numEras*/,
17584  kZoneEraAsia_Famagusta /*eras*/,
17585  nullptr /*targetInfo*/,
17586 };
17587 
17588 //---------------------------------------------------------------------------
17589 // Zone name: Asia/Gaza
17590 // Eras: 12
17591 //---------------------------------------------------------------------------
17592 
17593 static const complete::Info::ZoneEra kZoneEraAsia_Gaza[] ACE_TIME_PROGMEM = {
17594  // 2:17:52 - LMT 1900 Oct
17595  {
17596  nullptr /*zonePolicy*/,
17597  "LMT" /*format*/,
17598  551 /*offsetCode (8272/15)*/,
17599  7 /*offsetRemainder (8272%15)*/,
17600  0 /*deltaMinutes*/,
17601  1900 /*untilYear*/,
17602  10 /*untilMonth*/,
17603  1 /*untilDay*/,
17604  0 /*untilTimeCode (0/15)*/,
17605  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17606  },
17607  // 2:00 Zion EET/EEST 1948 May 15
17608  {
17609  &kZonePolicyZion /*zonePolicy*/,
17610  "EET/EEST" /*format*/,
17611  480 /*offsetCode (7200/15)*/,
17612  0 /*offsetRemainder (7200%15)*/,
17613  0 /*deltaMinutes*/,
17614  1948 /*untilYear*/,
17615  5 /*untilMonth*/,
17616  15 /*untilDay*/,
17617  0 /*untilTimeCode (0/15)*/,
17618  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17619  },
17620  // 2:00 EgyptAsia EE%sT 1967 Jun 5
17621  {
17622  &kZonePolicyEgyptAsia /*zonePolicy*/,
17623  "EE%T" /*format*/,
17624  480 /*offsetCode (7200/15)*/,
17625  0 /*offsetRemainder (7200%15)*/,
17626  0 /*deltaMinutes*/,
17627  1967 /*untilYear*/,
17628  6 /*untilMonth*/,
17629  5 /*untilDay*/,
17630  0 /*untilTimeCode (0/15)*/,
17631  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17632  },
17633  // 2:00 Zion I%sT 1996
17634  {
17635  &kZonePolicyZion /*zonePolicy*/,
17636  "I%T" /*format*/,
17637  480 /*offsetCode (7200/15)*/,
17638  0 /*offsetRemainder (7200%15)*/,
17639  0 /*deltaMinutes*/,
17640  1996 /*untilYear*/,
17641  1 /*untilMonth*/,
17642  1 /*untilDay*/,
17643  0 /*untilTimeCode (0/15)*/,
17644  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17645  },
17646  // 2:00 Jordan EE%sT 1999
17647  {
17648  &kZonePolicyJordan /*zonePolicy*/,
17649  "EE%T" /*format*/,
17650  480 /*offsetCode (7200/15)*/,
17651  0 /*offsetRemainder (7200%15)*/,
17652  0 /*deltaMinutes*/,
17653  1999 /*untilYear*/,
17654  1 /*untilMonth*/,
17655  1 /*untilDay*/,
17656  0 /*untilTimeCode (0/15)*/,
17657  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17658  },
17659  // 2:00 Palestine EE%sT 2008 Aug 29 0:00
17660  {
17661  &kZonePolicyPalestine /*zonePolicy*/,
17662  "EE%T" /*format*/,
17663  480 /*offsetCode (7200/15)*/,
17664  0 /*offsetRemainder (7200%15)*/,
17665  0 /*deltaMinutes*/,
17666  2008 /*untilYear*/,
17667  8 /*untilMonth*/,
17668  29 /*untilDay*/,
17669  0 /*untilTimeCode (0/15)*/,
17670  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17671  },
17672  // 2:00 - EET 2008 Sep
17673  {
17674  nullptr /*zonePolicy*/,
17675  "EET" /*format*/,
17676  480 /*offsetCode (7200/15)*/,
17677  0 /*offsetRemainder (7200%15)*/,
17678  0 /*deltaMinutes*/,
17679  2008 /*untilYear*/,
17680  9 /*untilMonth*/,
17681  1 /*untilDay*/,
17682  0 /*untilTimeCode (0/15)*/,
17683  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17684  },
17685  // 2:00 Palestine EE%sT 2010
17686  {
17687  &kZonePolicyPalestine /*zonePolicy*/,
17688  "EE%T" /*format*/,
17689  480 /*offsetCode (7200/15)*/,
17690  0 /*offsetRemainder (7200%15)*/,
17691  0 /*deltaMinutes*/,
17692  2010 /*untilYear*/,
17693  1 /*untilMonth*/,
17694  1 /*untilDay*/,
17695  0 /*untilTimeCode (0/15)*/,
17696  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17697  },
17698  // 2:00 - EET 2010 Mar 27 0:01
17699  {
17700  nullptr /*zonePolicy*/,
17701  "EET" /*format*/,
17702  480 /*offsetCode (7200/15)*/,
17703  0 /*offsetRemainder (7200%15)*/,
17704  0 /*deltaMinutes*/,
17705  2010 /*untilYear*/,
17706  3 /*untilMonth*/,
17707  27 /*untilDay*/,
17708  4 /*untilTimeCode (60/15)*/,
17709  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17710  },
17711  // 2:00 Palestine EE%sT 2011 Aug 1
17712  {
17713  &kZonePolicyPalestine /*zonePolicy*/,
17714  "EE%T" /*format*/,
17715  480 /*offsetCode (7200/15)*/,
17716  0 /*offsetRemainder (7200%15)*/,
17717  0 /*deltaMinutes*/,
17718  2011 /*untilYear*/,
17719  8 /*untilMonth*/,
17720  1 /*untilDay*/,
17721  0 /*untilTimeCode (0/15)*/,
17722  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17723  },
17724  // 2:00 - EET 2012
17725  {
17726  nullptr /*zonePolicy*/,
17727  "EET" /*format*/,
17728  480 /*offsetCode (7200/15)*/,
17729  0 /*offsetRemainder (7200%15)*/,
17730  0 /*deltaMinutes*/,
17731  2012 /*untilYear*/,
17732  1 /*untilMonth*/,
17733  1 /*untilDay*/,
17734  0 /*untilTimeCode (0/15)*/,
17735  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17736  },
17737  // 2:00 Palestine EE%sT
17738  {
17739  &kZonePolicyPalestine /*zonePolicy*/,
17740  "EE%T" /*format*/,
17741  480 /*offsetCode (7200/15)*/,
17742  0 /*offsetRemainder (7200%15)*/,
17743  0 /*deltaMinutes*/,
17744  32767 /*untilYear*/,
17745  1 /*untilMonth*/,
17746  1 /*untilDay*/,
17747  0 /*untilTimeCode (0/15)*/,
17748  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17749  },
17750 
17751 };
17752 
17753 static const char kZoneNameAsia_Gaza[] ACE_TIME_PROGMEM = "\x05" "Gaza";
17754 
17755 const complete::Info::ZoneInfo kZoneAsia_Gaza ACE_TIME_PROGMEM = {
17756  kZoneNameAsia_Gaza /*name*/,
17757  0x1faa4875 /*zoneId*/,
17758  &kZoneContext /*zoneContext*/,
17759  12 /*numEras*/,
17760  kZoneEraAsia_Gaza /*eras*/,
17761  nullptr /*targetInfo*/,
17762 };
17763 
17764 //---------------------------------------------------------------------------
17765 // Zone name: Asia/Hebron
17766 // Eras: 6
17767 //---------------------------------------------------------------------------
17768 
17769 static const complete::Info::ZoneEra kZoneEraAsia_Hebron[] ACE_TIME_PROGMEM = {
17770  // 2:20:23 - LMT 1900 Oct
17771  {
17772  nullptr /*zonePolicy*/,
17773  "LMT" /*format*/,
17774  561 /*offsetCode (8423/15)*/,
17775  8 /*offsetRemainder (8423%15)*/,
17776  0 /*deltaMinutes*/,
17777  1900 /*untilYear*/,
17778  10 /*untilMonth*/,
17779  1 /*untilDay*/,
17780  0 /*untilTimeCode (0/15)*/,
17781  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17782  },
17783  // 2:00 Zion EET/EEST 1948 May 15
17784  {
17785  &kZonePolicyZion /*zonePolicy*/,
17786  "EET/EEST" /*format*/,
17787  480 /*offsetCode (7200/15)*/,
17788  0 /*offsetRemainder (7200%15)*/,
17789  0 /*deltaMinutes*/,
17790  1948 /*untilYear*/,
17791  5 /*untilMonth*/,
17792  15 /*untilDay*/,
17793  0 /*untilTimeCode (0/15)*/,
17794  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17795  },
17796  // 2:00 EgyptAsia EE%sT 1967 Jun 5
17797  {
17798  &kZonePolicyEgyptAsia /*zonePolicy*/,
17799  "EE%T" /*format*/,
17800  480 /*offsetCode (7200/15)*/,
17801  0 /*offsetRemainder (7200%15)*/,
17802  0 /*deltaMinutes*/,
17803  1967 /*untilYear*/,
17804  6 /*untilMonth*/,
17805  5 /*untilDay*/,
17806  0 /*untilTimeCode (0/15)*/,
17807  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17808  },
17809  // 2:00 Zion I%sT 1996
17810  {
17811  &kZonePolicyZion /*zonePolicy*/,
17812  "I%T" /*format*/,
17813  480 /*offsetCode (7200/15)*/,
17814  0 /*offsetRemainder (7200%15)*/,
17815  0 /*deltaMinutes*/,
17816  1996 /*untilYear*/,
17817  1 /*untilMonth*/,
17818  1 /*untilDay*/,
17819  0 /*untilTimeCode (0/15)*/,
17820  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17821  },
17822  // 2:00 Jordan EE%sT 1999
17823  {
17824  &kZonePolicyJordan /*zonePolicy*/,
17825  "EE%T" /*format*/,
17826  480 /*offsetCode (7200/15)*/,
17827  0 /*offsetRemainder (7200%15)*/,
17828  0 /*deltaMinutes*/,
17829  1999 /*untilYear*/,
17830  1 /*untilMonth*/,
17831  1 /*untilDay*/,
17832  0 /*untilTimeCode (0/15)*/,
17833  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17834  },
17835  // 2:00 Palestine EE%sT
17836  {
17837  &kZonePolicyPalestine /*zonePolicy*/,
17838  "EE%T" /*format*/,
17839  480 /*offsetCode (7200/15)*/,
17840  0 /*offsetRemainder (7200%15)*/,
17841  0 /*deltaMinutes*/,
17842  32767 /*untilYear*/,
17843  1 /*untilMonth*/,
17844  1 /*untilDay*/,
17845  0 /*untilTimeCode (0/15)*/,
17846  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17847  },
17848 
17849 };
17850 
17851 static const char kZoneNameAsia_Hebron[] ACE_TIME_PROGMEM = "\x05" "Hebron";
17852 
17853 const complete::Info::ZoneInfo kZoneAsia_Hebron ACE_TIME_PROGMEM = {
17854  kZoneNameAsia_Hebron /*name*/,
17855  0xb5eef250 /*zoneId*/,
17856  &kZoneContext /*zoneContext*/,
17857  6 /*numEras*/,
17858  kZoneEraAsia_Hebron /*eras*/,
17859  nullptr /*targetInfo*/,
17860 };
17861 
17862 //---------------------------------------------------------------------------
17863 // Zone name: Asia/Ho_Chi_Minh
17864 // Eras: 10
17865 //---------------------------------------------------------------------------
17866 
17867 static const complete::Info::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = {
17868  // 7:06:30 - LMT 1906 Jul 1
17869  {
17870  nullptr /*zonePolicy*/,
17871  "LMT" /*format*/,
17872  1706 /*offsetCode (25590/15)*/,
17873  0 /*offsetRemainder (25590%15)*/,
17874  0 /*deltaMinutes*/,
17875  1906 /*untilYear*/,
17876  7 /*untilMonth*/,
17877  1 /*untilDay*/,
17878  0 /*untilTimeCode (0/15)*/,
17879  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17880  },
17881  // 7:06:30 - PLMT 1911 May 1
17882  {
17883  nullptr /*zonePolicy*/,
17884  "PLMT" /*format*/,
17885  1706 /*offsetCode (25590/15)*/,
17886  0 /*offsetRemainder (25590%15)*/,
17887  0 /*deltaMinutes*/,
17888  1911 /*untilYear*/,
17889  5 /*untilMonth*/,
17890  1 /*untilDay*/,
17891  0 /*untilTimeCode (0/15)*/,
17892  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17893  },
17894  // 7:00 - %z 1942 Dec 31 23:00
17895  {
17896  nullptr /*zonePolicy*/,
17897  "" /*format*/,
17898  1680 /*offsetCode (25200/15)*/,
17899  0 /*offsetRemainder (25200%15)*/,
17900  0 /*deltaMinutes*/,
17901  1942 /*untilYear*/,
17902  12 /*untilMonth*/,
17903  31 /*untilDay*/,
17904  5520 /*untilTimeCode (82800/15)*/,
17905  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17906  },
17907  // 8:00 - %z 1945 Mar 14 23:00
17908  {
17909  nullptr /*zonePolicy*/,
17910  "" /*format*/,
17911  1920 /*offsetCode (28800/15)*/,
17912  0 /*offsetRemainder (28800%15)*/,
17913  0 /*deltaMinutes*/,
17914  1945 /*untilYear*/,
17915  3 /*untilMonth*/,
17916  14 /*untilDay*/,
17917  5520 /*untilTimeCode (82800/15)*/,
17918  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17919  },
17920  // 9:00 - %z 1945 Sep 1 24:00
17921  {
17922  nullptr /*zonePolicy*/,
17923  "" /*format*/,
17924  2160 /*offsetCode (32400/15)*/,
17925  0 /*offsetRemainder (32400%15)*/,
17926  0 /*deltaMinutes*/,
17927  1945 /*untilYear*/,
17928  9 /*untilMonth*/,
17929  1 /*untilDay*/,
17930  5760 /*untilTimeCode (86400/15)*/,
17931  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17932  },
17933  // 7:00 - %z 1947 Apr 1
17934  {
17935  nullptr /*zonePolicy*/,
17936  "" /*format*/,
17937  1680 /*offsetCode (25200/15)*/,
17938  0 /*offsetRemainder (25200%15)*/,
17939  0 /*deltaMinutes*/,
17940  1947 /*untilYear*/,
17941  4 /*untilMonth*/,
17942  1 /*untilDay*/,
17943  0 /*untilTimeCode (0/15)*/,
17944  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17945  },
17946  // 8:00 - %z 1955 Jul 1 01:00
17947  {
17948  nullptr /*zonePolicy*/,
17949  "" /*format*/,
17950  1920 /*offsetCode (28800/15)*/,
17951  0 /*offsetRemainder (28800%15)*/,
17952  0 /*deltaMinutes*/,
17953  1955 /*untilYear*/,
17954  7 /*untilMonth*/,
17955  1 /*untilDay*/,
17956  240 /*untilTimeCode (3600/15)*/,
17957  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17958  },
17959  // 7:00 - %z 1959 Dec 31 23:00
17960  {
17961  nullptr /*zonePolicy*/,
17962  "" /*format*/,
17963  1680 /*offsetCode (25200/15)*/,
17964  0 /*offsetRemainder (25200%15)*/,
17965  0 /*deltaMinutes*/,
17966  1959 /*untilYear*/,
17967  12 /*untilMonth*/,
17968  31 /*untilDay*/,
17969  5520 /*untilTimeCode (82800/15)*/,
17970  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17971  },
17972  // 8:00 - %z 1975 Jun 13
17973  {
17974  nullptr /*zonePolicy*/,
17975  "" /*format*/,
17976  1920 /*offsetCode (28800/15)*/,
17977  0 /*offsetRemainder (28800%15)*/,
17978  0 /*deltaMinutes*/,
17979  1975 /*untilYear*/,
17980  6 /*untilMonth*/,
17981  13 /*untilDay*/,
17982  0 /*untilTimeCode (0/15)*/,
17983  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17984  },
17985  // 7:00 - %z
17986  {
17987  nullptr /*zonePolicy*/,
17988  "" /*format*/,
17989  1680 /*offsetCode (25200/15)*/,
17990  0 /*offsetRemainder (25200%15)*/,
17991  0 /*deltaMinutes*/,
17992  32767 /*untilYear*/,
17993  1 /*untilMonth*/,
17994  1 /*untilDay*/,
17995  0 /*untilTimeCode (0/15)*/,
17996  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17997  },
17998 
17999 };
18000 
18001 static const char kZoneNameAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = "\x05" "Ho_Chi_Minh";
18002 
18003 const complete::Info::ZoneInfo kZoneAsia_Ho_Chi_Minh ACE_TIME_PROGMEM = {
18004  kZoneNameAsia_Ho_Chi_Minh /*name*/,
18005  0x20f2d127 /*zoneId*/,
18006  &kZoneContext /*zoneContext*/,
18007  10 /*numEras*/,
18008  kZoneEraAsia_Ho_Chi_Minh /*eras*/,
18009  nullptr /*targetInfo*/,
18010 };
18011 
18012 //---------------------------------------------------------------------------
18013 // Zone name: Asia/Hong_Kong
18014 // Eras: 6
18015 //---------------------------------------------------------------------------
18016 
18017 static const complete::Info::ZoneEra kZoneEraAsia_Hong_Kong[] ACE_TIME_PROGMEM = {
18018  // 7:36:42 - LMT 1904 Oct 29 17:00u
18019  {
18020  nullptr /*zonePolicy*/,
18021  "LMT" /*format*/,
18022  1826 /*offsetCode (27402/15)*/,
18023  12 /*offsetRemainder (27402%15)*/,
18024  0 /*deltaMinutes*/,
18025  1904 /*untilYear*/,
18026  10 /*untilMonth*/,
18027  29 /*untilDay*/,
18028  4080 /*untilTimeCode (61200/15)*/,
18029  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
18030  },
18031  // 8:00 - HKT 1941 Jun 15 3:00
18032  {
18033  nullptr /*zonePolicy*/,
18034  "HKT" /*format*/,
18035  1920 /*offsetCode (28800/15)*/,
18036  0 /*offsetRemainder (28800%15)*/,
18037  0 /*deltaMinutes*/,
18038  1941 /*untilYear*/,
18039  6 /*untilMonth*/,
18040  15 /*untilDay*/,
18041  720 /*untilTimeCode (10800/15)*/,
18042  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18043  },
18044  // 8:00 1:00 HKST 1941 Oct 1 4:00
18045  {
18046  nullptr /*zonePolicy*/,
18047  "HKST" /*format*/,
18048  1920 /*offsetCode (28800/15)*/,
18049  0 /*offsetRemainder (28800%15)*/,
18050  60 /*deltaMinutes*/,
18051  1941 /*untilYear*/,
18052  10 /*untilMonth*/,
18053  1 /*untilDay*/,
18054  960 /*untilTimeCode (14400/15)*/,
18055  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18056  },
18057  // 8:00 0:30 HKWT 1941 Dec 25
18058  {
18059  nullptr /*zonePolicy*/,
18060  "HKWT" /*format*/,
18061  1920 /*offsetCode (28800/15)*/,
18062  0 /*offsetRemainder (28800%15)*/,
18063  30 /*deltaMinutes*/,
18064  1941 /*untilYear*/,
18065  12 /*untilMonth*/,
18066  25 /*untilDay*/,
18067  0 /*untilTimeCode (0/15)*/,
18068  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18069  },
18070  // 9:00 - JST 1945 Nov 18 2:00
18071  {
18072  nullptr /*zonePolicy*/,
18073  "JST" /*format*/,
18074  2160 /*offsetCode (32400/15)*/,
18075  0 /*offsetRemainder (32400%15)*/,
18076  0 /*deltaMinutes*/,
18077  1945 /*untilYear*/,
18078  11 /*untilMonth*/,
18079  18 /*untilDay*/,
18080  480 /*untilTimeCode (7200/15)*/,
18081  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18082  },
18083  // 8:00 HK HK%sT
18084  {
18085  &kZonePolicyHK /*zonePolicy*/,
18086  "HK%T" /*format*/,
18087  1920 /*offsetCode (28800/15)*/,
18088  0 /*offsetRemainder (28800%15)*/,
18089  0 /*deltaMinutes*/,
18090  32767 /*untilYear*/,
18091  1 /*untilMonth*/,
18092  1 /*untilDay*/,
18093  0 /*untilTimeCode (0/15)*/,
18094  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18095  },
18096 
18097 };
18098 
18099 static const char kZoneNameAsia_Hong_Kong[] ACE_TIME_PROGMEM = "\x05" "Hong_Kong";
18100 
18101 const complete::Info::ZoneInfo kZoneAsia_Hong_Kong ACE_TIME_PROGMEM = {
18102  kZoneNameAsia_Hong_Kong /*name*/,
18103  0x577f28ac /*zoneId*/,
18104  &kZoneContext /*zoneContext*/,
18105  6 /*numEras*/,
18106  kZoneEraAsia_Hong_Kong /*eras*/,
18107  nullptr /*targetInfo*/,
18108 };
18109 
18110 //---------------------------------------------------------------------------
18111 // Zone name: Asia/Hovd
18112 // Eras: 3
18113 //---------------------------------------------------------------------------
18114 
18115 static const complete::Info::ZoneEra kZoneEraAsia_Hovd[] ACE_TIME_PROGMEM = {
18116  // 6:06:36 - LMT 1905 Aug
18117  {
18118  nullptr /*zonePolicy*/,
18119  "LMT" /*format*/,
18120  1466 /*offsetCode (21996/15)*/,
18121  6 /*offsetRemainder (21996%15)*/,
18122  0 /*deltaMinutes*/,
18123  1905 /*untilYear*/,
18124  8 /*untilMonth*/,
18125  1 /*untilDay*/,
18126  0 /*untilTimeCode (0/15)*/,
18127  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18128  },
18129  // 6:00 - %z 1978
18130  {
18131  nullptr /*zonePolicy*/,
18132  "" /*format*/,
18133  1440 /*offsetCode (21600/15)*/,
18134  0 /*offsetRemainder (21600%15)*/,
18135  0 /*deltaMinutes*/,
18136  1978 /*untilYear*/,
18137  1 /*untilMonth*/,
18138  1 /*untilDay*/,
18139  0 /*untilTimeCode (0/15)*/,
18140  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18141  },
18142  // 7:00 Mongol %z
18143  {
18144  &kZonePolicyMongol /*zonePolicy*/,
18145  "" /*format*/,
18146  1680 /*offsetCode (25200/15)*/,
18147  0 /*offsetRemainder (25200%15)*/,
18148  0 /*deltaMinutes*/,
18149  32767 /*untilYear*/,
18150  1 /*untilMonth*/,
18151  1 /*untilDay*/,
18152  0 /*untilTimeCode (0/15)*/,
18153  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18154  },
18155 
18156 };
18157 
18158 static const char kZoneNameAsia_Hovd[] ACE_TIME_PROGMEM = "\x05" "Hovd";
18159 
18160 const complete::Info::ZoneInfo kZoneAsia_Hovd ACE_TIME_PROGMEM = {
18161  kZoneNameAsia_Hovd /*name*/,
18162  0x1fab0fe3 /*zoneId*/,
18163  &kZoneContext /*zoneContext*/,
18164  3 /*numEras*/,
18165  kZoneEraAsia_Hovd /*eras*/,
18166  nullptr /*targetInfo*/,
18167 };
18168 
18169 //---------------------------------------------------------------------------
18170 // Zone name: Asia/Irkutsk
18171 // Eras: 8
18172 //---------------------------------------------------------------------------
18173 
18174 static const complete::Info::ZoneEra kZoneEraAsia_Irkutsk[] ACE_TIME_PROGMEM = {
18175  // 6:57:05 - LMT 1880
18176  {
18177  nullptr /*zonePolicy*/,
18178  "LMT" /*format*/,
18179  1668 /*offsetCode (25025/15)*/,
18180  5 /*offsetRemainder (25025%15)*/,
18181  0 /*deltaMinutes*/,
18182  1880 /*untilYear*/,
18183  1 /*untilMonth*/,
18184  1 /*untilDay*/,
18185  0 /*untilTimeCode (0/15)*/,
18186  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18187  },
18188  // 6:57:05 - IMT 1920 Jan 25
18189  {
18190  nullptr /*zonePolicy*/,
18191  "IMT" /*format*/,
18192  1668 /*offsetCode (25025/15)*/,
18193  5 /*offsetRemainder (25025%15)*/,
18194  0 /*deltaMinutes*/,
18195  1920 /*untilYear*/,
18196  1 /*untilMonth*/,
18197  25 /*untilDay*/,
18198  0 /*untilTimeCode (0/15)*/,
18199  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18200  },
18201  // 7:00 - %z 1930 Jun 21
18202  {
18203  nullptr /*zonePolicy*/,
18204  "" /*format*/,
18205  1680 /*offsetCode (25200/15)*/,
18206  0 /*offsetRemainder (25200%15)*/,
18207  0 /*deltaMinutes*/,
18208  1930 /*untilYear*/,
18209  6 /*untilMonth*/,
18210  21 /*untilDay*/,
18211  0 /*untilTimeCode (0/15)*/,
18212  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18213  },
18214  // 8:00 Russia %z 1991 Mar 31 2:00s
18215  {
18216  &kZonePolicyRussia /*zonePolicy*/,
18217  "" /*format*/,
18218  1920 /*offsetCode (28800/15)*/,
18219  0 /*offsetRemainder (28800%15)*/,
18220  0 /*deltaMinutes*/,
18221  1991 /*untilYear*/,
18222  3 /*untilMonth*/,
18223  31 /*untilDay*/,
18224  480 /*untilTimeCode (7200/15)*/,
18225  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18226  },
18227  // 7:00 Russia %z 1992 Jan 19 2:00s
18228  {
18229  &kZonePolicyRussia /*zonePolicy*/,
18230  "" /*format*/,
18231  1680 /*offsetCode (25200/15)*/,
18232  0 /*offsetRemainder (25200%15)*/,
18233  0 /*deltaMinutes*/,
18234  1992 /*untilYear*/,
18235  1 /*untilMonth*/,
18236  19 /*untilDay*/,
18237  480 /*untilTimeCode (7200/15)*/,
18238  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18239  },
18240  // 8:00 Russia %z 2011 Mar 27 2:00s
18241  {
18242  &kZonePolicyRussia /*zonePolicy*/,
18243  "" /*format*/,
18244  1920 /*offsetCode (28800/15)*/,
18245  0 /*offsetRemainder (28800%15)*/,
18246  0 /*deltaMinutes*/,
18247  2011 /*untilYear*/,
18248  3 /*untilMonth*/,
18249  27 /*untilDay*/,
18250  480 /*untilTimeCode (7200/15)*/,
18251  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18252  },
18253  // 9:00 - %z 2014 Oct 26 2:00s
18254  {
18255  nullptr /*zonePolicy*/,
18256  "" /*format*/,
18257  2160 /*offsetCode (32400/15)*/,
18258  0 /*offsetRemainder (32400%15)*/,
18259  0 /*deltaMinutes*/,
18260  2014 /*untilYear*/,
18261  10 /*untilMonth*/,
18262  26 /*untilDay*/,
18263  480 /*untilTimeCode (7200/15)*/,
18264  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18265  },
18266  // 8:00 - %z
18267  {
18268  nullptr /*zonePolicy*/,
18269  "" /*format*/,
18270  1920 /*offsetCode (28800/15)*/,
18271  0 /*offsetRemainder (28800%15)*/,
18272  0 /*deltaMinutes*/,
18273  32767 /*untilYear*/,
18274  1 /*untilMonth*/,
18275  1 /*untilDay*/,
18276  0 /*untilTimeCode (0/15)*/,
18277  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18278  },
18279 
18280 };
18281 
18282 static const char kZoneNameAsia_Irkutsk[] ACE_TIME_PROGMEM = "\x05" "Irkutsk";
18283 
18284 const complete::Info::ZoneInfo kZoneAsia_Irkutsk ACE_TIME_PROGMEM = {
18285  kZoneNameAsia_Irkutsk /*name*/,
18286  0xdfbf213f /*zoneId*/,
18287  &kZoneContext /*zoneContext*/,
18288  8 /*numEras*/,
18289  kZoneEraAsia_Irkutsk /*eras*/,
18290  nullptr /*targetInfo*/,
18291 };
18292 
18293 //---------------------------------------------------------------------------
18294 // Zone name: Asia/Jakarta
18295 // Eras: 9
18296 //---------------------------------------------------------------------------
18297 
18298 static const complete::Info::ZoneEra kZoneEraAsia_Jakarta[] ACE_TIME_PROGMEM = {
18299  // 7:07:12 - LMT 1867 Aug 10
18300  {
18301  nullptr /*zonePolicy*/,
18302  "LMT" /*format*/,
18303  1708 /*offsetCode (25632/15)*/,
18304  12 /*offsetRemainder (25632%15)*/,
18305  0 /*deltaMinutes*/,
18306  1867 /*untilYear*/,
18307  8 /*untilMonth*/,
18308  10 /*untilDay*/,
18309  0 /*untilTimeCode (0/15)*/,
18310  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18311  },
18312  // 7:07:12 - BMT 1923 Dec 31 16:40u
18313  {
18314  nullptr /*zonePolicy*/,
18315  "BMT" /*format*/,
18316  1708 /*offsetCode (25632/15)*/,
18317  12 /*offsetRemainder (25632%15)*/,
18318  0 /*deltaMinutes*/,
18319  1923 /*untilYear*/,
18320  12 /*untilMonth*/,
18321  31 /*untilDay*/,
18322  4000 /*untilTimeCode (60000/15)*/,
18323  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
18324  },
18325  // 7:20 - %z 1932 Nov
18326  {
18327  nullptr /*zonePolicy*/,
18328  "" /*format*/,
18329  1760 /*offsetCode (26400/15)*/,
18330  0 /*offsetRemainder (26400%15)*/,
18331  0 /*deltaMinutes*/,
18332  1932 /*untilYear*/,
18333  11 /*untilMonth*/,
18334  1 /*untilDay*/,
18335  0 /*untilTimeCode (0/15)*/,
18336  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18337  },
18338  // 7:30 - %z 1942 Mar 23
18339  {
18340  nullptr /*zonePolicy*/,
18341  "" /*format*/,
18342  1800 /*offsetCode (27000/15)*/,
18343  0 /*offsetRemainder (27000%15)*/,
18344  0 /*deltaMinutes*/,
18345  1942 /*untilYear*/,
18346  3 /*untilMonth*/,
18347  23 /*untilDay*/,
18348  0 /*untilTimeCode (0/15)*/,
18349  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18350  },
18351  // 9:00 - %z 1945 Sep 23
18352  {
18353  nullptr /*zonePolicy*/,
18354  "" /*format*/,
18355  2160 /*offsetCode (32400/15)*/,
18356  0 /*offsetRemainder (32400%15)*/,
18357  0 /*deltaMinutes*/,
18358  1945 /*untilYear*/,
18359  9 /*untilMonth*/,
18360  23 /*untilDay*/,
18361  0 /*untilTimeCode (0/15)*/,
18362  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18363  },
18364  // 7:30 - %z 1948 May
18365  {
18366  nullptr /*zonePolicy*/,
18367  "" /*format*/,
18368  1800 /*offsetCode (27000/15)*/,
18369  0 /*offsetRemainder (27000%15)*/,
18370  0 /*deltaMinutes*/,
18371  1948 /*untilYear*/,
18372  5 /*untilMonth*/,
18373  1 /*untilDay*/,
18374  0 /*untilTimeCode (0/15)*/,
18375  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18376  },
18377  // 8:00 - %z 1950 May
18378  {
18379  nullptr /*zonePolicy*/,
18380  "" /*format*/,
18381  1920 /*offsetCode (28800/15)*/,
18382  0 /*offsetRemainder (28800%15)*/,
18383  0 /*deltaMinutes*/,
18384  1950 /*untilYear*/,
18385  5 /*untilMonth*/,
18386  1 /*untilDay*/,
18387  0 /*untilTimeCode (0/15)*/,
18388  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18389  },
18390  // 7:30 - %z 1964
18391  {
18392  nullptr /*zonePolicy*/,
18393  "" /*format*/,
18394  1800 /*offsetCode (27000/15)*/,
18395  0 /*offsetRemainder (27000%15)*/,
18396  0 /*deltaMinutes*/,
18397  1964 /*untilYear*/,
18398  1 /*untilMonth*/,
18399  1 /*untilDay*/,
18400  0 /*untilTimeCode (0/15)*/,
18401  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18402  },
18403  // 7:00 - WIB
18404  {
18405  nullptr /*zonePolicy*/,
18406  "WIB" /*format*/,
18407  1680 /*offsetCode (25200/15)*/,
18408  0 /*offsetRemainder (25200%15)*/,
18409  0 /*deltaMinutes*/,
18410  32767 /*untilYear*/,
18411  1 /*untilMonth*/,
18412  1 /*untilDay*/,
18413  0 /*untilTimeCode (0/15)*/,
18414  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18415  },
18416 
18417 };
18418 
18419 static const char kZoneNameAsia_Jakarta[] ACE_TIME_PROGMEM = "\x05" "Jakarta";
18420 
18421 const complete::Info::ZoneInfo kZoneAsia_Jakarta ACE_TIME_PROGMEM = {
18422  kZoneNameAsia_Jakarta /*name*/,
18423  0x0506ab50 /*zoneId*/,
18424  &kZoneContext /*zoneContext*/,
18425  9 /*numEras*/,
18426  kZoneEraAsia_Jakarta /*eras*/,
18427  nullptr /*targetInfo*/,
18428 };
18429 
18430 //---------------------------------------------------------------------------
18431 // Zone name: Asia/Jayapura
18432 // Eras: 4
18433 //---------------------------------------------------------------------------
18434 
18435 static const complete::Info::ZoneEra kZoneEraAsia_Jayapura[] ACE_TIME_PROGMEM = {
18436  // 9:22:48 - LMT 1932 Nov
18437  {
18438  nullptr /*zonePolicy*/,
18439  "LMT" /*format*/,
18440  2251 /*offsetCode (33768/15)*/,
18441  3 /*offsetRemainder (33768%15)*/,
18442  0 /*deltaMinutes*/,
18443  1932 /*untilYear*/,
18444  11 /*untilMonth*/,
18445  1 /*untilDay*/,
18446  0 /*untilTimeCode (0/15)*/,
18447  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18448  },
18449  // 9:00 - %z 1944 Sep 1
18450  {
18451  nullptr /*zonePolicy*/,
18452  "" /*format*/,
18453  2160 /*offsetCode (32400/15)*/,
18454  0 /*offsetRemainder (32400%15)*/,
18455  0 /*deltaMinutes*/,
18456  1944 /*untilYear*/,
18457  9 /*untilMonth*/,
18458  1 /*untilDay*/,
18459  0 /*untilTimeCode (0/15)*/,
18460  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18461  },
18462  // 9:30 - %z 1964
18463  {
18464  nullptr /*zonePolicy*/,
18465  "" /*format*/,
18466  2280 /*offsetCode (34200/15)*/,
18467  0 /*offsetRemainder (34200%15)*/,
18468  0 /*deltaMinutes*/,
18469  1964 /*untilYear*/,
18470  1 /*untilMonth*/,
18471  1 /*untilDay*/,
18472  0 /*untilTimeCode (0/15)*/,
18473  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18474  },
18475  // 9:00 - WIT
18476  {
18477  nullptr /*zonePolicy*/,
18478  "WIT" /*format*/,
18479  2160 /*offsetCode (32400/15)*/,
18480  0 /*offsetRemainder (32400%15)*/,
18481  0 /*deltaMinutes*/,
18482  32767 /*untilYear*/,
18483  1 /*untilMonth*/,
18484  1 /*untilDay*/,
18485  0 /*untilTimeCode (0/15)*/,
18486  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18487  },
18488 
18489 };
18490 
18491 static const char kZoneNameAsia_Jayapura[] ACE_TIME_PROGMEM = "\x05" "Jayapura";
18492 
18493 const complete::Info::ZoneInfo kZoneAsia_Jayapura ACE_TIME_PROGMEM = {
18494  kZoneNameAsia_Jayapura /*name*/,
18495  0xc6833c2f /*zoneId*/,
18496  &kZoneContext /*zoneContext*/,
18497  4 /*numEras*/,
18498  kZoneEraAsia_Jayapura /*eras*/,
18499  nullptr /*targetInfo*/,
18500 };
18501 
18502 //---------------------------------------------------------------------------
18503 // Zone name: Asia/Jerusalem
18504 // Eras: 3
18505 //---------------------------------------------------------------------------
18506 
18507 static const complete::Info::ZoneEra kZoneEraAsia_Jerusalem[] ACE_TIME_PROGMEM = {
18508  // 2:20:54 - LMT 1880
18509  {
18510  nullptr /*zonePolicy*/,
18511  "LMT" /*format*/,
18512  563 /*offsetCode (8454/15)*/,
18513  9 /*offsetRemainder (8454%15)*/,
18514  0 /*deltaMinutes*/,
18515  1880 /*untilYear*/,
18516  1 /*untilMonth*/,
18517  1 /*untilDay*/,
18518  0 /*untilTimeCode (0/15)*/,
18519  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18520  },
18521  // 2:20:40 - JMT 1918
18522  {
18523  nullptr /*zonePolicy*/,
18524  "JMT" /*format*/,
18525  562 /*offsetCode (8440/15)*/,
18526  10 /*offsetRemainder (8440%15)*/,
18527  0 /*deltaMinutes*/,
18528  1918 /*untilYear*/,
18529  1 /*untilMonth*/,
18530  1 /*untilDay*/,
18531  0 /*untilTimeCode (0/15)*/,
18532  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18533  },
18534  // 2:00 Zion I%sT
18535  {
18536  &kZonePolicyZion /*zonePolicy*/,
18537  "I%T" /*format*/,
18538  480 /*offsetCode (7200/15)*/,
18539  0 /*offsetRemainder (7200%15)*/,
18540  0 /*deltaMinutes*/,
18541  32767 /*untilYear*/,
18542  1 /*untilMonth*/,
18543  1 /*untilDay*/,
18544  0 /*untilTimeCode (0/15)*/,
18545  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18546  },
18547 
18548 };
18549 
18550 static const char kZoneNameAsia_Jerusalem[] ACE_TIME_PROGMEM = "\x05" "Jerusalem";
18551 
18552 const complete::Info::ZoneInfo kZoneAsia_Jerusalem ACE_TIME_PROGMEM = {
18553  kZoneNameAsia_Jerusalem /*name*/,
18554  0x5becd23a /*zoneId*/,
18555  &kZoneContext /*zoneContext*/,
18556  3 /*numEras*/,
18557  kZoneEraAsia_Jerusalem /*eras*/,
18558  nullptr /*targetInfo*/,
18559 };
18560 
18561 //---------------------------------------------------------------------------
18562 // Zone name: Asia/Kabul
18563 // Eras: 3
18564 //---------------------------------------------------------------------------
18565 
18566 static const complete::Info::ZoneEra kZoneEraAsia_Kabul[] ACE_TIME_PROGMEM = {
18567  // 4:36:48 - LMT 1890
18568  {
18569  nullptr /*zonePolicy*/,
18570  "LMT" /*format*/,
18571  1107 /*offsetCode (16608/15)*/,
18572  3 /*offsetRemainder (16608%15)*/,
18573  0 /*deltaMinutes*/,
18574  1890 /*untilYear*/,
18575  1 /*untilMonth*/,
18576  1 /*untilDay*/,
18577  0 /*untilTimeCode (0/15)*/,
18578  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18579  },
18580  // 4:00 - %z 1945
18581  {
18582  nullptr /*zonePolicy*/,
18583  "" /*format*/,
18584  960 /*offsetCode (14400/15)*/,
18585  0 /*offsetRemainder (14400%15)*/,
18586  0 /*deltaMinutes*/,
18587  1945 /*untilYear*/,
18588  1 /*untilMonth*/,
18589  1 /*untilDay*/,
18590  0 /*untilTimeCode (0/15)*/,
18591  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18592  },
18593  // 4:30 - %z
18594  {
18595  nullptr /*zonePolicy*/,
18596  "" /*format*/,
18597  1080 /*offsetCode (16200/15)*/,
18598  0 /*offsetRemainder (16200%15)*/,
18599  0 /*deltaMinutes*/,
18600  32767 /*untilYear*/,
18601  1 /*untilMonth*/,
18602  1 /*untilDay*/,
18603  0 /*untilTimeCode (0/15)*/,
18604  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18605  },
18606 
18607 };
18608 
18609 static const char kZoneNameAsia_Kabul[] ACE_TIME_PROGMEM = "\x05" "Kabul";
18610 
18611 const complete::Info::ZoneInfo kZoneAsia_Kabul ACE_TIME_PROGMEM = {
18612  kZoneNameAsia_Kabul /*name*/,
18613  0x153b5601 /*zoneId*/,
18614  &kZoneContext /*zoneContext*/,
18615  3 /*numEras*/,
18616  kZoneEraAsia_Kabul /*eras*/,
18617  nullptr /*targetInfo*/,
18618 };
18619 
18620 //---------------------------------------------------------------------------
18621 // Zone name: Asia/Kamchatka
18622 // Eras: 7
18623 //---------------------------------------------------------------------------
18624 
18625 static const complete::Info::ZoneEra kZoneEraAsia_Kamchatka[] ACE_TIME_PROGMEM = {
18626  // 10:34:36 - LMT 1922 Nov 10
18627  {
18628  nullptr /*zonePolicy*/,
18629  "LMT" /*format*/,
18630  2538 /*offsetCode (38076/15)*/,
18631  6 /*offsetRemainder (38076%15)*/,
18632  0 /*deltaMinutes*/,
18633  1922 /*untilYear*/,
18634  11 /*untilMonth*/,
18635  10 /*untilDay*/,
18636  0 /*untilTimeCode (0/15)*/,
18637  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18638  },
18639  // 11:00 - %z 1930 Jun 21
18640  {
18641  nullptr /*zonePolicy*/,
18642  "" /*format*/,
18643  2640 /*offsetCode (39600/15)*/,
18644  0 /*offsetRemainder (39600%15)*/,
18645  0 /*deltaMinutes*/,
18646  1930 /*untilYear*/,
18647  6 /*untilMonth*/,
18648  21 /*untilDay*/,
18649  0 /*untilTimeCode (0/15)*/,
18650  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18651  },
18652  // 12:00 Russia %z 1991 Mar 31 2:00s
18653  {
18654  &kZonePolicyRussia /*zonePolicy*/,
18655  "" /*format*/,
18656  2880 /*offsetCode (43200/15)*/,
18657  0 /*offsetRemainder (43200%15)*/,
18658  0 /*deltaMinutes*/,
18659  1991 /*untilYear*/,
18660  3 /*untilMonth*/,
18661  31 /*untilDay*/,
18662  480 /*untilTimeCode (7200/15)*/,
18663  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18664  },
18665  // 11:00 Russia %z 1992 Jan 19 2:00s
18666  {
18667  &kZonePolicyRussia /*zonePolicy*/,
18668  "" /*format*/,
18669  2640 /*offsetCode (39600/15)*/,
18670  0 /*offsetRemainder (39600%15)*/,
18671  0 /*deltaMinutes*/,
18672  1992 /*untilYear*/,
18673  1 /*untilMonth*/,
18674  19 /*untilDay*/,
18675  480 /*untilTimeCode (7200/15)*/,
18676  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18677  },
18678  // 12:00 Russia %z 2010 Mar 28 2:00s
18679  {
18680  &kZonePolicyRussia /*zonePolicy*/,
18681  "" /*format*/,
18682  2880 /*offsetCode (43200/15)*/,
18683  0 /*offsetRemainder (43200%15)*/,
18684  0 /*deltaMinutes*/,
18685  2010 /*untilYear*/,
18686  3 /*untilMonth*/,
18687  28 /*untilDay*/,
18688  480 /*untilTimeCode (7200/15)*/,
18689  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18690  },
18691  // 11:00 Russia %z 2011 Mar 27 2:00s
18692  {
18693  &kZonePolicyRussia /*zonePolicy*/,
18694  "" /*format*/,
18695  2640 /*offsetCode (39600/15)*/,
18696  0 /*offsetRemainder (39600%15)*/,
18697  0 /*deltaMinutes*/,
18698  2011 /*untilYear*/,
18699  3 /*untilMonth*/,
18700  27 /*untilDay*/,
18701  480 /*untilTimeCode (7200/15)*/,
18702  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18703  },
18704  // 12:00 - %z
18705  {
18706  nullptr /*zonePolicy*/,
18707  "" /*format*/,
18708  2880 /*offsetCode (43200/15)*/,
18709  0 /*offsetRemainder (43200%15)*/,
18710  0 /*deltaMinutes*/,
18711  32767 /*untilYear*/,
18712  1 /*untilMonth*/,
18713  1 /*untilDay*/,
18714  0 /*untilTimeCode (0/15)*/,
18715  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18716  },
18717 
18718 };
18719 
18720 static const char kZoneNameAsia_Kamchatka[] ACE_TIME_PROGMEM = "\x05" "Kamchatka";
18721 
18722 const complete::Info::ZoneInfo kZoneAsia_Kamchatka ACE_TIME_PROGMEM = {
18723  kZoneNameAsia_Kamchatka /*name*/,
18724  0x73baf9d7 /*zoneId*/,
18725  &kZoneContext /*zoneContext*/,
18726  7 /*numEras*/,
18727  kZoneEraAsia_Kamchatka /*eras*/,
18728  nullptr /*targetInfo*/,
18729 };
18730 
18731 //---------------------------------------------------------------------------
18732 // Zone name: Asia/Karachi
18733 // Eras: 6
18734 //---------------------------------------------------------------------------
18735 
18736 static const complete::Info::ZoneEra kZoneEraAsia_Karachi[] ACE_TIME_PROGMEM = {
18737  // 4:28:12 - LMT 1907
18738  {
18739  nullptr /*zonePolicy*/,
18740  "LMT" /*format*/,
18741  1072 /*offsetCode (16092/15)*/,
18742  12 /*offsetRemainder (16092%15)*/,
18743  0 /*deltaMinutes*/,
18744  1907 /*untilYear*/,
18745  1 /*untilMonth*/,
18746  1 /*untilDay*/,
18747  0 /*untilTimeCode (0/15)*/,
18748  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18749  },
18750  // 5:30 - %z 1942 Sep
18751  {
18752  nullptr /*zonePolicy*/,
18753  "" /*format*/,
18754  1320 /*offsetCode (19800/15)*/,
18755  0 /*offsetRemainder (19800%15)*/,
18756  0 /*deltaMinutes*/,
18757  1942 /*untilYear*/,
18758  9 /*untilMonth*/,
18759  1 /*untilDay*/,
18760  0 /*untilTimeCode (0/15)*/,
18761  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18762  },
18763  // 5:30 1:00 %z 1945 Oct 15
18764  {
18765  nullptr /*zonePolicy*/,
18766  "" /*format*/,
18767  1320 /*offsetCode (19800/15)*/,
18768  0 /*offsetRemainder (19800%15)*/,
18769  60 /*deltaMinutes*/,
18770  1945 /*untilYear*/,
18771  10 /*untilMonth*/,
18772  15 /*untilDay*/,
18773  0 /*untilTimeCode (0/15)*/,
18774  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18775  },
18776  // 5:30 - %z 1951 Sep 30
18777  {
18778  nullptr /*zonePolicy*/,
18779  "" /*format*/,
18780  1320 /*offsetCode (19800/15)*/,
18781  0 /*offsetRemainder (19800%15)*/,
18782  0 /*deltaMinutes*/,
18783  1951 /*untilYear*/,
18784  9 /*untilMonth*/,
18785  30 /*untilDay*/,
18786  0 /*untilTimeCode (0/15)*/,
18787  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18788  },
18789  // 5:00 - %z 1971 Mar 26
18790  {
18791  nullptr /*zonePolicy*/,
18792  "" /*format*/,
18793  1200 /*offsetCode (18000/15)*/,
18794  0 /*offsetRemainder (18000%15)*/,
18795  0 /*deltaMinutes*/,
18796  1971 /*untilYear*/,
18797  3 /*untilMonth*/,
18798  26 /*untilDay*/,
18799  0 /*untilTimeCode (0/15)*/,
18800  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18801  },
18802  // 5:00 Pakistan PK%sT
18803  {
18804  &kZonePolicyPakistan /*zonePolicy*/,
18805  "PK%T" /*format*/,
18806  1200 /*offsetCode (18000/15)*/,
18807  0 /*offsetRemainder (18000%15)*/,
18808  0 /*deltaMinutes*/,
18809  32767 /*untilYear*/,
18810  1 /*untilMonth*/,
18811  1 /*untilDay*/,
18812  0 /*untilTimeCode (0/15)*/,
18813  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18814  },
18815 
18816 };
18817 
18818 static const char kZoneNameAsia_Karachi[] ACE_TIME_PROGMEM = "\x05" "Karachi";
18819 
18820 const complete::Info::ZoneInfo kZoneAsia_Karachi ACE_TIME_PROGMEM = {
18821  kZoneNameAsia_Karachi /*name*/,
18822  0x527f5245 /*zoneId*/,
18823  &kZoneContext /*zoneContext*/,
18824  6 /*numEras*/,
18825  kZoneEraAsia_Karachi /*eras*/,
18826  nullptr /*targetInfo*/,
18827 };
18828 
18829 //---------------------------------------------------------------------------
18830 // Zone name: Asia/Kathmandu
18831 // Eras: 3
18832 //---------------------------------------------------------------------------
18833 
18834 static const complete::Info::ZoneEra kZoneEraAsia_Kathmandu[] ACE_TIME_PROGMEM = {
18835  // 5:41:16 - LMT 1920
18836  {
18837  nullptr /*zonePolicy*/,
18838  "LMT" /*format*/,
18839  1365 /*offsetCode (20476/15)*/,
18840  1 /*offsetRemainder (20476%15)*/,
18841  0 /*deltaMinutes*/,
18842  1920 /*untilYear*/,
18843  1 /*untilMonth*/,
18844  1 /*untilDay*/,
18845  0 /*untilTimeCode (0/15)*/,
18846  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18847  },
18848  // 5:30 - %z 1986
18849  {
18850  nullptr /*zonePolicy*/,
18851  "" /*format*/,
18852  1320 /*offsetCode (19800/15)*/,
18853  0 /*offsetRemainder (19800%15)*/,
18854  0 /*deltaMinutes*/,
18855  1986 /*untilYear*/,
18856  1 /*untilMonth*/,
18857  1 /*untilDay*/,
18858  0 /*untilTimeCode (0/15)*/,
18859  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18860  },
18861  // 5:45 - %z
18862  {
18863  nullptr /*zonePolicy*/,
18864  "" /*format*/,
18865  1380 /*offsetCode (20700/15)*/,
18866  0 /*offsetRemainder (20700%15)*/,
18867  0 /*deltaMinutes*/,
18868  32767 /*untilYear*/,
18869  1 /*untilMonth*/,
18870  1 /*untilDay*/,
18871  0 /*untilTimeCode (0/15)*/,
18872  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18873  },
18874 
18875 };
18876 
18877 static const char kZoneNameAsia_Kathmandu[] ACE_TIME_PROGMEM = "\x05" "Kathmandu";
18878 
18879 const complete::Info::ZoneInfo kZoneAsia_Kathmandu ACE_TIME_PROGMEM = {
18880  kZoneNameAsia_Kathmandu /*name*/,
18881  0x9a96ce6f /*zoneId*/,
18882  &kZoneContext /*zoneContext*/,
18883  3 /*numEras*/,
18884  kZoneEraAsia_Kathmandu /*eras*/,
18885  nullptr /*targetInfo*/,
18886 };
18887 
18888 //---------------------------------------------------------------------------
18889 // Zone name: Asia/Khandyga
18890 // Eras: 9
18891 //---------------------------------------------------------------------------
18892 
18893 static const complete::Info::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = {
18894  // 9:02:13 - LMT 1919 Dec 15
18895  {
18896  nullptr /*zonePolicy*/,
18897  "LMT" /*format*/,
18898  2168 /*offsetCode (32533/15)*/,
18899  13 /*offsetRemainder (32533%15)*/,
18900  0 /*deltaMinutes*/,
18901  1919 /*untilYear*/,
18902  12 /*untilMonth*/,
18903  15 /*untilDay*/,
18904  0 /*untilTimeCode (0/15)*/,
18905  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18906  },
18907  // 8:00 - %z 1930 Jun 21
18908  {
18909  nullptr /*zonePolicy*/,
18910  "" /*format*/,
18911  1920 /*offsetCode (28800/15)*/,
18912  0 /*offsetRemainder (28800%15)*/,
18913  0 /*deltaMinutes*/,
18914  1930 /*untilYear*/,
18915  6 /*untilMonth*/,
18916  21 /*untilDay*/,
18917  0 /*untilTimeCode (0/15)*/,
18918  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18919  },
18920  // 9:00 Russia %z 1991 Mar 31 2:00s
18921  {
18922  &kZonePolicyRussia /*zonePolicy*/,
18923  "" /*format*/,
18924  2160 /*offsetCode (32400/15)*/,
18925  0 /*offsetRemainder (32400%15)*/,
18926  0 /*deltaMinutes*/,
18927  1991 /*untilYear*/,
18928  3 /*untilMonth*/,
18929  31 /*untilDay*/,
18930  480 /*untilTimeCode (7200/15)*/,
18931  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18932  },
18933  // 8:00 Russia %z 1992 Jan 19 2:00s
18934  {
18935  &kZonePolicyRussia /*zonePolicy*/,
18936  "" /*format*/,
18937  1920 /*offsetCode (28800/15)*/,
18938  0 /*offsetRemainder (28800%15)*/,
18939  0 /*deltaMinutes*/,
18940  1992 /*untilYear*/,
18941  1 /*untilMonth*/,
18942  19 /*untilDay*/,
18943  480 /*untilTimeCode (7200/15)*/,
18944  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18945  },
18946  // 9:00 Russia %z 2004
18947  {
18948  &kZonePolicyRussia /*zonePolicy*/,
18949  "" /*format*/,
18950  2160 /*offsetCode (32400/15)*/,
18951  0 /*offsetRemainder (32400%15)*/,
18952  0 /*deltaMinutes*/,
18953  2004 /*untilYear*/,
18954  1 /*untilMonth*/,
18955  1 /*untilDay*/,
18956  0 /*untilTimeCode (0/15)*/,
18957  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18958  },
18959  // 10:00 Russia %z 2011 Mar 27 2:00s
18960  {
18961  &kZonePolicyRussia /*zonePolicy*/,
18962  "" /*format*/,
18963  2400 /*offsetCode (36000/15)*/,
18964  0 /*offsetRemainder (36000%15)*/,
18965  0 /*deltaMinutes*/,
18966  2011 /*untilYear*/,
18967  3 /*untilMonth*/,
18968  27 /*untilDay*/,
18969  480 /*untilTimeCode (7200/15)*/,
18970  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18971  },
18972  // 11:00 - %z 2011 Sep 13 0:00s
18973  {
18974  nullptr /*zonePolicy*/,
18975  "" /*format*/,
18976  2640 /*offsetCode (39600/15)*/,
18977  0 /*offsetRemainder (39600%15)*/,
18978  0 /*deltaMinutes*/,
18979  2011 /*untilYear*/,
18980  9 /*untilMonth*/,
18981  13 /*untilDay*/,
18982  0 /*untilTimeCode (0/15)*/,
18983  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18984  },
18985  // 10:00 - %z 2014 Oct 26 2:00s
18986  {
18987  nullptr /*zonePolicy*/,
18988  "" /*format*/,
18989  2400 /*offsetCode (36000/15)*/,
18990  0 /*offsetRemainder (36000%15)*/,
18991  0 /*deltaMinutes*/,
18992  2014 /*untilYear*/,
18993  10 /*untilMonth*/,
18994  26 /*untilDay*/,
18995  480 /*untilTimeCode (7200/15)*/,
18996  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18997  },
18998  // 9:00 - %z
18999  {
19000  nullptr /*zonePolicy*/,
19001  "" /*format*/,
19002  2160 /*offsetCode (32400/15)*/,
19003  0 /*offsetRemainder (32400%15)*/,
19004  0 /*deltaMinutes*/,
19005  32767 /*untilYear*/,
19006  1 /*untilMonth*/,
19007  1 /*untilDay*/,
19008  0 /*untilTimeCode (0/15)*/,
19009  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19010  },
19011 
19012 };
19013 
19014 static const char kZoneNameAsia_Khandyga[] ACE_TIME_PROGMEM = "\x05" "Khandyga";
19015 
19016 const complete::Info::ZoneInfo kZoneAsia_Khandyga ACE_TIME_PROGMEM = {
19017  kZoneNameAsia_Khandyga /*name*/,
19018  0x9685a4d9 /*zoneId*/,
19019  &kZoneContext /*zoneContext*/,
19020  9 /*numEras*/,
19021  kZoneEraAsia_Khandyga /*eras*/,
19022  nullptr /*targetInfo*/,
19023 };
19024 
19025 //---------------------------------------------------------------------------
19026 // Zone name: Asia/Kolkata
19027 // Eras: 8
19028 //---------------------------------------------------------------------------
19029 
19030 static const complete::Info::ZoneEra kZoneEraAsia_Kolkata[] ACE_TIME_PROGMEM = {
19031  // 5:53:28 - LMT 1854 Jun 28
19032  {
19033  nullptr /*zonePolicy*/,
19034  "LMT" /*format*/,
19035  1413 /*offsetCode (21208/15)*/,
19036  13 /*offsetRemainder (21208%15)*/,
19037  0 /*deltaMinutes*/,
19038  1854 /*untilYear*/,
19039  6 /*untilMonth*/,
19040  28 /*untilDay*/,
19041  0 /*untilTimeCode (0/15)*/,
19042  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19043  },
19044  // 5:53:20 - HMT 1870
19045  {
19046  nullptr /*zonePolicy*/,
19047  "HMT" /*format*/,
19048  1413 /*offsetCode (21200/15)*/,
19049  5 /*offsetRemainder (21200%15)*/,
19050  0 /*deltaMinutes*/,
19051  1870 /*untilYear*/,
19052  1 /*untilMonth*/,
19053  1 /*untilDay*/,
19054  0 /*untilTimeCode (0/15)*/,
19055  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19056  },
19057  // 5:21:10 - MMT 1906 Jan 1
19058  {
19059  nullptr /*zonePolicy*/,
19060  "MMT" /*format*/,
19061  1284 /*offsetCode (19270/15)*/,
19062  10 /*offsetRemainder (19270%15)*/,
19063  0 /*deltaMinutes*/,
19064  1906 /*untilYear*/,
19065  1 /*untilMonth*/,
19066  1 /*untilDay*/,
19067  0 /*untilTimeCode (0/15)*/,
19068  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19069  },
19070  // 5:30 - IST 1941 Oct
19071  {
19072  nullptr /*zonePolicy*/,
19073  "IST" /*format*/,
19074  1320 /*offsetCode (19800/15)*/,
19075  0 /*offsetRemainder (19800%15)*/,
19076  0 /*deltaMinutes*/,
19077  1941 /*untilYear*/,
19078  10 /*untilMonth*/,
19079  1 /*untilDay*/,
19080  0 /*untilTimeCode (0/15)*/,
19081  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19082  },
19083  // 5:30 1:00 %z 1942 May 15
19084  {
19085  nullptr /*zonePolicy*/,
19086  "" /*format*/,
19087  1320 /*offsetCode (19800/15)*/,
19088  0 /*offsetRemainder (19800%15)*/,
19089  60 /*deltaMinutes*/,
19090  1942 /*untilYear*/,
19091  5 /*untilMonth*/,
19092  15 /*untilDay*/,
19093  0 /*untilTimeCode (0/15)*/,
19094  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19095  },
19096  // 5:30 - IST 1942 Sep
19097  {
19098  nullptr /*zonePolicy*/,
19099  "IST" /*format*/,
19100  1320 /*offsetCode (19800/15)*/,
19101  0 /*offsetRemainder (19800%15)*/,
19102  0 /*deltaMinutes*/,
19103  1942 /*untilYear*/,
19104  9 /*untilMonth*/,
19105  1 /*untilDay*/,
19106  0 /*untilTimeCode (0/15)*/,
19107  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19108  },
19109  // 5:30 1:00 %z 1945 Oct 15
19110  {
19111  nullptr /*zonePolicy*/,
19112  "" /*format*/,
19113  1320 /*offsetCode (19800/15)*/,
19114  0 /*offsetRemainder (19800%15)*/,
19115  60 /*deltaMinutes*/,
19116  1945 /*untilYear*/,
19117  10 /*untilMonth*/,
19118  15 /*untilDay*/,
19119  0 /*untilTimeCode (0/15)*/,
19120  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19121  },
19122  // 5:30 - IST
19123  {
19124  nullptr /*zonePolicy*/,
19125  "IST" /*format*/,
19126  1320 /*offsetCode (19800/15)*/,
19127  0 /*offsetRemainder (19800%15)*/,
19128  0 /*deltaMinutes*/,
19129  32767 /*untilYear*/,
19130  1 /*untilMonth*/,
19131  1 /*untilDay*/,
19132  0 /*untilTimeCode (0/15)*/,
19133  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19134  },
19135 
19136 };
19137 
19138 static const char kZoneNameAsia_Kolkata[] ACE_TIME_PROGMEM = "\x05" "Kolkata";
19139 
19140 const complete::Info::ZoneInfo kZoneAsia_Kolkata ACE_TIME_PROGMEM = {
19141  kZoneNameAsia_Kolkata /*name*/,
19142  0x72c06cd9 /*zoneId*/,
19143  &kZoneContext /*zoneContext*/,
19144  8 /*numEras*/,
19145  kZoneEraAsia_Kolkata /*eras*/,
19146  nullptr /*targetInfo*/,
19147 };
19148 
19149 //---------------------------------------------------------------------------
19150 // Zone name: Asia/Krasnoyarsk
19151 // Eras: 7
19152 //---------------------------------------------------------------------------
19153 
19154 static const complete::Info::ZoneEra kZoneEraAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = {
19155  // 6:11:26 - LMT 1920 Jan 6
19156  {
19157  nullptr /*zonePolicy*/,
19158  "LMT" /*format*/,
19159  1485 /*offsetCode (22286/15)*/,
19160  11 /*offsetRemainder (22286%15)*/,
19161  0 /*deltaMinutes*/,
19162  1920 /*untilYear*/,
19163  1 /*untilMonth*/,
19164  6 /*untilDay*/,
19165  0 /*untilTimeCode (0/15)*/,
19166  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19167  },
19168  // 6:00 - %z 1930 Jun 21
19169  {
19170  nullptr /*zonePolicy*/,
19171  "" /*format*/,
19172  1440 /*offsetCode (21600/15)*/,
19173  0 /*offsetRemainder (21600%15)*/,
19174  0 /*deltaMinutes*/,
19175  1930 /*untilYear*/,
19176  6 /*untilMonth*/,
19177  21 /*untilDay*/,
19178  0 /*untilTimeCode (0/15)*/,
19179  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19180  },
19181  // 7:00 Russia %z 1991 Mar 31 2:00s
19182  {
19183  &kZonePolicyRussia /*zonePolicy*/,
19184  "" /*format*/,
19185  1680 /*offsetCode (25200/15)*/,
19186  0 /*offsetRemainder (25200%15)*/,
19187  0 /*deltaMinutes*/,
19188  1991 /*untilYear*/,
19189  3 /*untilMonth*/,
19190  31 /*untilDay*/,
19191  480 /*untilTimeCode (7200/15)*/,
19192  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19193  },
19194  // 6:00 Russia %z 1992 Jan 19 2:00s
19195  {
19196  &kZonePolicyRussia /*zonePolicy*/,
19197  "" /*format*/,
19198  1440 /*offsetCode (21600/15)*/,
19199  0 /*offsetRemainder (21600%15)*/,
19200  0 /*deltaMinutes*/,
19201  1992 /*untilYear*/,
19202  1 /*untilMonth*/,
19203  19 /*untilDay*/,
19204  480 /*untilTimeCode (7200/15)*/,
19205  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19206  },
19207  // 7:00 Russia %z 2011 Mar 27 2:00s
19208  {
19209  &kZonePolicyRussia /*zonePolicy*/,
19210  "" /*format*/,
19211  1680 /*offsetCode (25200/15)*/,
19212  0 /*offsetRemainder (25200%15)*/,
19213  0 /*deltaMinutes*/,
19214  2011 /*untilYear*/,
19215  3 /*untilMonth*/,
19216  27 /*untilDay*/,
19217  480 /*untilTimeCode (7200/15)*/,
19218  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19219  },
19220  // 8:00 - %z 2014 Oct 26 2:00s
19221  {
19222  nullptr /*zonePolicy*/,
19223  "" /*format*/,
19224  1920 /*offsetCode (28800/15)*/,
19225  0 /*offsetRemainder (28800%15)*/,
19226  0 /*deltaMinutes*/,
19227  2014 /*untilYear*/,
19228  10 /*untilMonth*/,
19229  26 /*untilDay*/,
19230  480 /*untilTimeCode (7200/15)*/,
19231  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19232  },
19233  // 7:00 - %z
19234  {
19235  nullptr /*zonePolicy*/,
19236  "" /*format*/,
19237  1680 /*offsetCode (25200/15)*/,
19238  0 /*offsetRemainder (25200%15)*/,
19239  0 /*deltaMinutes*/,
19240  32767 /*untilYear*/,
19241  1 /*untilMonth*/,
19242  1 /*untilDay*/,
19243  0 /*untilTimeCode (0/15)*/,
19244  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19245  },
19246 
19247 };
19248 
19249 static const char kZoneNameAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = "\x05" "Krasnoyarsk";
19250 
19251 const complete::Info::ZoneInfo kZoneAsia_Krasnoyarsk ACE_TIME_PROGMEM = {
19252  kZoneNameAsia_Krasnoyarsk /*name*/,
19253  0xd0376c6a /*zoneId*/,
19254  &kZoneContext /*zoneContext*/,
19255  7 /*numEras*/,
19256  kZoneEraAsia_Krasnoyarsk /*eras*/,
19257  nullptr /*targetInfo*/,
19258 };
19259 
19260 //---------------------------------------------------------------------------
19261 // Zone name: Asia/Kuching
19262 // Eras: 5
19263 //---------------------------------------------------------------------------
19264 
19265 static const complete::Info::ZoneEra kZoneEraAsia_Kuching[] ACE_TIME_PROGMEM = {
19266  // 7:21:20 - LMT 1926 Mar
19267  {
19268  nullptr /*zonePolicy*/,
19269  "LMT" /*format*/,
19270  1765 /*offsetCode (26480/15)*/,
19271  5 /*offsetRemainder (26480%15)*/,
19272  0 /*deltaMinutes*/,
19273  1926 /*untilYear*/,
19274  3 /*untilMonth*/,
19275  1 /*untilDay*/,
19276  0 /*untilTimeCode (0/15)*/,
19277  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19278  },
19279  // 7:30 - %z 1933
19280  {
19281  nullptr /*zonePolicy*/,
19282  "" /*format*/,
19283  1800 /*offsetCode (27000/15)*/,
19284  0 /*offsetRemainder (27000%15)*/,
19285  0 /*deltaMinutes*/,
19286  1933 /*untilYear*/,
19287  1 /*untilMonth*/,
19288  1 /*untilDay*/,
19289  0 /*untilTimeCode (0/15)*/,
19290  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19291  },
19292  // 8:00 NBorneo %z 1942 Feb 16
19293  {
19294  &kZonePolicyNBorneo /*zonePolicy*/,
19295  "" /*format*/,
19296  1920 /*offsetCode (28800/15)*/,
19297  0 /*offsetRemainder (28800%15)*/,
19298  0 /*deltaMinutes*/,
19299  1942 /*untilYear*/,
19300  2 /*untilMonth*/,
19301  16 /*untilDay*/,
19302  0 /*untilTimeCode (0/15)*/,
19303  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19304  },
19305  // 9:00 - %z 1945 Sep 12
19306  {
19307  nullptr /*zonePolicy*/,
19308  "" /*format*/,
19309  2160 /*offsetCode (32400/15)*/,
19310  0 /*offsetRemainder (32400%15)*/,
19311  0 /*deltaMinutes*/,
19312  1945 /*untilYear*/,
19313  9 /*untilMonth*/,
19314  12 /*untilDay*/,
19315  0 /*untilTimeCode (0/15)*/,
19316  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19317  },
19318  // 8:00 - %z
19319  {
19320  nullptr /*zonePolicy*/,
19321  "" /*format*/,
19322  1920 /*offsetCode (28800/15)*/,
19323  0 /*offsetRemainder (28800%15)*/,
19324  0 /*deltaMinutes*/,
19325  32767 /*untilYear*/,
19326  1 /*untilMonth*/,
19327  1 /*untilDay*/,
19328  0 /*untilTimeCode (0/15)*/,
19329  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19330  },
19331 
19332 };
19333 
19334 static const char kZoneNameAsia_Kuching[] ACE_TIME_PROGMEM = "\x05" "Kuching";
19335 
19336 const complete::Info::ZoneInfo kZoneAsia_Kuching ACE_TIME_PROGMEM = {
19337  kZoneNameAsia_Kuching /*name*/,
19338  0x801b003b /*zoneId*/,
19339  &kZoneContext /*zoneContext*/,
19340  5 /*numEras*/,
19341  kZoneEraAsia_Kuching /*eras*/,
19342  nullptr /*targetInfo*/,
19343 };
19344 
19345 //---------------------------------------------------------------------------
19346 // Zone name: Asia/Macau
19347 // Eras: 4
19348 //---------------------------------------------------------------------------
19349 
19350 static const complete::Info::ZoneEra kZoneEraAsia_Macau[] ACE_TIME_PROGMEM = {
19351  // 7:34:10 - LMT 1904 Oct 30
19352  {
19353  nullptr /*zonePolicy*/,
19354  "LMT" /*format*/,
19355  1816 /*offsetCode (27250/15)*/,
19356  10 /*offsetRemainder (27250%15)*/,
19357  0 /*deltaMinutes*/,
19358  1904 /*untilYear*/,
19359  10 /*untilMonth*/,
19360  30 /*untilDay*/,
19361  0 /*untilTimeCode (0/15)*/,
19362  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19363  },
19364  // 8:00 - CST 1941 Dec 21 23:00
19365  {
19366  nullptr /*zonePolicy*/,
19367  "CST" /*format*/,
19368  1920 /*offsetCode (28800/15)*/,
19369  0 /*offsetRemainder (28800%15)*/,
19370  0 /*deltaMinutes*/,
19371  1941 /*untilYear*/,
19372  12 /*untilMonth*/,
19373  21 /*untilDay*/,
19374  5520 /*untilTimeCode (82800/15)*/,
19375  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19376  },
19377  // 9:00 Macau %z 1945 Sep 30 24:00
19378  {
19379  &kZonePolicyMacau /*zonePolicy*/,
19380  "" /*format*/,
19381  2160 /*offsetCode (32400/15)*/,
19382  0 /*offsetRemainder (32400%15)*/,
19383  0 /*deltaMinutes*/,
19384  1945 /*untilYear*/,
19385  9 /*untilMonth*/,
19386  30 /*untilDay*/,
19387  5760 /*untilTimeCode (86400/15)*/,
19388  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19389  },
19390  // 8:00 Macau C%sT
19391  {
19392  &kZonePolicyMacau /*zonePolicy*/,
19393  "C%T" /*format*/,
19394  1920 /*offsetCode (28800/15)*/,
19395  0 /*offsetRemainder (28800%15)*/,
19396  0 /*deltaMinutes*/,
19397  32767 /*untilYear*/,
19398  1 /*untilMonth*/,
19399  1 /*untilDay*/,
19400  0 /*untilTimeCode (0/15)*/,
19401  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19402  },
19403 
19404 };
19405 
19406 static const char kZoneNameAsia_Macau[] ACE_TIME_PROGMEM = "\x05" "Macau";
19407 
19408 const complete::Info::ZoneInfo kZoneAsia_Macau ACE_TIME_PROGMEM = {
19409  kZoneNameAsia_Macau /*name*/,
19410  0x155f88b9 /*zoneId*/,
19411  &kZoneContext /*zoneContext*/,
19412  4 /*numEras*/,
19413  kZoneEraAsia_Macau /*eras*/,
19414  nullptr /*targetInfo*/,
19415 };
19416 
19417 //---------------------------------------------------------------------------
19418 // Zone name: Asia/Magadan
19419 // Eras: 8
19420 //---------------------------------------------------------------------------
19421 
19422 static const complete::Info::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = {
19423  // 10:03:12 - LMT 1924 May 2
19424  {
19425  nullptr /*zonePolicy*/,
19426  "LMT" /*format*/,
19427  2412 /*offsetCode (36192/15)*/,
19428  12 /*offsetRemainder (36192%15)*/,
19429  0 /*deltaMinutes*/,
19430  1924 /*untilYear*/,
19431  5 /*untilMonth*/,
19432  2 /*untilDay*/,
19433  0 /*untilTimeCode (0/15)*/,
19434  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19435  },
19436  // 10:00 - %z 1930 Jun 21
19437  {
19438  nullptr /*zonePolicy*/,
19439  "" /*format*/,
19440  2400 /*offsetCode (36000/15)*/,
19441  0 /*offsetRemainder (36000%15)*/,
19442  0 /*deltaMinutes*/,
19443  1930 /*untilYear*/,
19444  6 /*untilMonth*/,
19445  21 /*untilDay*/,
19446  0 /*untilTimeCode (0/15)*/,
19447  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19448  },
19449  // 11:00 Russia %z 1991 Mar 31 2:00s
19450  {
19451  &kZonePolicyRussia /*zonePolicy*/,
19452  "" /*format*/,
19453  2640 /*offsetCode (39600/15)*/,
19454  0 /*offsetRemainder (39600%15)*/,
19455  0 /*deltaMinutes*/,
19456  1991 /*untilYear*/,
19457  3 /*untilMonth*/,
19458  31 /*untilDay*/,
19459  480 /*untilTimeCode (7200/15)*/,
19460  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19461  },
19462  // 10:00 Russia %z 1992 Jan 19 2:00s
19463  {
19464  &kZonePolicyRussia /*zonePolicy*/,
19465  "" /*format*/,
19466  2400 /*offsetCode (36000/15)*/,
19467  0 /*offsetRemainder (36000%15)*/,
19468  0 /*deltaMinutes*/,
19469  1992 /*untilYear*/,
19470  1 /*untilMonth*/,
19471  19 /*untilDay*/,
19472  480 /*untilTimeCode (7200/15)*/,
19473  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19474  },
19475  // 11:00 Russia %z 2011 Mar 27 2:00s
19476  {
19477  &kZonePolicyRussia /*zonePolicy*/,
19478  "" /*format*/,
19479  2640 /*offsetCode (39600/15)*/,
19480  0 /*offsetRemainder (39600%15)*/,
19481  0 /*deltaMinutes*/,
19482  2011 /*untilYear*/,
19483  3 /*untilMonth*/,
19484  27 /*untilDay*/,
19485  480 /*untilTimeCode (7200/15)*/,
19486  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19487  },
19488  // 12:00 - %z 2014 Oct 26 2:00s
19489  {
19490  nullptr /*zonePolicy*/,
19491  "" /*format*/,
19492  2880 /*offsetCode (43200/15)*/,
19493  0 /*offsetRemainder (43200%15)*/,
19494  0 /*deltaMinutes*/,
19495  2014 /*untilYear*/,
19496  10 /*untilMonth*/,
19497  26 /*untilDay*/,
19498  480 /*untilTimeCode (7200/15)*/,
19499  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19500  },
19501  // 10:00 - %z 2016 Apr 24 2:00s
19502  {
19503  nullptr /*zonePolicy*/,
19504  "" /*format*/,
19505  2400 /*offsetCode (36000/15)*/,
19506  0 /*offsetRemainder (36000%15)*/,
19507  0 /*deltaMinutes*/,
19508  2016 /*untilYear*/,
19509  4 /*untilMonth*/,
19510  24 /*untilDay*/,
19511  480 /*untilTimeCode (7200/15)*/,
19512  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19513  },
19514  // 11:00 - %z
19515  {
19516  nullptr /*zonePolicy*/,
19517  "" /*format*/,
19518  2640 /*offsetCode (39600/15)*/,
19519  0 /*offsetRemainder (39600%15)*/,
19520  0 /*deltaMinutes*/,
19521  32767 /*untilYear*/,
19522  1 /*untilMonth*/,
19523  1 /*untilDay*/,
19524  0 /*untilTimeCode (0/15)*/,
19525  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19526  },
19527 
19528 };
19529 
19530 static const char kZoneNameAsia_Magadan[] ACE_TIME_PROGMEM = "\x05" "Magadan";
19531 
19532 const complete::Info::ZoneInfo kZoneAsia_Magadan ACE_TIME_PROGMEM = {
19533  kZoneNameAsia_Magadan /*name*/,
19534  0xebacc19b /*zoneId*/,
19535  &kZoneContext /*zoneContext*/,
19536  8 /*numEras*/,
19537  kZoneEraAsia_Magadan /*eras*/,
19538  nullptr /*targetInfo*/,
19539 };
19540 
19541 //---------------------------------------------------------------------------
19542 // Zone name: Asia/Makassar
19543 // Eras: 5
19544 //---------------------------------------------------------------------------
19545 
19546 static const complete::Info::ZoneEra kZoneEraAsia_Makassar[] ACE_TIME_PROGMEM = {
19547  // 7:57:36 - LMT 1920
19548  {
19549  nullptr /*zonePolicy*/,
19550  "LMT" /*format*/,
19551  1910 /*offsetCode (28656/15)*/,
19552  6 /*offsetRemainder (28656%15)*/,
19553  0 /*deltaMinutes*/,
19554  1920 /*untilYear*/,
19555  1 /*untilMonth*/,
19556  1 /*untilDay*/,
19557  0 /*untilTimeCode (0/15)*/,
19558  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19559  },
19560  // 7:57:36 - MMT 1932 Nov
19561  {
19562  nullptr /*zonePolicy*/,
19563  "MMT" /*format*/,
19564  1910 /*offsetCode (28656/15)*/,
19565  6 /*offsetRemainder (28656%15)*/,
19566  0 /*deltaMinutes*/,
19567  1932 /*untilYear*/,
19568  11 /*untilMonth*/,
19569  1 /*untilDay*/,
19570  0 /*untilTimeCode (0/15)*/,
19571  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19572  },
19573  // 8:00 - %z 1942 Feb 9
19574  {
19575  nullptr /*zonePolicy*/,
19576  "" /*format*/,
19577  1920 /*offsetCode (28800/15)*/,
19578  0 /*offsetRemainder (28800%15)*/,
19579  0 /*deltaMinutes*/,
19580  1942 /*untilYear*/,
19581  2 /*untilMonth*/,
19582  9 /*untilDay*/,
19583  0 /*untilTimeCode (0/15)*/,
19584  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19585  },
19586  // 9:00 - %z 1945 Sep 23
19587  {
19588  nullptr /*zonePolicy*/,
19589  "" /*format*/,
19590  2160 /*offsetCode (32400/15)*/,
19591  0 /*offsetRemainder (32400%15)*/,
19592  0 /*deltaMinutes*/,
19593  1945 /*untilYear*/,
19594  9 /*untilMonth*/,
19595  23 /*untilDay*/,
19596  0 /*untilTimeCode (0/15)*/,
19597  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19598  },
19599  // 8:00 - WITA
19600  {
19601  nullptr /*zonePolicy*/,
19602  "WITA" /*format*/,
19603  1920 /*offsetCode (28800/15)*/,
19604  0 /*offsetRemainder (28800%15)*/,
19605  0 /*deltaMinutes*/,
19606  32767 /*untilYear*/,
19607  1 /*untilMonth*/,
19608  1 /*untilDay*/,
19609  0 /*untilTimeCode (0/15)*/,
19610  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19611  },
19612 
19613 };
19614 
19615 static const char kZoneNameAsia_Makassar[] ACE_TIME_PROGMEM = "\x05" "Makassar";
19616 
19617 const complete::Info::ZoneInfo kZoneAsia_Makassar ACE_TIME_PROGMEM = {
19618  kZoneNameAsia_Makassar /*name*/,
19619  0x6aa21c85 /*zoneId*/,
19620  &kZoneContext /*zoneContext*/,
19621  5 /*numEras*/,
19622  kZoneEraAsia_Makassar /*eras*/,
19623  nullptr /*targetInfo*/,
19624 };
19625 
19626 //---------------------------------------------------------------------------
19627 // Zone name: Asia/Manila
19628 // Eras: 5
19629 //---------------------------------------------------------------------------
19630 
19631 static const complete::Info::ZoneEra kZoneEraAsia_Manila[] ACE_TIME_PROGMEM = {
19632  // -15:56:08 - LMT 1844 Dec 31
19633  {
19634  nullptr /*zonePolicy*/,
19635  "LMT" /*format*/,
19636  -3825 /*offsetCode (-57368/15)*/,
19637  7 /*offsetRemainder (-57368%15)*/,
19638  0 /*deltaMinutes*/,
19639  1844 /*untilYear*/,
19640  12 /*untilMonth*/,
19641  31 /*untilDay*/,
19642  0 /*untilTimeCode (0/15)*/,
19643  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19644  },
19645  // 8:03:52 - LMT 1899 Sep 6 4:00u
19646  {
19647  nullptr /*zonePolicy*/,
19648  "LMT" /*format*/,
19649  1935 /*offsetCode (29032/15)*/,
19650  7 /*offsetRemainder (29032%15)*/,
19651  0 /*deltaMinutes*/,
19652  1899 /*untilYear*/,
19653  9 /*untilMonth*/,
19654  6 /*untilDay*/,
19655  960 /*untilTimeCode (14400/15)*/,
19656  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
19657  },
19658  // 8:00 Phil P%sT 1942 Feb 11 24:00
19659  {
19660  &kZonePolicyPhil /*zonePolicy*/,
19661  "P%T" /*format*/,
19662  1920 /*offsetCode (28800/15)*/,
19663  0 /*offsetRemainder (28800%15)*/,
19664  0 /*deltaMinutes*/,
19665  1942 /*untilYear*/,
19666  2 /*untilMonth*/,
19667  11 /*untilDay*/,
19668  5760 /*untilTimeCode (86400/15)*/,
19669  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19670  },
19671  // 9:00 - JST 1945 Mar 4
19672  {
19673  nullptr /*zonePolicy*/,
19674  "JST" /*format*/,
19675  2160 /*offsetCode (32400/15)*/,
19676  0 /*offsetRemainder (32400%15)*/,
19677  0 /*deltaMinutes*/,
19678  1945 /*untilYear*/,
19679  3 /*untilMonth*/,
19680  4 /*untilDay*/,
19681  0 /*untilTimeCode (0/15)*/,
19682  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19683  },
19684  // 8:00 Phil P%sT
19685  {
19686  &kZonePolicyPhil /*zonePolicy*/,
19687  "P%T" /*format*/,
19688  1920 /*offsetCode (28800/15)*/,
19689  0 /*offsetRemainder (28800%15)*/,
19690  0 /*deltaMinutes*/,
19691  32767 /*untilYear*/,
19692  1 /*untilMonth*/,
19693  1 /*untilDay*/,
19694  0 /*untilTimeCode (0/15)*/,
19695  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19696  },
19697 
19698 };
19699 
19700 static const char kZoneNameAsia_Manila[] ACE_TIME_PROGMEM = "\x05" "Manila";
19701 
19702 const complete::Info::ZoneInfo kZoneAsia_Manila ACE_TIME_PROGMEM = {
19703  kZoneNameAsia_Manila /*name*/,
19704  0xc156c944 /*zoneId*/,
19705  &kZoneContext /*zoneContext*/,
19706  5 /*numEras*/,
19707  kZoneEraAsia_Manila /*eras*/,
19708  nullptr /*targetInfo*/,
19709 };
19710 
19711 //---------------------------------------------------------------------------
19712 // Zone name: Asia/Nicosia
19713 // Eras: 3
19714 //---------------------------------------------------------------------------
19715 
19716 static const complete::Info::ZoneEra kZoneEraAsia_Nicosia[] ACE_TIME_PROGMEM = {
19717  // 2:13:28 - LMT 1921 Nov 14
19718  {
19719  nullptr /*zonePolicy*/,
19720  "LMT" /*format*/,
19721  533 /*offsetCode (8008/15)*/,
19722  13 /*offsetRemainder (8008%15)*/,
19723  0 /*deltaMinutes*/,
19724  1921 /*untilYear*/,
19725  11 /*untilMonth*/,
19726  14 /*untilDay*/,
19727  0 /*untilTimeCode (0/15)*/,
19728  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19729  },
19730  // 2:00 Cyprus EE%sT 1998 Sep
19731  {
19732  &kZonePolicyCyprus /*zonePolicy*/,
19733  "EE%T" /*format*/,
19734  480 /*offsetCode (7200/15)*/,
19735  0 /*offsetRemainder (7200%15)*/,
19736  0 /*deltaMinutes*/,
19737  1998 /*untilYear*/,
19738  9 /*untilMonth*/,
19739  1 /*untilDay*/,
19740  0 /*untilTimeCode (0/15)*/,
19741  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19742  },
19743  // 2:00 EUAsia EE%sT
19744  {
19745  &kZonePolicyEUAsia /*zonePolicy*/,
19746  "EE%T" /*format*/,
19747  480 /*offsetCode (7200/15)*/,
19748  0 /*offsetRemainder (7200%15)*/,
19749  0 /*deltaMinutes*/,
19750  32767 /*untilYear*/,
19751  1 /*untilMonth*/,
19752  1 /*untilDay*/,
19753  0 /*untilTimeCode (0/15)*/,
19754  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19755  },
19756 
19757 };
19758 
19759 static const char kZoneNameAsia_Nicosia[] ACE_TIME_PROGMEM = "\x05" "Nicosia";
19760 
19761 const complete::Info::ZoneInfo kZoneAsia_Nicosia ACE_TIME_PROGMEM = {
19762  kZoneNameAsia_Nicosia /*name*/,
19763  0x4b0fcf78 /*zoneId*/,
19764  &kZoneContext /*zoneContext*/,
19765  3 /*numEras*/,
19766  kZoneEraAsia_Nicosia /*eras*/,
19767  nullptr /*targetInfo*/,
19768 };
19769 
19770 //---------------------------------------------------------------------------
19771 // Zone name: Asia/Novokuznetsk
19772 // Eras: 7
19773 //---------------------------------------------------------------------------
19774 
19775 static const complete::Info::ZoneEra kZoneEraAsia_Novokuznetsk[] ACE_TIME_PROGMEM = {
19776  // 5:48:48 - LMT 1924 May 1
19777  {
19778  nullptr /*zonePolicy*/,
19779  "LMT" /*format*/,
19780  1395 /*offsetCode (20928/15)*/,
19781  3 /*offsetRemainder (20928%15)*/,
19782  0 /*deltaMinutes*/,
19783  1924 /*untilYear*/,
19784  5 /*untilMonth*/,
19785  1 /*untilDay*/,
19786  0 /*untilTimeCode (0/15)*/,
19787  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19788  },
19789  // 6:00 - %z 1930 Jun 21
19790  {
19791  nullptr /*zonePolicy*/,
19792  "" /*format*/,
19793  1440 /*offsetCode (21600/15)*/,
19794  0 /*offsetRemainder (21600%15)*/,
19795  0 /*deltaMinutes*/,
19796  1930 /*untilYear*/,
19797  6 /*untilMonth*/,
19798  21 /*untilDay*/,
19799  0 /*untilTimeCode (0/15)*/,
19800  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19801  },
19802  // 7:00 Russia %z 1991 Mar 31 2:00s
19803  {
19804  &kZonePolicyRussia /*zonePolicy*/,
19805  "" /*format*/,
19806  1680 /*offsetCode (25200/15)*/,
19807  0 /*offsetRemainder (25200%15)*/,
19808  0 /*deltaMinutes*/,
19809  1991 /*untilYear*/,
19810  3 /*untilMonth*/,
19811  31 /*untilDay*/,
19812  480 /*untilTimeCode (7200/15)*/,
19813  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19814  },
19815  // 6:00 Russia %z 1992 Jan 19 2:00s
19816  {
19817  &kZonePolicyRussia /*zonePolicy*/,
19818  "" /*format*/,
19819  1440 /*offsetCode (21600/15)*/,
19820  0 /*offsetRemainder (21600%15)*/,
19821  0 /*deltaMinutes*/,
19822  1992 /*untilYear*/,
19823  1 /*untilMonth*/,
19824  19 /*untilDay*/,
19825  480 /*untilTimeCode (7200/15)*/,
19826  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19827  },
19828  // 7:00 Russia %z 2010 Mar 28 2:00s
19829  {
19830  &kZonePolicyRussia /*zonePolicy*/,
19831  "" /*format*/,
19832  1680 /*offsetCode (25200/15)*/,
19833  0 /*offsetRemainder (25200%15)*/,
19834  0 /*deltaMinutes*/,
19835  2010 /*untilYear*/,
19836  3 /*untilMonth*/,
19837  28 /*untilDay*/,
19838  480 /*untilTimeCode (7200/15)*/,
19839  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19840  },
19841  // 6:00 Russia %z 2011 Mar 27 2:00s
19842  {
19843  &kZonePolicyRussia /*zonePolicy*/,
19844  "" /*format*/,
19845  1440 /*offsetCode (21600/15)*/,
19846  0 /*offsetRemainder (21600%15)*/,
19847  0 /*deltaMinutes*/,
19848  2011 /*untilYear*/,
19849  3 /*untilMonth*/,
19850  27 /*untilDay*/,
19851  480 /*untilTimeCode (7200/15)*/,
19852  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19853  },
19854  // 7:00 - %z
19855  {
19856  nullptr /*zonePolicy*/,
19857  "" /*format*/,
19858  1680 /*offsetCode (25200/15)*/,
19859  0 /*offsetRemainder (25200%15)*/,
19860  0 /*deltaMinutes*/,
19861  32767 /*untilYear*/,
19862  1 /*untilMonth*/,
19863  1 /*untilDay*/,
19864  0 /*untilTimeCode (0/15)*/,
19865  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19866  },
19867 
19868 };
19869 
19870 static const char kZoneNameAsia_Novokuznetsk[] ACE_TIME_PROGMEM = "\x05" "Novokuznetsk";
19871 
19872 const complete::Info::ZoneInfo kZoneAsia_Novokuznetsk ACE_TIME_PROGMEM = {
19873  kZoneNameAsia_Novokuznetsk /*name*/,
19874  0x69264f93 /*zoneId*/,
19875  &kZoneContext /*zoneContext*/,
19876  7 /*numEras*/,
19877  kZoneEraAsia_Novokuznetsk /*eras*/,
19878  nullptr /*targetInfo*/,
19879 };
19880 
19881 //---------------------------------------------------------------------------
19882 // Zone name: Asia/Novosibirsk
19883 // Eras: 9
19884 //---------------------------------------------------------------------------
19885 
19886 static const complete::Info::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = {
19887  // 5:31:40 - LMT 1919 Dec 14 6:00
19888  {
19889  nullptr /*zonePolicy*/,
19890  "LMT" /*format*/,
19891  1326 /*offsetCode (19900/15)*/,
19892  10 /*offsetRemainder (19900%15)*/,
19893  0 /*deltaMinutes*/,
19894  1919 /*untilYear*/,
19895  12 /*untilMonth*/,
19896  14 /*untilDay*/,
19897  1440 /*untilTimeCode (21600/15)*/,
19898  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19899  },
19900  // 6:00 - %z 1930 Jun 21
19901  {
19902  nullptr /*zonePolicy*/,
19903  "" /*format*/,
19904  1440 /*offsetCode (21600/15)*/,
19905  0 /*offsetRemainder (21600%15)*/,
19906  0 /*deltaMinutes*/,
19907  1930 /*untilYear*/,
19908  6 /*untilMonth*/,
19909  21 /*untilDay*/,
19910  0 /*untilTimeCode (0/15)*/,
19911  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19912  },
19913  // 7:00 Russia %z 1991 Mar 31 2:00s
19914  {
19915  &kZonePolicyRussia /*zonePolicy*/,
19916  "" /*format*/,
19917  1680 /*offsetCode (25200/15)*/,
19918  0 /*offsetRemainder (25200%15)*/,
19919  0 /*deltaMinutes*/,
19920  1991 /*untilYear*/,
19921  3 /*untilMonth*/,
19922  31 /*untilDay*/,
19923  480 /*untilTimeCode (7200/15)*/,
19924  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19925  },
19926  // 6:00 Russia %z 1992 Jan 19 2:00s
19927  {
19928  &kZonePolicyRussia /*zonePolicy*/,
19929  "" /*format*/,
19930  1440 /*offsetCode (21600/15)*/,
19931  0 /*offsetRemainder (21600%15)*/,
19932  0 /*deltaMinutes*/,
19933  1992 /*untilYear*/,
19934  1 /*untilMonth*/,
19935  19 /*untilDay*/,
19936  480 /*untilTimeCode (7200/15)*/,
19937  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19938  },
19939  // 7:00 Russia %z 1993 May 23
19940  {
19941  &kZonePolicyRussia /*zonePolicy*/,
19942  "" /*format*/,
19943  1680 /*offsetCode (25200/15)*/,
19944  0 /*offsetRemainder (25200%15)*/,
19945  0 /*deltaMinutes*/,
19946  1993 /*untilYear*/,
19947  5 /*untilMonth*/,
19948  23 /*untilDay*/,
19949  0 /*untilTimeCode (0/15)*/,
19950  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19951  },
19952  // 6:00 Russia %z 2011 Mar 27 2:00s
19953  {
19954  &kZonePolicyRussia /*zonePolicy*/,
19955  "" /*format*/,
19956  1440 /*offsetCode (21600/15)*/,
19957  0 /*offsetRemainder (21600%15)*/,
19958  0 /*deltaMinutes*/,
19959  2011 /*untilYear*/,
19960  3 /*untilMonth*/,
19961  27 /*untilDay*/,
19962  480 /*untilTimeCode (7200/15)*/,
19963  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19964  },
19965  // 7:00 - %z 2014 Oct 26 2:00s
19966  {
19967  nullptr /*zonePolicy*/,
19968  "" /*format*/,
19969  1680 /*offsetCode (25200/15)*/,
19970  0 /*offsetRemainder (25200%15)*/,
19971  0 /*deltaMinutes*/,
19972  2014 /*untilYear*/,
19973  10 /*untilMonth*/,
19974  26 /*untilDay*/,
19975  480 /*untilTimeCode (7200/15)*/,
19976  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19977  },
19978  // 6:00 - %z 2016 Jul 24 2:00s
19979  {
19980  nullptr /*zonePolicy*/,
19981  "" /*format*/,
19982  1440 /*offsetCode (21600/15)*/,
19983  0 /*offsetRemainder (21600%15)*/,
19984  0 /*deltaMinutes*/,
19985  2016 /*untilYear*/,
19986  7 /*untilMonth*/,
19987  24 /*untilDay*/,
19988  480 /*untilTimeCode (7200/15)*/,
19989  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19990  },
19991  // 7:00 - %z
19992  {
19993  nullptr /*zonePolicy*/,
19994  "" /*format*/,
19995  1680 /*offsetCode (25200/15)*/,
19996  0 /*offsetRemainder (25200%15)*/,
19997  0 /*deltaMinutes*/,
19998  32767 /*untilYear*/,
19999  1 /*untilMonth*/,
20000  1 /*untilDay*/,
20001  0 /*untilTimeCode (0/15)*/,
20002  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20003  },
20004 
20005 };
20006 
20007 static const char kZoneNameAsia_Novosibirsk[] ACE_TIME_PROGMEM = "\x05" "Novosibirsk";
20008 
20009 const complete::Info::ZoneInfo kZoneAsia_Novosibirsk ACE_TIME_PROGMEM = {
20010  kZoneNameAsia_Novosibirsk /*name*/,
20011  0xa2a435cb /*zoneId*/,
20012  &kZoneContext /*zoneContext*/,
20013  9 /*numEras*/,
20014  kZoneEraAsia_Novosibirsk /*eras*/,
20015  nullptr /*targetInfo*/,
20016 };
20017 
20018 //---------------------------------------------------------------------------
20019 // Zone name: Asia/Omsk
20020 // Eras: 7
20021 //---------------------------------------------------------------------------
20022 
20023 static const complete::Info::ZoneEra kZoneEraAsia_Omsk[] ACE_TIME_PROGMEM = {
20024  // 4:53:30 - LMT 1919 Nov 14
20025  {
20026  nullptr /*zonePolicy*/,
20027  "LMT" /*format*/,
20028  1174 /*offsetCode (17610/15)*/,
20029  0 /*offsetRemainder (17610%15)*/,
20030  0 /*deltaMinutes*/,
20031  1919 /*untilYear*/,
20032  11 /*untilMonth*/,
20033  14 /*untilDay*/,
20034  0 /*untilTimeCode (0/15)*/,
20035  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20036  },
20037  // 5:00 - %z 1930 Jun 21
20038  {
20039  nullptr /*zonePolicy*/,
20040  "" /*format*/,
20041  1200 /*offsetCode (18000/15)*/,
20042  0 /*offsetRemainder (18000%15)*/,
20043  0 /*deltaMinutes*/,
20044  1930 /*untilYear*/,
20045  6 /*untilMonth*/,
20046  21 /*untilDay*/,
20047  0 /*untilTimeCode (0/15)*/,
20048  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20049  },
20050  // 6:00 Russia %z 1991 Mar 31 2:00s
20051  {
20052  &kZonePolicyRussia /*zonePolicy*/,
20053  "" /*format*/,
20054  1440 /*offsetCode (21600/15)*/,
20055  0 /*offsetRemainder (21600%15)*/,
20056  0 /*deltaMinutes*/,
20057  1991 /*untilYear*/,
20058  3 /*untilMonth*/,
20059  31 /*untilDay*/,
20060  480 /*untilTimeCode (7200/15)*/,
20061  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20062  },
20063  // 5:00 Russia %z 1992 Jan 19 2:00s
20064  {
20065  &kZonePolicyRussia /*zonePolicy*/,
20066  "" /*format*/,
20067  1200 /*offsetCode (18000/15)*/,
20068  0 /*offsetRemainder (18000%15)*/,
20069  0 /*deltaMinutes*/,
20070  1992 /*untilYear*/,
20071  1 /*untilMonth*/,
20072  19 /*untilDay*/,
20073  480 /*untilTimeCode (7200/15)*/,
20074  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20075  },
20076  // 6:00 Russia %z 2011 Mar 27 2:00s
20077  {
20078  &kZonePolicyRussia /*zonePolicy*/,
20079  "" /*format*/,
20080  1440 /*offsetCode (21600/15)*/,
20081  0 /*offsetRemainder (21600%15)*/,
20082  0 /*deltaMinutes*/,
20083  2011 /*untilYear*/,
20084  3 /*untilMonth*/,
20085  27 /*untilDay*/,
20086  480 /*untilTimeCode (7200/15)*/,
20087  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20088  },
20089  // 7:00 - %z 2014 Oct 26 2:00s
20090  {
20091  nullptr /*zonePolicy*/,
20092  "" /*format*/,
20093  1680 /*offsetCode (25200/15)*/,
20094  0 /*offsetRemainder (25200%15)*/,
20095  0 /*deltaMinutes*/,
20096  2014 /*untilYear*/,
20097  10 /*untilMonth*/,
20098  26 /*untilDay*/,
20099  480 /*untilTimeCode (7200/15)*/,
20100  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20101  },
20102  // 6:00 - %z
20103  {
20104  nullptr /*zonePolicy*/,
20105  "" /*format*/,
20106  1440 /*offsetCode (21600/15)*/,
20107  0 /*offsetRemainder (21600%15)*/,
20108  0 /*deltaMinutes*/,
20109  32767 /*untilYear*/,
20110  1 /*untilMonth*/,
20111  1 /*untilDay*/,
20112  0 /*untilTimeCode (0/15)*/,
20113  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20114  },
20115 
20116 };
20117 
20118 static const char kZoneNameAsia_Omsk[] ACE_TIME_PROGMEM = "\x05" "Omsk";
20119 
20120 const complete::Info::ZoneInfo kZoneAsia_Omsk ACE_TIME_PROGMEM = {
20121  kZoneNameAsia_Omsk /*name*/,
20122  0x1faeddac /*zoneId*/,
20123  &kZoneContext /*zoneContext*/,
20124  7 /*numEras*/,
20125  kZoneEraAsia_Omsk /*eras*/,
20126  nullptr /*targetInfo*/,
20127 };
20128 
20129 //---------------------------------------------------------------------------
20130 // Zone name: Asia/Oral
20131 // Eras: 10
20132 //---------------------------------------------------------------------------
20133 
20134 static const complete::Info::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = {
20135  // 3:25:24 - LMT 1924 May 2
20136  {
20137  nullptr /*zonePolicy*/,
20138  "LMT" /*format*/,
20139  821 /*offsetCode (12324/15)*/,
20140  9 /*offsetRemainder (12324%15)*/,
20141  0 /*deltaMinutes*/,
20142  1924 /*untilYear*/,
20143  5 /*untilMonth*/,
20144  2 /*untilDay*/,
20145  0 /*untilTimeCode (0/15)*/,
20146  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20147  },
20148  // 3:00 - %z 1930 Jun 21
20149  {
20150  nullptr /*zonePolicy*/,
20151  "" /*format*/,
20152  720 /*offsetCode (10800/15)*/,
20153  0 /*offsetRemainder (10800%15)*/,
20154  0 /*deltaMinutes*/,
20155  1930 /*untilYear*/,
20156  6 /*untilMonth*/,
20157  21 /*untilDay*/,
20158  0 /*untilTimeCode (0/15)*/,
20159  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20160  },
20161  // 5:00 - %z 1981 Apr 1
20162  {
20163  nullptr /*zonePolicy*/,
20164  "" /*format*/,
20165  1200 /*offsetCode (18000/15)*/,
20166  0 /*offsetRemainder (18000%15)*/,
20167  0 /*deltaMinutes*/,
20168  1981 /*untilYear*/,
20169  4 /*untilMonth*/,
20170  1 /*untilDay*/,
20171  0 /*untilTimeCode (0/15)*/,
20172  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20173  },
20174  // 5:00 1:00 %z 1981 Oct 1
20175  {
20176  nullptr /*zonePolicy*/,
20177  "" /*format*/,
20178  1200 /*offsetCode (18000/15)*/,
20179  0 /*offsetRemainder (18000%15)*/,
20180  60 /*deltaMinutes*/,
20181  1981 /*untilYear*/,
20182  10 /*untilMonth*/,
20183  1 /*untilDay*/,
20184  0 /*untilTimeCode (0/15)*/,
20185  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20186  },
20187  // 6:00 - %z 1982 Apr 1
20188  {
20189  nullptr /*zonePolicy*/,
20190  "" /*format*/,
20191  1440 /*offsetCode (21600/15)*/,
20192  0 /*offsetRemainder (21600%15)*/,
20193  0 /*deltaMinutes*/,
20194  1982 /*untilYear*/,
20195  4 /*untilMonth*/,
20196  1 /*untilDay*/,
20197  0 /*untilTimeCode (0/15)*/,
20198  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20199  },
20200  // 5:00 RussiaAsia %z 1989 Mar 26 2:00s
20201  {
20202  &kZonePolicyRussiaAsia /*zonePolicy*/,
20203  "" /*format*/,
20204  1200 /*offsetCode (18000/15)*/,
20205  0 /*offsetRemainder (18000%15)*/,
20206  0 /*deltaMinutes*/,
20207  1989 /*untilYear*/,
20208  3 /*untilMonth*/,
20209  26 /*untilDay*/,
20210  480 /*untilTimeCode (7200/15)*/,
20211  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20212  },
20213  // 4:00 RussiaAsia %z 1992 Jan 19 2:00s
20214  {
20215  &kZonePolicyRussiaAsia /*zonePolicy*/,
20216  "" /*format*/,
20217  960 /*offsetCode (14400/15)*/,
20218  0 /*offsetRemainder (14400%15)*/,
20219  0 /*deltaMinutes*/,
20220  1992 /*untilYear*/,
20221  1 /*untilMonth*/,
20222  19 /*untilDay*/,
20223  480 /*untilTimeCode (7200/15)*/,
20224  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20225  },
20226  // 5:00 RussiaAsia %z 1992 Mar 29 2:00s
20227  {
20228  &kZonePolicyRussiaAsia /*zonePolicy*/,
20229  "" /*format*/,
20230  1200 /*offsetCode (18000/15)*/,
20231  0 /*offsetRemainder (18000%15)*/,
20232  0 /*deltaMinutes*/,
20233  1992 /*untilYear*/,
20234  3 /*untilMonth*/,
20235  29 /*untilDay*/,
20236  480 /*untilTimeCode (7200/15)*/,
20237  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20238  },
20239  // 4:00 RussiaAsia %z 2004 Oct 31 2:00s
20240  {
20241  &kZonePolicyRussiaAsia /*zonePolicy*/,
20242  "" /*format*/,
20243  960 /*offsetCode (14400/15)*/,
20244  0 /*offsetRemainder (14400%15)*/,
20245  0 /*deltaMinutes*/,
20246  2004 /*untilYear*/,
20247  10 /*untilMonth*/,
20248  31 /*untilDay*/,
20249  480 /*untilTimeCode (7200/15)*/,
20250  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20251  },
20252  // 5:00 - %z
20253  {
20254  nullptr /*zonePolicy*/,
20255  "" /*format*/,
20256  1200 /*offsetCode (18000/15)*/,
20257  0 /*offsetRemainder (18000%15)*/,
20258  0 /*deltaMinutes*/,
20259  32767 /*untilYear*/,
20260  1 /*untilMonth*/,
20261  1 /*untilDay*/,
20262  0 /*untilTimeCode (0/15)*/,
20263  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20264  },
20265 
20266 };
20267 
20268 static const char kZoneNameAsia_Oral[] ACE_TIME_PROGMEM = "\x05" "Oral";
20269 
20270 const complete::Info::ZoneInfo kZoneAsia_Oral ACE_TIME_PROGMEM = {
20271  kZoneNameAsia_Oral /*name*/,
20272  0x1faef0a0 /*zoneId*/,
20273  &kZoneContext /*zoneContext*/,
20274  10 /*numEras*/,
20275  kZoneEraAsia_Oral /*eras*/,
20276  nullptr /*targetInfo*/,
20277 };
20278 
20279 //---------------------------------------------------------------------------
20280 // Zone name: Asia/Pontianak
20281 // Eras: 9
20282 //---------------------------------------------------------------------------
20283 
20284 static const complete::Info::ZoneEra kZoneEraAsia_Pontianak[] ACE_TIME_PROGMEM = {
20285  // 7:17:20 - LMT 1908 May
20286  {
20287  nullptr /*zonePolicy*/,
20288  "LMT" /*format*/,
20289  1749 /*offsetCode (26240/15)*/,
20290  5 /*offsetRemainder (26240%15)*/,
20291  0 /*deltaMinutes*/,
20292  1908 /*untilYear*/,
20293  5 /*untilMonth*/,
20294  1 /*untilDay*/,
20295  0 /*untilTimeCode (0/15)*/,
20296  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20297  },
20298  // 7:17:20 - PMT 1932 Nov
20299  {
20300  nullptr /*zonePolicy*/,
20301  "PMT" /*format*/,
20302  1749 /*offsetCode (26240/15)*/,
20303  5 /*offsetRemainder (26240%15)*/,
20304  0 /*deltaMinutes*/,
20305  1932 /*untilYear*/,
20306  11 /*untilMonth*/,
20307  1 /*untilDay*/,
20308  0 /*untilTimeCode (0/15)*/,
20309  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20310  },
20311  // 7:30 - %z 1942 Jan 29
20312  {
20313  nullptr /*zonePolicy*/,
20314  "" /*format*/,
20315  1800 /*offsetCode (27000/15)*/,
20316  0 /*offsetRemainder (27000%15)*/,
20317  0 /*deltaMinutes*/,
20318  1942 /*untilYear*/,
20319  1 /*untilMonth*/,
20320  29 /*untilDay*/,
20321  0 /*untilTimeCode (0/15)*/,
20322  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20323  },
20324  // 9:00 - %z 1945 Sep 23
20325  {
20326  nullptr /*zonePolicy*/,
20327  "" /*format*/,
20328  2160 /*offsetCode (32400/15)*/,
20329  0 /*offsetRemainder (32400%15)*/,
20330  0 /*deltaMinutes*/,
20331  1945 /*untilYear*/,
20332  9 /*untilMonth*/,
20333  23 /*untilDay*/,
20334  0 /*untilTimeCode (0/15)*/,
20335  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20336  },
20337  // 7:30 - %z 1948 May
20338  {
20339  nullptr /*zonePolicy*/,
20340  "" /*format*/,
20341  1800 /*offsetCode (27000/15)*/,
20342  0 /*offsetRemainder (27000%15)*/,
20343  0 /*deltaMinutes*/,
20344  1948 /*untilYear*/,
20345  5 /*untilMonth*/,
20346  1 /*untilDay*/,
20347  0 /*untilTimeCode (0/15)*/,
20348  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20349  },
20350  // 8:00 - %z 1950 May
20351  {
20352  nullptr /*zonePolicy*/,
20353  "" /*format*/,
20354  1920 /*offsetCode (28800/15)*/,
20355  0 /*offsetRemainder (28800%15)*/,
20356  0 /*deltaMinutes*/,
20357  1950 /*untilYear*/,
20358  5 /*untilMonth*/,
20359  1 /*untilDay*/,
20360  0 /*untilTimeCode (0/15)*/,
20361  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20362  },
20363  // 7:30 - %z 1964
20364  {
20365  nullptr /*zonePolicy*/,
20366  "" /*format*/,
20367  1800 /*offsetCode (27000/15)*/,
20368  0 /*offsetRemainder (27000%15)*/,
20369  0 /*deltaMinutes*/,
20370  1964 /*untilYear*/,
20371  1 /*untilMonth*/,
20372  1 /*untilDay*/,
20373  0 /*untilTimeCode (0/15)*/,
20374  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20375  },
20376  // 8:00 - WITA 1988 Jan 1
20377  {
20378  nullptr /*zonePolicy*/,
20379  "WITA" /*format*/,
20380  1920 /*offsetCode (28800/15)*/,
20381  0 /*offsetRemainder (28800%15)*/,
20382  0 /*deltaMinutes*/,
20383  1988 /*untilYear*/,
20384  1 /*untilMonth*/,
20385  1 /*untilDay*/,
20386  0 /*untilTimeCode (0/15)*/,
20387  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20388  },
20389  // 7:00 - WIB
20390  {
20391  nullptr /*zonePolicy*/,
20392  "WIB" /*format*/,
20393  1680 /*offsetCode (25200/15)*/,
20394  0 /*offsetRemainder (25200%15)*/,
20395  0 /*deltaMinutes*/,
20396  32767 /*untilYear*/,
20397  1 /*untilMonth*/,
20398  1 /*untilDay*/,
20399  0 /*untilTimeCode (0/15)*/,
20400  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20401  },
20402 
20403 };
20404 
20405 static const char kZoneNameAsia_Pontianak[] ACE_TIME_PROGMEM = "\x05" "Pontianak";
20406 
20407 const complete::Info::ZoneInfo kZoneAsia_Pontianak ACE_TIME_PROGMEM = {
20408  kZoneNameAsia_Pontianak /*name*/,
20409  0x1a76c057 /*zoneId*/,
20410  &kZoneContext /*zoneContext*/,
20411  9 /*numEras*/,
20412  kZoneEraAsia_Pontianak /*eras*/,
20413  nullptr /*targetInfo*/,
20414 };
20415 
20416 //---------------------------------------------------------------------------
20417 // Zone name: Asia/Pyongyang
20418 // Eras: 6
20419 //---------------------------------------------------------------------------
20420 
20421 static const complete::Info::ZoneEra kZoneEraAsia_Pyongyang[] ACE_TIME_PROGMEM = {
20422  // 8:23:00 - LMT 1908 Apr 1
20423  {
20424  nullptr /*zonePolicy*/,
20425  "LMT" /*format*/,
20426  2012 /*offsetCode (30180/15)*/,
20427  0 /*offsetRemainder (30180%15)*/,
20428  0 /*deltaMinutes*/,
20429  1908 /*untilYear*/,
20430  4 /*untilMonth*/,
20431  1 /*untilDay*/,
20432  0 /*untilTimeCode (0/15)*/,
20433  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20434  },
20435  // 8:30 - KST 1912 Jan 1
20436  {
20437  nullptr /*zonePolicy*/,
20438  "KST" /*format*/,
20439  2040 /*offsetCode (30600/15)*/,
20440  0 /*offsetRemainder (30600%15)*/,
20441  0 /*deltaMinutes*/,
20442  1912 /*untilYear*/,
20443  1 /*untilMonth*/,
20444  1 /*untilDay*/,
20445  0 /*untilTimeCode (0/15)*/,
20446  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20447  },
20448  // 9:00 - JST 1945 Aug 24
20449  {
20450  nullptr /*zonePolicy*/,
20451  "JST" /*format*/,
20452  2160 /*offsetCode (32400/15)*/,
20453  0 /*offsetRemainder (32400%15)*/,
20454  0 /*deltaMinutes*/,
20455  1945 /*untilYear*/,
20456  8 /*untilMonth*/,
20457  24 /*untilDay*/,
20458  0 /*untilTimeCode (0/15)*/,
20459  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20460  },
20461  // 9:00 - KST 2015 Aug 15 00:00
20462  {
20463  nullptr /*zonePolicy*/,
20464  "KST" /*format*/,
20465  2160 /*offsetCode (32400/15)*/,
20466  0 /*offsetRemainder (32400%15)*/,
20467  0 /*deltaMinutes*/,
20468  2015 /*untilYear*/,
20469  8 /*untilMonth*/,
20470  15 /*untilDay*/,
20471  0 /*untilTimeCode (0/15)*/,
20472  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20473  },
20474  // 8:30 - KST 2018 May 4 23:30
20475  {
20476  nullptr /*zonePolicy*/,
20477  "KST" /*format*/,
20478  2040 /*offsetCode (30600/15)*/,
20479  0 /*offsetRemainder (30600%15)*/,
20480  0 /*deltaMinutes*/,
20481  2018 /*untilYear*/,
20482  5 /*untilMonth*/,
20483  4 /*untilDay*/,
20484  5640 /*untilTimeCode (84600/15)*/,
20485  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20486  },
20487  // 9:00 - KST
20488  {
20489  nullptr /*zonePolicy*/,
20490  "KST" /*format*/,
20491  2160 /*offsetCode (32400/15)*/,
20492  0 /*offsetRemainder (32400%15)*/,
20493  0 /*deltaMinutes*/,
20494  32767 /*untilYear*/,
20495  1 /*untilMonth*/,
20496  1 /*untilDay*/,
20497  0 /*untilTimeCode (0/15)*/,
20498  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20499  },
20500 
20501 };
20502 
20503 static const char kZoneNameAsia_Pyongyang[] ACE_TIME_PROGMEM = "\x05" "Pyongyang";
20504 
20505 const complete::Info::ZoneInfo kZoneAsia_Pyongyang ACE_TIME_PROGMEM = {
20506  kZoneNameAsia_Pyongyang /*name*/,
20507  0x93ed1c8e /*zoneId*/,
20508  &kZoneContext /*zoneContext*/,
20509  6 /*numEras*/,
20510  kZoneEraAsia_Pyongyang /*eras*/,
20511  nullptr /*targetInfo*/,
20512 };
20513 
20514 //---------------------------------------------------------------------------
20515 // Zone name: Asia/Qatar
20516 // Eras: 3
20517 //---------------------------------------------------------------------------
20518 
20519 static const complete::Info::ZoneEra kZoneEraAsia_Qatar[] ACE_TIME_PROGMEM = {
20520  // 3:26:08 - LMT 1920
20521  {
20522  nullptr /*zonePolicy*/,
20523  "LMT" /*format*/,
20524  824 /*offsetCode (12368/15)*/,
20525  8 /*offsetRemainder (12368%15)*/,
20526  0 /*deltaMinutes*/,
20527  1920 /*untilYear*/,
20528  1 /*untilMonth*/,
20529  1 /*untilDay*/,
20530  0 /*untilTimeCode (0/15)*/,
20531  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20532  },
20533  // 4:00 - %z 1972 Jun
20534  {
20535  nullptr /*zonePolicy*/,
20536  "" /*format*/,
20537  960 /*offsetCode (14400/15)*/,
20538  0 /*offsetRemainder (14400%15)*/,
20539  0 /*deltaMinutes*/,
20540  1972 /*untilYear*/,
20541  6 /*untilMonth*/,
20542  1 /*untilDay*/,
20543  0 /*untilTimeCode (0/15)*/,
20544  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20545  },
20546  // 3:00 - %z
20547  {
20548  nullptr /*zonePolicy*/,
20549  "" /*format*/,
20550  720 /*offsetCode (10800/15)*/,
20551  0 /*offsetRemainder (10800%15)*/,
20552  0 /*deltaMinutes*/,
20553  32767 /*untilYear*/,
20554  1 /*untilMonth*/,
20555  1 /*untilDay*/,
20556  0 /*untilTimeCode (0/15)*/,
20557  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20558  },
20559 
20560 };
20561 
20562 static const char kZoneNameAsia_Qatar[] ACE_TIME_PROGMEM = "\x05" "Qatar";
20563 
20564 const complete::Info::ZoneInfo kZoneAsia_Qatar ACE_TIME_PROGMEM = {
20565  kZoneNameAsia_Qatar /*name*/,
20566  0x15a8330b /*zoneId*/,
20567  &kZoneContext /*zoneContext*/,
20568  3 /*numEras*/,
20569  kZoneEraAsia_Qatar /*eras*/,
20570  nullptr /*targetInfo*/,
20571 };
20572 
20573 //---------------------------------------------------------------------------
20574 // Zone name: Asia/Qostanay
20575 // Eras: 10
20576 //---------------------------------------------------------------------------
20577 
20578 static const complete::Info::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = {
20579  // 4:14:28 - LMT 1924 May 2
20580  {
20581  nullptr /*zonePolicy*/,
20582  "LMT" /*format*/,
20583  1017 /*offsetCode (15268/15)*/,
20584  13 /*offsetRemainder (15268%15)*/,
20585  0 /*deltaMinutes*/,
20586  1924 /*untilYear*/,
20587  5 /*untilMonth*/,
20588  2 /*untilDay*/,
20589  0 /*untilTimeCode (0/15)*/,
20590  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20591  },
20592  // 4:00 - %z 1930 Jun 21
20593  {
20594  nullptr /*zonePolicy*/,
20595  "" /*format*/,
20596  960 /*offsetCode (14400/15)*/,
20597  0 /*offsetRemainder (14400%15)*/,
20598  0 /*deltaMinutes*/,
20599  1930 /*untilYear*/,
20600  6 /*untilMonth*/,
20601  21 /*untilDay*/,
20602  0 /*untilTimeCode (0/15)*/,
20603  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20604  },
20605  // 5:00 - %z 1981 Apr 1
20606  {
20607  nullptr /*zonePolicy*/,
20608  "" /*format*/,
20609  1200 /*offsetCode (18000/15)*/,
20610  0 /*offsetRemainder (18000%15)*/,
20611  0 /*deltaMinutes*/,
20612  1981 /*untilYear*/,
20613  4 /*untilMonth*/,
20614  1 /*untilDay*/,
20615  0 /*untilTimeCode (0/15)*/,
20616  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20617  },
20618  // 5:00 1:00 %z 1981 Oct 1
20619  {
20620  nullptr /*zonePolicy*/,
20621  "" /*format*/,
20622  1200 /*offsetCode (18000/15)*/,
20623  0 /*offsetRemainder (18000%15)*/,
20624  60 /*deltaMinutes*/,
20625  1981 /*untilYear*/,
20626  10 /*untilMonth*/,
20627  1 /*untilDay*/,
20628  0 /*untilTimeCode (0/15)*/,
20629  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20630  },
20631  // 6:00 - %z 1982 Apr 1
20632  {
20633  nullptr /*zonePolicy*/,
20634  "" /*format*/,
20635  1440 /*offsetCode (21600/15)*/,
20636  0 /*offsetRemainder (21600%15)*/,
20637  0 /*deltaMinutes*/,
20638  1982 /*untilYear*/,
20639  4 /*untilMonth*/,
20640  1 /*untilDay*/,
20641  0 /*untilTimeCode (0/15)*/,
20642  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20643  },
20644  // 5:00 RussiaAsia %z 1991 Mar 31 2:00s
20645  {
20646  &kZonePolicyRussiaAsia /*zonePolicy*/,
20647  "" /*format*/,
20648  1200 /*offsetCode (18000/15)*/,
20649  0 /*offsetRemainder (18000%15)*/,
20650  0 /*deltaMinutes*/,
20651  1991 /*untilYear*/,
20652  3 /*untilMonth*/,
20653  31 /*untilDay*/,
20654  480 /*untilTimeCode (7200/15)*/,
20655  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20656  },
20657  // 4:00 RussiaAsia %z 1992 Jan 19 2:00s
20658  {
20659  &kZonePolicyRussiaAsia /*zonePolicy*/,
20660  "" /*format*/,
20661  960 /*offsetCode (14400/15)*/,
20662  0 /*offsetRemainder (14400%15)*/,
20663  0 /*deltaMinutes*/,
20664  1992 /*untilYear*/,
20665  1 /*untilMonth*/,
20666  19 /*untilDay*/,
20667  480 /*untilTimeCode (7200/15)*/,
20668  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20669  },
20670  // 5:00 RussiaAsia %z 2004 Oct 31 2:00s
20671  {
20672  &kZonePolicyRussiaAsia /*zonePolicy*/,
20673  "" /*format*/,
20674  1200 /*offsetCode (18000/15)*/,
20675  0 /*offsetRemainder (18000%15)*/,
20676  0 /*deltaMinutes*/,
20677  2004 /*untilYear*/,
20678  10 /*untilMonth*/,
20679  31 /*untilDay*/,
20680  480 /*untilTimeCode (7200/15)*/,
20681  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20682  },
20683  // 6:00 - %z 2024 Mar 1 0:00
20684  {
20685  nullptr /*zonePolicy*/,
20686  "" /*format*/,
20687  1440 /*offsetCode (21600/15)*/,
20688  0 /*offsetRemainder (21600%15)*/,
20689  0 /*deltaMinutes*/,
20690  2024 /*untilYear*/,
20691  3 /*untilMonth*/,
20692  1 /*untilDay*/,
20693  0 /*untilTimeCode (0/15)*/,
20694  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20695  },
20696  // 5:00 - %z
20697  {
20698  nullptr /*zonePolicy*/,
20699  "" /*format*/,
20700  1200 /*offsetCode (18000/15)*/,
20701  0 /*offsetRemainder (18000%15)*/,
20702  0 /*deltaMinutes*/,
20703  32767 /*untilYear*/,
20704  1 /*untilMonth*/,
20705  1 /*untilDay*/,
20706  0 /*untilTimeCode (0/15)*/,
20707  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20708  },
20709 
20710 };
20711 
20712 static const char kZoneNameAsia_Qostanay[] ACE_TIME_PROGMEM = "\x05" "Qostanay";
20713 
20714 const complete::Info::ZoneInfo kZoneAsia_Qostanay ACE_TIME_PROGMEM = {
20715  kZoneNameAsia_Qostanay /*name*/,
20716  0x654fe522 /*zoneId*/,
20717  &kZoneContext /*zoneContext*/,
20718  10 /*numEras*/,
20719  kZoneEraAsia_Qostanay /*eras*/,
20720  nullptr /*targetInfo*/,
20721 };
20722 
20723 //---------------------------------------------------------------------------
20724 // Zone name: Asia/Qyzylorda
20725 // Eras: 12
20726 //---------------------------------------------------------------------------
20727 
20728 static const complete::Info::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = {
20729  // 4:21:52 - LMT 1924 May 2
20730  {
20731  nullptr /*zonePolicy*/,
20732  "LMT" /*format*/,
20733  1047 /*offsetCode (15712/15)*/,
20734  7 /*offsetRemainder (15712%15)*/,
20735  0 /*deltaMinutes*/,
20736  1924 /*untilYear*/,
20737  5 /*untilMonth*/,
20738  2 /*untilDay*/,
20739  0 /*untilTimeCode (0/15)*/,
20740  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20741  },
20742  // 4:00 - %z 1930 Jun 21
20743  {
20744  nullptr /*zonePolicy*/,
20745  "" /*format*/,
20746  960 /*offsetCode (14400/15)*/,
20747  0 /*offsetRemainder (14400%15)*/,
20748  0 /*deltaMinutes*/,
20749  1930 /*untilYear*/,
20750  6 /*untilMonth*/,
20751  21 /*untilDay*/,
20752  0 /*untilTimeCode (0/15)*/,
20753  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20754  },
20755  // 5:00 - %z 1981 Apr 1
20756  {
20757  nullptr /*zonePolicy*/,
20758  "" /*format*/,
20759  1200 /*offsetCode (18000/15)*/,
20760  0 /*offsetRemainder (18000%15)*/,
20761  0 /*deltaMinutes*/,
20762  1981 /*untilYear*/,
20763  4 /*untilMonth*/,
20764  1 /*untilDay*/,
20765  0 /*untilTimeCode (0/15)*/,
20766  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20767  },
20768  // 5:00 1:00 %z 1981 Oct 1
20769  {
20770  nullptr /*zonePolicy*/,
20771  "" /*format*/,
20772  1200 /*offsetCode (18000/15)*/,
20773  0 /*offsetRemainder (18000%15)*/,
20774  60 /*deltaMinutes*/,
20775  1981 /*untilYear*/,
20776  10 /*untilMonth*/,
20777  1 /*untilDay*/,
20778  0 /*untilTimeCode (0/15)*/,
20779  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20780  },
20781  // 6:00 - %z 1982 Apr 1
20782  {
20783  nullptr /*zonePolicy*/,
20784  "" /*format*/,
20785  1440 /*offsetCode (21600/15)*/,
20786  0 /*offsetRemainder (21600%15)*/,
20787  0 /*deltaMinutes*/,
20788  1982 /*untilYear*/,
20789  4 /*untilMonth*/,
20790  1 /*untilDay*/,
20791  0 /*untilTimeCode (0/15)*/,
20792  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20793  },
20794  // 5:00 RussiaAsia %z 1991 Mar 31 2:00s
20795  {
20796  &kZonePolicyRussiaAsia /*zonePolicy*/,
20797  "" /*format*/,
20798  1200 /*offsetCode (18000/15)*/,
20799  0 /*offsetRemainder (18000%15)*/,
20800  0 /*deltaMinutes*/,
20801  1991 /*untilYear*/,
20802  3 /*untilMonth*/,
20803  31 /*untilDay*/,
20804  480 /*untilTimeCode (7200/15)*/,
20805  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20806  },
20807  // 4:00 RussiaAsia %z 1991 Sep 29 2:00s
20808  {
20809  &kZonePolicyRussiaAsia /*zonePolicy*/,
20810  "" /*format*/,
20811  960 /*offsetCode (14400/15)*/,
20812  0 /*offsetRemainder (14400%15)*/,
20813  0 /*deltaMinutes*/,
20814  1991 /*untilYear*/,
20815  9 /*untilMonth*/,
20816  29 /*untilDay*/,
20817  480 /*untilTimeCode (7200/15)*/,
20818  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20819  },
20820  // 5:00 RussiaAsia %z 1992 Jan 19 2:00s
20821  {
20822  &kZonePolicyRussiaAsia /*zonePolicy*/,
20823  "" /*format*/,
20824  1200 /*offsetCode (18000/15)*/,
20825  0 /*offsetRemainder (18000%15)*/,
20826  0 /*deltaMinutes*/,
20827  1992 /*untilYear*/,
20828  1 /*untilMonth*/,
20829  19 /*untilDay*/,
20830  480 /*untilTimeCode (7200/15)*/,
20831  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20832  },
20833  // 6:00 RussiaAsia %z 1992 Mar 29 2:00s
20834  {
20835  &kZonePolicyRussiaAsia /*zonePolicy*/,
20836  "" /*format*/,
20837  1440 /*offsetCode (21600/15)*/,
20838  0 /*offsetRemainder (21600%15)*/,
20839  0 /*deltaMinutes*/,
20840  1992 /*untilYear*/,
20841  3 /*untilMonth*/,
20842  29 /*untilDay*/,
20843  480 /*untilTimeCode (7200/15)*/,
20844  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20845  },
20846  // 5:00 RussiaAsia %z 2004 Oct 31 2:00s
20847  {
20848  &kZonePolicyRussiaAsia /*zonePolicy*/,
20849  "" /*format*/,
20850  1200 /*offsetCode (18000/15)*/,
20851  0 /*offsetRemainder (18000%15)*/,
20852  0 /*deltaMinutes*/,
20853  2004 /*untilYear*/,
20854  10 /*untilMonth*/,
20855  31 /*untilDay*/,
20856  480 /*untilTimeCode (7200/15)*/,
20857  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20858  },
20859  // 6:00 - %z 2018 Dec 21 0:00
20860  {
20861  nullptr /*zonePolicy*/,
20862  "" /*format*/,
20863  1440 /*offsetCode (21600/15)*/,
20864  0 /*offsetRemainder (21600%15)*/,
20865  0 /*deltaMinutes*/,
20866  2018 /*untilYear*/,
20867  12 /*untilMonth*/,
20868  21 /*untilDay*/,
20869  0 /*untilTimeCode (0/15)*/,
20870  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20871  },
20872  // 5:00 - %z
20873  {
20874  nullptr /*zonePolicy*/,
20875  "" /*format*/,
20876  1200 /*offsetCode (18000/15)*/,
20877  0 /*offsetRemainder (18000%15)*/,
20878  0 /*deltaMinutes*/,
20879  32767 /*untilYear*/,
20880  1 /*untilMonth*/,
20881  1 /*untilDay*/,
20882  0 /*untilTimeCode (0/15)*/,
20883  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20884  },
20885 
20886 };
20887 
20888 static const char kZoneNameAsia_Qyzylorda[] ACE_TIME_PROGMEM = "\x05" "Qyzylorda";
20889 
20890 const complete::Info::ZoneInfo kZoneAsia_Qyzylorda ACE_TIME_PROGMEM = {
20891  kZoneNameAsia_Qyzylorda /*name*/,
20892  0x71282e81 /*zoneId*/,
20893  &kZoneContext /*zoneContext*/,
20894  12 /*numEras*/,
20895  kZoneEraAsia_Qyzylorda /*eras*/,
20896  nullptr /*targetInfo*/,
20897 };
20898 
20899 //---------------------------------------------------------------------------
20900 // Zone name: Asia/Riyadh
20901 // Eras: 2
20902 //---------------------------------------------------------------------------
20903 
20904 static const complete::Info::ZoneEra kZoneEraAsia_Riyadh[] ACE_TIME_PROGMEM = {
20905  // 3:06:52 - LMT 1947 Mar 14
20906  {
20907  nullptr /*zonePolicy*/,
20908  "LMT" /*format*/,
20909  747 /*offsetCode (11212/15)*/,
20910  7 /*offsetRemainder (11212%15)*/,
20911  0 /*deltaMinutes*/,
20912  1947 /*untilYear*/,
20913  3 /*untilMonth*/,
20914  14 /*untilDay*/,
20915  0 /*untilTimeCode (0/15)*/,
20916  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20917  },
20918  // 3:00 - %z
20919  {
20920  nullptr /*zonePolicy*/,
20921  "" /*format*/,
20922  720 /*offsetCode (10800/15)*/,
20923  0 /*offsetRemainder (10800%15)*/,
20924  0 /*deltaMinutes*/,
20925  32767 /*untilYear*/,
20926  1 /*untilMonth*/,
20927  1 /*untilDay*/,
20928  0 /*untilTimeCode (0/15)*/,
20929  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20930  },
20931 
20932 };
20933 
20934 static const char kZoneNameAsia_Riyadh[] ACE_TIME_PROGMEM = "\x05" "Riyadh";
20935 
20936 const complete::Info::ZoneInfo kZoneAsia_Riyadh ACE_TIME_PROGMEM = {
20937  kZoneNameAsia_Riyadh /*name*/,
20938  0xcd973d93 /*zoneId*/,
20939  &kZoneContext /*zoneContext*/,
20940  2 /*numEras*/,
20941  kZoneEraAsia_Riyadh /*eras*/,
20942  nullptr /*targetInfo*/,
20943 };
20944 
20945 //---------------------------------------------------------------------------
20946 // Zone name: Asia/Sakhalin
20947 // Eras: 9
20948 //---------------------------------------------------------------------------
20949 
20950 static const complete::Info::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = {
20951  // 9:30:48 - LMT 1905 Aug 23
20952  {
20953  nullptr /*zonePolicy*/,
20954  "LMT" /*format*/,
20955  2283 /*offsetCode (34248/15)*/,
20956  3 /*offsetRemainder (34248%15)*/,
20957  0 /*deltaMinutes*/,
20958  1905 /*untilYear*/,
20959  8 /*untilMonth*/,
20960  23 /*untilDay*/,
20961  0 /*untilTimeCode (0/15)*/,
20962  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20963  },
20964  // 9:00 - %z 1945 Aug 25
20965  {
20966  nullptr /*zonePolicy*/,
20967  "" /*format*/,
20968  2160 /*offsetCode (32400/15)*/,
20969  0 /*offsetRemainder (32400%15)*/,
20970  0 /*deltaMinutes*/,
20971  1945 /*untilYear*/,
20972  8 /*untilMonth*/,
20973  25 /*untilDay*/,
20974  0 /*untilTimeCode (0/15)*/,
20975  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20976  },
20977  // 11:00 Russia %z 1991 Mar 31 2:00s
20978  {
20979  &kZonePolicyRussia /*zonePolicy*/,
20980  "" /*format*/,
20981  2640 /*offsetCode (39600/15)*/,
20982  0 /*offsetRemainder (39600%15)*/,
20983  0 /*deltaMinutes*/,
20984  1991 /*untilYear*/,
20985  3 /*untilMonth*/,
20986  31 /*untilDay*/,
20987  480 /*untilTimeCode (7200/15)*/,
20988  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20989  },
20990  // 10:00 Russia %z 1992 Jan 19 2:00s
20991  {
20992  &kZonePolicyRussia /*zonePolicy*/,
20993  "" /*format*/,
20994  2400 /*offsetCode (36000/15)*/,
20995  0 /*offsetRemainder (36000%15)*/,
20996  0 /*deltaMinutes*/,
20997  1992 /*untilYear*/,
20998  1 /*untilMonth*/,
20999  19 /*untilDay*/,
21000  480 /*untilTimeCode (7200/15)*/,
21001  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21002  },
21003  // 11:00 Russia %z 1997 Mar lastSun 2:00s
21004  {
21005  &kZonePolicyRussia /*zonePolicy*/,
21006  "" /*format*/,
21007  2640 /*offsetCode (39600/15)*/,
21008  0 /*offsetRemainder (39600%15)*/,
21009  0 /*deltaMinutes*/,
21010  1997 /*untilYear*/,
21011  3 /*untilMonth*/,
21012  30 /*untilDay*/,
21013  480 /*untilTimeCode (7200/15)*/,
21014  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21015  },
21016  // 10:00 Russia %z 2011 Mar 27 2:00s
21017  {
21018  &kZonePolicyRussia /*zonePolicy*/,
21019  "" /*format*/,
21020  2400 /*offsetCode (36000/15)*/,
21021  0 /*offsetRemainder (36000%15)*/,
21022  0 /*deltaMinutes*/,
21023  2011 /*untilYear*/,
21024  3 /*untilMonth*/,
21025  27 /*untilDay*/,
21026  480 /*untilTimeCode (7200/15)*/,
21027  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21028  },
21029  // 11:00 - %z 2014 Oct 26 2:00s
21030  {
21031  nullptr /*zonePolicy*/,
21032  "" /*format*/,
21033  2640 /*offsetCode (39600/15)*/,
21034  0 /*offsetRemainder (39600%15)*/,
21035  0 /*deltaMinutes*/,
21036  2014 /*untilYear*/,
21037  10 /*untilMonth*/,
21038  26 /*untilDay*/,
21039  480 /*untilTimeCode (7200/15)*/,
21040  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21041  },
21042  // 10:00 - %z 2016 Mar 27 2:00s
21043  {
21044  nullptr /*zonePolicy*/,
21045  "" /*format*/,
21046  2400 /*offsetCode (36000/15)*/,
21047  0 /*offsetRemainder (36000%15)*/,
21048  0 /*deltaMinutes*/,
21049  2016 /*untilYear*/,
21050  3 /*untilMonth*/,
21051  27 /*untilDay*/,
21052  480 /*untilTimeCode (7200/15)*/,
21053  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21054  },
21055  // 11:00 - %z
21056  {
21057  nullptr /*zonePolicy*/,
21058  "" /*format*/,
21059  2640 /*offsetCode (39600/15)*/,
21060  0 /*offsetRemainder (39600%15)*/,
21061  0 /*deltaMinutes*/,
21062  32767 /*untilYear*/,
21063  1 /*untilMonth*/,
21064  1 /*untilDay*/,
21065  0 /*untilTimeCode (0/15)*/,
21066  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21067  },
21068 
21069 };
21070 
21071 static const char kZoneNameAsia_Sakhalin[] ACE_TIME_PROGMEM = "\x05" "Sakhalin";
21072 
21073 const complete::Info::ZoneInfo kZoneAsia_Sakhalin ACE_TIME_PROGMEM = {
21074  kZoneNameAsia_Sakhalin /*name*/,
21075  0xf4a1c9bd /*zoneId*/,
21076  &kZoneContext /*zoneContext*/,
21077  9 /*numEras*/,
21078  kZoneEraAsia_Sakhalin /*eras*/,
21079  nullptr /*targetInfo*/,
21080 };
21081 
21082 //---------------------------------------------------------------------------
21083 // Zone name: Asia/Samarkand
21084 // Eras: 7
21085 //---------------------------------------------------------------------------
21086 
21087 static const complete::Info::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = {
21088  // 4:27:53 - LMT 1924 May 2
21089  {
21090  nullptr /*zonePolicy*/,
21091  "LMT" /*format*/,
21092  1071 /*offsetCode (16073/15)*/,
21093  8 /*offsetRemainder (16073%15)*/,
21094  0 /*deltaMinutes*/,
21095  1924 /*untilYear*/,
21096  5 /*untilMonth*/,
21097  2 /*untilDay*/,
21098  0 /*untilTimeCode (0/15)*/,
21099  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21100  },
21101  // 4:00 - %z 1930 Jun 21
21102  {
21103  nullptr /*zonePolicy*/,
21104  "" /*format*/,
21105  960 /*offsetCode (14400/15)*/,
21106  0 /*offsetRemainder (14400%15)*/,
21107  0 /*deltaMinutes*/,
21108  1930 /*untilYear*/,
21109  6 /*untilMonth*/,
21110  21 /*untilDay*/,
21111  0 /*untilTimeCode (0/15)*/,
21112  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21113  },
21114  // 5:00 - %z 1981 Apr 1
21115  {
21116  nullptr /*zonePolicy*/,
21117  "" /*format*/,
21118  1200 /*offsetCode (18000/15)*/,
21119  0 /*offsetRemainder (18000%15)*/,
21120  0 /*deltaMinutes*/,
21121  1981 /*untilYear*/,
21122  4 /*untilMonth*/,
21123  1 /*untilDay*/,
21124  0 /*untilTimeCode (0/15)*/,
21125  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21126  },
21127  // 5:00 1:00 %z 1981 Oct 1
21128  {
21129  nullptr /*zonePolicy*/,
21130  "" /*format*/,
21131  1200 /*offsetCode (18000/15)*/,
21132  0 /*offsetRemainder (18000%15)*/,
21133  60 /*deltaMinutes*/,
21134  1981 /*untilYear*/,
21135  10 /*untilMonth*/,
21136  1 /*untilDay*/,
21137  0 /*untilTimeCode (0/15)*/,
21138  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21139  },
21140  // 6:00 - %z 1982 Apr 1
21141  {
21142  nullptr /*zonePolicy*/,
21143  "" /*format*/,
21144  1440 /*offsetCode (21600/15)*/,
21145  0 /*offsetRemainder (21600%15)*/,
21146  0 /*deltaMinutes*/,
21147  1982 /*untilYear*/,
21148  4 /*untilMonth*/,
21149  1 /*untilDay*/,
21150  0 /*untilTimeCode (0/15)*/,
21151  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21152  },
21153  // 5:00 RussiaAsia %z 1992
21154  {
21155  &kZonePolicyRussiaAsia /*zonePolicy*/,
21156  "" /*format*/,
21157  1200 /*offsetCode (18000/15)*/,
21158  0 /*offsetRemainder (18000%15)*/,
21159  0 /*deltaMinutes*/,
21160  1992 /*untilYear*/,
21161  1 /*untilMonth*/,
21162  1 /*untilDay*/,
21163  0 /*untilTimeCode (0/15)*/,
21164  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21165  },
21166  // 5:00 - %z
21167  {
21168  nullptr /*zonePolicy*/,
21169  "" /*format*/,
21170  1200 /*offsetCode (18000/15)*/,
21171  0 /*offsetRemainder (18000%15)*/,
21172  0 /*deltaMinutes*/,
21173  32767 /*untilYear*/,
21174  1 /*untilMonth*/,
21175  1 /*untilDay*/,
21176  0 /*untilTimeCode (0/15)*/,
21177  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21178  },
21179 
21180 };
21181 
21182 static const char kZoneNameAsia_Samarkand[] ACE_TIME_PROGMEM = "\x05" "Samarkand";
21183 
21184 const complete::Info::ZoneInfo kZoneAsia_Samarkand ACE_TIME_PROGMEM = {
21185  kZoneNameAsia_Samarkand /*name*/,
21186  0x13ae5104 /*zoneId*/,
21187  &kZoneContext /*zoneContext*/,
21188  7 /*numEras*/,
21189  kZoneEraAsia_Samarkand /*eras*/,
21190  nullptr /*targetInfo*/,
21191 };
21192 
21193 //---------------------------------------------------------------------------
21194 // Zone name: Asia/Seoul
21195 // Eras: 6
21196 //---------------------------------------------------------------------------
21197 
21198 static const complete::Info::ZoneEra kZoneEraAsia_Seoul[] ACE_TIME_PROGMEM = {
21199  // 8:27:52 - LMT 1908 Apr 1
21200  {
21201  nullptr /*zonePolicy*/,
21202  "LMT" /*format*/,
21203  2031 /*offsetCode (30472/15)*/,
21204  7 /*offsetRemainder (30472%15)*/,
21205  0 /*deltaMinutes*/,
21206  1908 /*untilYear*/,
21207  4 /*untilMonth*/,
21208  1 /*untilDay*/,
21209  0 /*untilTimeCode (0/15)*/,
21210  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21211  },
21212  // 8:30 - KST 1912 Jan 1
21213  {
21214  nullptr /*zonePolicy*/,
21215  "KST" /*format*/,
21216  2040 /*offsetCode (30600/15)*/,
21217  0 /*offsetRemainder (30600%15)*/,
21218  0 /*deltaMinutes*/,
21219  1912 /*untilYear*/,
21220  1 /*untilMonth*/,
21221  1 /*untilDay*/,
21222  0 /*untilTimeCode (0/15)*/,
21223  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21224  },
21225  // 9:00 - JST 1945 Sep 8
21226  {
21227  nullptr /*zonePolicy*/,
21228  "JST" /*format*/,
21229  2160 /*offsetCode (32400/15)*/,
21230  0 /*offsetRemainder (32400%15)*/,
21231  0 /*deltaMinutes*/,
21232  1945 /*untilYear*/,
21233  9 /*untilMonth*/,
21234  8 /*untilDay*/,
21235  0 /*untilTimeCode (0/15)*/,
21236  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21237  },
21238  // 9:00 ROK K%sT 1954 Mar 21
21239  {
21240  &kZonePolicyROK /*zonePolicy*/,
21241  "K%T" /*format*/,
21242  2160 /*offsetCode (32400/15)*/,
21243  0 /*offsetRemainder (32400%15)*/,
21244  0 /*deltaMinutes*/,
21245  1954 /*untilYear*/,
21246  3 /*untilMonth*/,
21247  21 /*untilDay*/,
21248  0 /*untilTimeCode (0/15)*/,
21249  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21250  },
21251  // 8:30 ROK K%sT 1961 Aug 10
21252  {
21253  &kZonePolicyROK /*zonePolicy*/,
21254  "K%T" /*format*/,
21255  2040 /*offsetCode (30600/15)*/,
21256  0 /*offsetRemainder (30600%15)*/,
21257  0 /*deltaMinutes*/,
21258  1961 /*untilYear*/,
21259  8 /*untilMonth*/,
21260  10 /*untilDay*/,
21261  0 /*untilTimeCode (0/15)*/,
21262  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21263  },
21264  // 9:00 ROK K%sT
21265  {
21266  &kZonePolicyROK /*zonePolicy*/,
21267  "K%T" /*format*/,
21268  2160 /*offsetCode (32400/15)*/,
21269  0 /*offsetRemainder (32400%15)*/,
21270  0 /*deltaMinutes*/,
21271  32767 /*untilYear*/,
21272  1 /*untilMonth*/,
21273  1 /*untilDay*/,
21274  0 /*untilTimeCode (0/15)*/,
21275  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21276  },
21277 
21278 };
21279 
21280 static const char kZoneNameAsia_Seoul[] ACE_TIME_PROGMEM = "\x05" "Seoul";
21281 
21282 const complete::Info::ZoneInfo kZoneAsia_Seoul ACE_TIME_PROGMEM = {
21283  kZoneNameAsia_Seoul /*name*/,
21284  0x15ce82da /*zoneId*/,
21285  &kZoneContext /*zoneContext*/,
21286  6 /*numEras*/,
21287  kZoneEraAsia_Seoul /*eras*/,
21288  nullptr /*targetInfo*/,
21289 };
21290 
21291 //---------------------------------------------------------------------------
21292 // Zone name: Asia/Shanghai
21293 // Eras: 3
21294 //---------------------------------------------------------------------------
21295 
21296 static const complete::Info::ZoneEra kZoneEraAsia_Shanghai[] ACE_TIME_PROGMEM = {
21297  // 8:05:43 - LMT 1901
21298  {
21299  nullptr /*zonePolicy*/,
21300  "LMT" /*format*/,
21301  1942 /*offsetCode (29143/15)*/,
21302  13 /*offsetRemainder (29143%15)*/,
21303  0 /*deltaMinutes*/,
21304  1901 /*untilYear*/,
21305  1 /*untilMonth*/,
21306  1 /*untilDay*/,
21307  0 /*untilTimeCode (0/15)*/,
21308  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21309  },
21310  // 8:00 Shang C%sT 1949 May 28
21311  {
21312  &kZonePolicyShang /*zonePolicy*/,
21313  "C%T" /*format*/,
21314  1920 /*offsetCode (28800/15)*/,
21315  0 /*offsetRemainder (28800%15)*/,
21316  0 /*deltaMinutes*/,
21317  1949 /*untilYear*/,
21318  5 /*untilMonth*/,
21319  28 /*untilDay*/,
21320  0 /*untilTimeCode (0/15)*/,
21321  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21322  },
21323  // 8:00 PRC C%sT
21324  {
21325  &kZonePolicyPRC /*zonePolicy*/,
21326  "C%T" /*format*/,
21327  1920 /*offsetCode (28800/15)*/,
21328  0 /*offsetRemainder (28800%15)*/,
21329  0 /*deltaMinutes*/,
21330  32767 /*untilYear*/,
21331  1 /*untilMonth*/,
21332  1 /*untilDay*/,
21333  0 /*untilTimeCode (0/15)*/,
21334  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21335  },
21336 
21337 };
21338 
21339 static const char kZoneNameAsia_Shanghai[] ACE_TIME_PROGMEM = "\x05" "Shanghai";
21340 
21341 const complete::Info::ZoneInfo kZoneAsia_Shanghai ACE_TIME_PROGMEM = {
21342  kZoneNameAsia_Shanghai /*name*/,
21343  0xf895a7f5 /*zoneId*/,
21344  &kZoneContext /*zoneContext*/,
21345  3 /*numEras*/,
21346  kZoneEraAsia_Shanghai /*eras*/,
21347  nullptr /*targetInfo*/,
21348 };
21349 
21350 //---------------------------------------------------------------------------
21351 // Zone name: Asia/Singapore
21352 // Eras: 9
21353 //---------------------------------------------------------------------------
21354 
21355 static const complete::Info::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = {
21356  // 6:55:25 - LMT 1901 Jan 1
21357  {
21358  nullptr /*zonePolicy*/,
21359  "LMT" /*format*/,
21360  1661 /*offsetCode (24925/15)*/,
21361  10 /*offsetRemainder (24925%15)*/,
21362  0 /*deltaMinutes*/,
21363  1901 /*untilYear*/,
21364  1 /*untilMonth*/,
21365  1 /*untilDay*/,
21366  0 /*untilTimeCode (0/15)*/,
21367  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21368  },
21369  // 6:55:25 - SMT 1905 Jun 1
21370  {
21371  nullptr /*zonePolicy*/,
21372  "SMT" /*format*/,
21373  1661 /*offsetCode (24925/15)*/,
21374  10 /*offsetRemainder (24925%15)*/,
21375  0 /*deltaMinutes*/,
21376  1905 /*untilYear*/,
21377  6 /*untilMonth*/,
21378  1 /*untilDay*/,
21379  0 /*untilTimeCode (0/15)*/,
21380  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21381  },
21382  // 7:00 - %z 1933 Jan 1
21383  {
21384  nullptr /*zonePolicy*/,
21385  "" /*format*/,
21386  1680 /*offsetCode (25200/15)*/,
21387  0 /*offsetRemainder (25200%15)*/,
21388  0 /*deltaMinutes*/,
21389  1933 /*untilYear*/,
21390  1 /*untilMonth*/,
21391  1 /*untilDay*/,
21392  0 /*untilTimeCode (0/15)*/,
21393  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21394  },
21395  // 7:00 0:20 %z 1936 Jan 1
21396  {
21397  nullptr /*zonePolicy*/,
21398  "" /*format*/,
21399  1680 /*offsetCode (25200/15)*/,
21400  0 /*offsetRemainder (25200%15)*/,
21401  20 /*deltaMinutes*/,
21402  1936 /*untilYear*/,
21403  1 /*untilMonth*/,
21404  1 /*untilDay*/,
21405  0 /*untilTimeCode (0/15)*/,
21406  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21407  },
21408  // 7:20 - %z 1941 Sep 1
21409  {
21410  nullptr /*zonePolicy*/,
21411  "" /*format*/,
21412  1760 /*offsetCode (26400/15)*/,
21413  0 /*offsetRemainder (26400%15)*/,
21414  0 /*deltaMinutes*/,
21415  1941 /*untilYear*/,
21416  9 /*untilMonth*/,
21417  1 /*untilDay*/,
21418  0 /*untilTimeCode (0/15)*/,
21419  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21420  },
21421  // 7:30 - %z 1942 Feb 16
21422  {
21423  nullptr /*zonePolicy*/,
21424  "" /*format*/,
21425  1800 /*offsetCode (27000/15)*/,
21426  0 /*offsetRemainder (27000%15)*/,
21427  0 /*deltaMinutes*/,
21428  1942 /*untilYear*/,
21429  2 /*untilMonth*/,
21430  16 /*untilDay*/,
21431  0 /*untilTimeCode (0/15)*/,
21432  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21433  },
21434  // 9:00 - %z 1945 Sep 12
21435  {
21436  nullptr /*zonePolicy*/,
21437  "" /*format*/,
21438  2160 /*offsetCode (32400/15)*/,
21439  0 /*offsetRemainder (32400%15)*/,
21440  0 /*deltaMinutes*/,
21441  1945 /*untilYear*/,
21442  9 /*untilMonth*/,
21443  12 /*untilDay*/,
21444  0 /*untilTimeCode (0/15)*/,
21445  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21446  },
21447  // 7:30 - %z 1981 Dec 31 16:00u
21448  {
21449  nullptr /*zonePolicy*/,
21450  "" /*format*/,
21451  1800 /*offsetCode (27000/15)*/,
21452  0 /*offsetRemainder (27000%15)*/,
21453  0 /*deltaMinutes*/,
21454  1981 /*untilYear*/,
21455  12 /*untilMonth*/,
21456  31 /*untilDay*/,
21457  3840 /*untilTimeCode (57600/15)*/,
21458  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
21459  },
21460  // 8:00 - %z
21461  {
21462  nullptr /*zonePolicy*/,
21463  "" /*format*/,
21464  1920 /*offsetCode (28800/15)*/,
21465  0 /*offsetRemainder (28800%15)*/,
21466  0 /*deltaMinutes*/,
21467  32767 /*untilYear*/,
21468  1 /*untilMonth*/,
21469  1 /*untilDay*/,
21470  0 /*untilTimeCode (0/15)*/,
21471  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21472  },
21473 
21474 };
21475 
21476 static const char kZoneNameAsia_Singapore[] ACE_TIME_PROGMEM = "\x05" "Singapore";
21477 
21478 const complete::Info::ZoneInfo kZoneAsia_Singapore ACE_TIME_PROGMEM = {
21479  kZoneNameAsia_Singapore /*name*/,
21480  0xcf8581fa /*zoneId*/,
21481  &kZoneContext /*zoneContext*/,
21482  9 /*numEras*/,
21483  kZoneEraAsia_Singapore /*eras*/,
21484  nullptr /*targetInfo*/,
21485 };
21486 
21487 //---------------------------------------------------------------------------
21488 // Zone name: Asia/Srednekolymsk
21489 // Eras: 7
21490 //---------------------------------------------------------------------------
21491 
21492 static const complete::Info::ZoneEra kZoneEraAsia_Srednekolymsk[] ACE_TIME_PROGMEM = {
21493  // 10:14:52 - LMT 1924 May 2
21494  {
21495  nullptr /*zonePolicy*/,
21496  "LMT" /*format*/,
21497  2459 /*offsetCode (36892/15)*/,
21498  7 /*offsetRemainder (36892%15)*/,
21499  0 /*deltaMinutes*/,
21500  1924 /*untilYear*/,
21501  5 /*untilMonth*/,
21502  2 /*untilDay*/,
21503  0 /*untilTimeCode (0/15)*/,
21504  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21505  },
21506  // 10:00 - %z 1930 Jun 21
21507  {
21508  nullptr /*zonePolicy*/,
21509  "" /*format*/,
21510  2400 /*offsetCode (36000/15)*/,
21511  0 /*offsetRemainder (36000%15)*/,
21512  0 /*deltaMinutes*/,
21513  1930 /*untilYear*/,
21514  6 /*untilMonth*/,
21515  21 /*untilDay*/,
21516  0 /*untilTimeCode (0/15)*/,
21517  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21518  },
21519  // 11:00 Russia %z 1991 Mar 31 2:00s
21520  {
21521  &kZonePolicyRussia /*zonePolicy*/,
21522  "" /*format*/,
21523  2640 /*offsetCode (39600/15)*/,
21524  0 /*offsetRemainder (39600%15)*/,
21525  0 /*deltaMinutes*/,
21526  1991 /*untilYear*/,
21527  3 /*untilMonth*/,
21528  31 /*untilDay*/,
21529  480 /*untilTimeCode (7200/15)*/,
21530  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21531  },
21532  // 10:00 Russia %z 1992 Jan 19 2:00s
21533  {
21534  &kZonePolicyRussia /*zonePolicy*/,
21535  "" /*format*/,
21536  2400 /*offsetCode (36000/15)*/,
21537  0 /*offsetRemainder (36000%15)*/,
21538  0 /*deltaMinutes*/,
21539  1992 /*untilYear*/,
21540  1 /*untilMonth*/,
21541  19 /*untilDay*/,
21542  480 /*untilTimeCode (7200/15)*/,
21543  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21544  },
21545  // 11:00 Russia %z 2011 Mar 27 2:00s
21546  {
21547  &kZonePolicyRussia /*zonePolicy*/,
21548  "" /*format*/,
21549  2640 /*offsetCode (39600/15)*/,
21550  0 /*offsetRemainder (39600%15)*/,
21551  0 /*deltaMinutes*/,
21552  2011 /*untilYear*/,
21553  3 /*untilMonth*/,
21554  27 /*untilDay*/,
21555  480 /*untilTimeCode (7200/15)*/,
21556  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21557  },
21558  // 12:00 - %z 2014 Oct 26 2:00s
21559  {
21560  nullptr /*zonePolicy*/,
21561  "" /*format*/,
21562  2880 /*offsetCode (43200/15)*/,
21563  0 /*offsetRemainder (43200%15)*/,
21564  0 /*deltaMinutes*/,
21565  2014 /*untilYear*/,
21566  10 /*untilMonth*/,
21567  26 /*untilDay*/,
21568  480 /*untilTimeCode (7200/15)*/,
21569  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21570  },
21571  // 11:00 - %z
21572  {
21573  nullptr /*zonePolicy*/,
21574  "" /*format*/,
21575  2640 /*offsetCode (39600/15)*/,
21576  0 /*offsetRemainder (39600%15)*/,
21577  0 /*deltaMinutes*/,
21578  32767 /*untilYear*/,
21579  1 /*untilMonth*/,
21580  1 /*untilDay*/,
21581  0 /*untilTimeCode (0/15)*/,
21582  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21583  },
21584 
21585 };
21586 
21587 static const char kZoneNameAsia_Srednekolymsk[] ACE_TIME_PROGMEM = "\x05" "Srednekolymsk";
21588 
21589 const complete::Info::ZoneInfo kZoneAsia_Srednekolymsk ACE_TIME_PROGMEM = {
21590  kZoneNameAsia_Srednekolymsk /*name*/,
21591  0xbf8e337d /*zoneId*/,
21592  &kZoneContext /*zoneContext*/,
21593  7 /*numEras*/,
21594  kZoneEraAsia_Srednekolymsk /*eras*/,
21595  nullptr /*targetInfo*/,
21596 };
21597 
21598 //---------------------------------------------------------------------------
21599 // Zone name: Asia/Taipei
21600 // Eras: 4
21601 //---------------------------------------------------------------------------
21602 
21603 static const complete::Info::ZoneEra kZoneEraAsia_Taipei[] ACE_TIME_PROGMEM = {
21604  // 8:06:00 - LMT 1896 Jan 1
21605  {
21606  nullptr /*zonePolicy*/,
21607  "LMT" /*format*/,
21608  1944 /*offsetCode (29160/15)*/,
21609  0 /*offsetRemainder (29160%15)*/,
21610  0 /*deltaMinutes*/,
21611  1896 /*untilYear*/,
21612  1 /*untilMonth*/,
21613  1 /*untilDay*/,
21614  0 /*untilTimeCode (0/15)*/,
21615  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21616  },
21617  // 8:00 - CST 1937 Oct 1
21618  {
21619  nullptr /*zonePolicy*/,
21620  "CST" /*format*/,
21621  1920 /*offsetCode (28800/15)*/,
21622  0 /*offsetRemainder (28800%15)*/,
21623  0 /*deltaMinutes*/,
21624  1937 /*untilYear*/,
21625  10 /*untilMonth*/,
21626  1 /*untilDay*/,
21627  0 /*untilTimeCode (0/15)*/,
21628  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21629  },
21630  // 9:00 - JST 1945 Sep 21 1:00
21631  {
21632  nullptr /*zonePolicy*/,
21633  "JST" /*format*/,
21634  2160 /*offsetCode (32400/15)*/,
21635  0 /*offsetRemainder (32400%15)*/,
21636  0 /*deltaMinutes*/,
21637  1945 /*untilYear*/,
21638  9 /*untilMonth*/,
21639  21 /*untilDay*/,
21640  240 /*untilTimeCode (3600/15)*/,
21641  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21642  },
21643  // 8:00 Taiwan C%sT
21644  {
21645  &kZonePolicyTaiwan /*zonePolicy*/,
21646  "C%T" /*format*/,
21647  1920 /*offsetCode (28800/15)*/,
21648  0 /*offsetRemainder (28800%15)*/,
21649  0 /*deltaMinutes*/,
21650  32767 /*untilYear*/,
21651  1 /*untilMonth*/,
21652  1 /*untilDay*/,
21653  0 /*untilTimeCode (0/15)*/,
21654  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21655  },
21656 
21657 };
21658 
21659 static const char kZoneNameAsia_Taipei[] ACE_TIME_PROGMEM = "\x05" "Taipei";
21660 
21661 const complete::Info::ZoneInfo kZoneAsia_Taipei ACE_TIME_PROGMEM = {
21662  kZoneNameAsia_Taipei /*name*/,
21663  0xd1a844ae /*zoneId*/,
21664  &kZoneContext /*zoneContext*/,
21665  4 /*numEras*/,
21666  kZoneEraAsia_Taipei /*eras*/,
21667  nullptr /*targetInfo*/,
21668 };
21669 
21670 //---------------------------------------------------------------------------
21671 // Zone name: Asia/Tashkent
21672 // Eras: 5
21673 //---------------------------------------------------------------------------
21674 
21675 static const complete::Info::ZoneEra kZoneEraAsia_Tashkent[] ACE_TIME_PROGMEM = {
21676  // 4:37:11 - LMT 1924 May 2
21677  {
21678  nullptr /*zonePolicy*/,
21679  "LMT" /*format*/,
21680  1108 /*offsetCode (16631/15)*/,
21681  11 /*offsetRemainder (16631%15)*/,
21682  0 /*deltaMinutes*/,
21683  1924 /*untilYear*/,
21684  5 /*untilMonth*/,
21685  2 /*untilDay*/,
21686  0 /*untilTimeCode (0/15)*/,
21687  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21688  },
21689  // 5:00 - %z 1930 Jun 21
21690  {
21691  nullptr /*zonePolicy*/,
21692  "" /*format*/,
21693  1200 /*offsetCode (18000/15)*/,
21694  0 /*offsetRemainder (18000%15)*/,
21695  0 /*deltaMinutes*/,
21696  1930 /*untilYear*/,
21697  6 /*untilMonth*/,
21698  21 /*untilDay*/,
21699  0 /*untilTimeCode (0/15)*/,
21700  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21701  },
21702  // 6:00 RussiaAsia %z 1991 Mar 31 2:00
21703  {
21704  &kZonePolicyRussiaAsia /*zonePolicy*/,
21705  "" /*format*/,
21706  1440 /*offsetCode (21600/15)*/,
21707  0 /*offsetRemainder (21600%15)*/,
21708  0 /*deltaMinutes*/,
21709  1991 /*untilYear*/,
21710  3 /*untilMonth*/,
21711  31 /*untilDay*/,
21712  480 /*untilTimeCode (7200/15)*/,
21713  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21714  },
21715  // 5:00 RussiaAsia %z 1992
21716  {
21717  &kZonePolicyRussiaAsia /*zonePolicy*/,
21718  "" /*format*/,
21719  1200 /*offsetCode (18000/15)*/,
21720  0 /*offsetRemainder (18000%15)*/,
21721  0 /*deltaMinutes*/,
21722  1992 /*untilYear*/,
21723  1 /*untilMonth*/,
21724  1 /*untilDay*/,
21725  0 /*untilTimeCode (0/15)*/,
21726  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21727  },
21728  // 5:00 - %z
21729  {
21730  nullptr /*zonePolicy*/,
21731  "" /*format*/,
21732  1200 /*offsetCode (18000/15)*/,
21733  0 /*offsetRemainder (18000%15)*/,
21734  0 /*deltaMinutes*/,
21735  32767 /*untilYear*/,
21736  1 /*untilMonth*/,
21737  1 /*untilDay*/,
21738  0 /*untilTimeCode (0/15)*/,
21739  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21740  },
21741 
21742 };
21743 
21744 static const char kZoneNameAsia_Tashkent[] ACE_TIME_PROGMEM = "\x05" "Tashkent";
21745 
21746 const complete::Info::ZoneInfo kZoneAsia_Tashkent ACE_TIME_PROGMEM = {
21747  kZoneNameAsia_Tashkent /*name*/,
21748  0xf3924254 /*zoneId*/,
21749  &kZoneContext /*zoneContext*/,
21750  5 /*numEras*/,
21751  kZoneEraAsia_Tashkent /*eras*/,
21752  nullptr /*targetInfo*/,
21753 };
21754 
21755 //---------------------------------------------------------------------------
21756 // Zone name: Asia/Tbilisi
21757 // Eras: 11
21758 //---------------------------------------------------------------------------
21759 
21760 static const complete::Info::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = {
21761  // 2:59:11 - LMT 1880
21762  {
21763  nullptr /*zonePolicy*/,
21764  "LMT" /*format*/,
21765  716 /*offsetCode (10751/15)*/,
21766  11 /*offsetRemainder (10751%15)*/,
21767  0 /*deltaMinutes*/,
21768  1880 /*untilYear*/,
21769  1 /*untilMonth*/,
21770  1 /*untilDay*/,
21771  0 /*untilTimeCode (0/15)*/,
21772  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21773  },
21774  // 2:59:11 - TBMT 1924 May 2
21775  {
21776  nullptr /*zonePolicy*/,
21777  "TBMT" /*format*/,
21778  716 /*offsetCode (10751/15)*/,
21779  11 /*offsetRemainder (10751%15)*/,
21780  0 /*deltaMinutes*/,
21781  1924 /*untilYear*/,
21782  5 /*untilMonth*/,
21783  2 /*untilDay*/,
21784  0 /*untilTimeCode (0/15)*/,
21785  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21786  },
21787  // 3:00 - %z 1957 Mar
21788  {
21789  nullptr /*zonePolicy*/,
21790  "" /*format*/,
21791  720 /*offsetCode (10800/15)*/,
21792  0 /*offsetRemainder (10800%15)*/,
21793  0 /*deltaMinutes*/,
21794  1957 /*untilYear*/,
21795  3 /*untilMonth*/,
21796  1 /*untilDay*/,
21797  0 /*untilTimeCode (0/15)*/,
21798  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21799  },
21800  // 4:00 RussiaAsia %z 1991 Mar 31 2:00s
21801  {
21802  &kZonePolicyRussiaAsia /*zonePolicy*/,
21803  "" /*format*/,
21804  960 /*offsetCode (14400/15)*/,
21805  0 /*offsetRemainder (14400%15)*/,
21806  0 /*deltaMinutes*/,
21807  1991 /*untilYear*/,
21808  3 /*untilMonth*/,
21809  31 /*untilDay*/,
21810  480 /*untilTimeCode (7200/15)*/,
21811  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21812  },
21813  // 3:00 RussiaAsia %z 1992
21814  {
21815  &kZonePolicyRussiaAsia /*zonePolicy*/,
21816  "" /*format*/,
21817  720 /*offsetCode (10800/15)*/,
21818  0 /*offsetRemainder (10800%15)*/,
21819  0 /*deltaMinutes*/,
21820  1992 /*untilYear*/,
21821  1 /*untilMonth*/,
21822  1 /*untilDay*/,
21823  0 /*untilTimeCode (0/15)*/,
21824  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21825  },
21826  // 3:00 E-EurAsia %z 1994 Sep lastSun
21827  {
21828  &kZonePolicyE_EurAsia /*zonePolicy*/,
21829  "" /*format*/,
21830  720 /*offsetCode (10800/15)*/,
21831  0 /*offsetRemainder (10800%15)*/,
21832  0 /*deltaMinutes*/,
21833  1994 /*untilYear*/,
21834  9 /*untilMonth*/,
21835  25 /*untilDay*/,
21836  0 /*untilTimeCode (0/15)*/,
21837  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21838  },
21839  // 4:00 E-EurAsia %z 1996 Oct lastSun
21840  {
21841  &kZonePolicyE_EurAsia /*zonePolicy*/,
21842  "" /*format*/,
21843  960 /*offsetCode (14400/15)*/,
21844  0 /*offsetRemainder (14400%15)*/,
21845  0 /*deltaMinutes*/,
21846  1996 /*untilYear*/,
21847  10 /*untilMonth*/,
21848  27 /*untilDay*/,
21849  0 /*untilTimeCode (0/15)*/,
21850  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21851  },
21852  // 4:00 1:00 %z 1997 Mar lastSun
21853  {
21854  nullptr /*zonePolicy*/,
21855  "" /*format*/,
21856  960 /*offsetCode (14400/15)*/,
21857  0 /*offsetRemainder (14400%15)*/,
21858  60 /*deltaMinutes*/,
21859  1997 /*untilYear*/,
21860  3 /*untilMonth*/,
21861  30 /*untilDay*/,
21862  0 /*untilTimeCode (0/15)*/,
21863  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21864  },
21865  // 4:00 E-EurAsia %z 2004 Jun 27
21866  {
21867  &kZonePolicyE_EurAsia /*zonePolicy*/,
21868  "" /*format*/,
21869  960 /*offsetCode (14400/15)*/,
21870  0 /*offsetRemainder (14400%15)*/,
21871  0 /*deltaMinutes*/,
21872  2004 /*untilYear*/,
21873  6 /*untilMonth*/,
21874  27 /*untilDay*/,
21875  0 /*untilTimeCode (0/15)*/,
21876  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21877  },
21878  // 3:00 RussiaAsia %z 2005 Mar lastSun 2:00
21879  {
21880  &kZonePolicyRussiaAsia /*zonePolicy*/,
21881  "" /*format*/,
21882  720 /*offsetCode (10800/15)*/,
21883  0 /*offsetRemainder (10800%15)*/,
21884  0 /*deltaMinutes*/,
21885  2005 /*untilYear*/,
21886  3 /*untilMonth*/,
21887  27 /*untilDay*/,
21888  480 /*untilTimeCode (7200/15)*/,
21889  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21890  },
21891  // 4:00 - %z
21892  {
21893  nullptr /*zonePolicy*/,
21894  "" /*format*/,
21895  960 /*offsetCode (14400/15)*/,
21896  0 /*offsetRemainder (14400%15)*/,
21897  0 /*deltaMinutes*/,
21898  32767 /*untilYear*/,
21899  1 /*untilMonth*/,
21900  1 /*untilDay*/,
21901  0 /*untilTimeCode (0/15)*/,
21902  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21903  },
21904 
21905 };
21906 
21907 static const char kZoneNameAsia_Tbilisi[] ACE_TIME_PROGMEM = "\x05" "Tbilisi";
21908 
21909 const complete::Info::ZoneInfo kZoneAsia_Tbilisi ACE_TIME_PROGMEM = {
21910  kZoneNameAsia_Tbilisi /*name*/,
21911  0x0903e442 /*zoneId*/,
21912  &kZoneContext /*zoneContext*/,
21913  11 /*numEras*/,
21914  kZoneEraAsia_Tbilisi /*eras*/,
21915  nullptr /*targetInfo*/,
21916 };
21917 
21918 //---------------------------------------------------------------------------
21919 // Zone name: Asia/Tehran
21920 // Eras: 5
21921 //---------------------------------------------------------------------------
21922 
21923 static const complete::Info::ZoneEra kZoneEraAsia_Tehran[] ACE_TIME_PROGMEM = {
21924  // 3:25:44 - LMT 1916
21925  {
21926  nullptr /*zonePolicy*/,
21927  "LMT" /*format*/,
21928  822 /*offsetCode (12344/15)*/,
21929  14 /*offsetRemainder (12344%15)*/,
21930  0 /*deltaMinutes*/,
21931  1916 /*untilYear*/,
21932  1 /*untilMonth*/,
21933  1 /*untilDay*/,
21934  0 /*untilTimeCode (0/15)*/,
21935  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21936  },
21937  // 3:25:44 - TMT 1935 Jun 13
21938  {
21939  nullptr /*zonePolicy*/,
21940  "TMT" /*format*/,
21941  822 /*offsetCode (12344/15)*/,
21942  14 /*offsetRemainder (12344%15)*/,
21943  0 /*deltaMinutes*/,
21944  1935 /*untilYear*/,
21945  6 /*untilMonth*/,
21946  13 /*untilDay*/,
21947  0 /*untilTimeCode (0/15)*/,
21948  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21949  },
21950  // 3:30 Iran %z 1977 Oct 20 24:00
21951  {
21952  &kZonePolicyIran /*zonePolicy*/,
21953  "" /*format*/,
21954  840 /*offsetCode (12600/15)*/,
21955  0 /*offsetRemainder (12600%15)*/,
21956  0 /*deltaMinutes*/,
21957  1977 /*untilYear*/,
21958  10 /*untilMonth*/,
21959  20 /*untilDay*/,
21960  5760 /*untilTimeCode (86400/15)*/,
21961  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21962  },
21963  // 4:00 Iran %z 1978 Nov 10 24:00
21964  {
21965  &kZonePolicyIran /*zonePolicy*/,
21966  "" /*format*/,
21967  960 /*offsetCode (14400/15)*/,
21968  0 /*offsetRemainder (14400%15)*/,
21969  0 /*deltaMinutes*/,
21970  1978 /*untilYear*/,
21971  11 /*untilMonth*/,
21972  10 /*untilDay*/,
21973  5760 /*untilTimeCode (86400/15)*/,
21974  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21975  },
21976  // 3:30 Iran %z
21977  {
21978  &kZonePolicyIran /*zonePolicy*/,
21979  "" /*format*/,
21980  840 /*offsetCode (12600/15)*/,
21981  0 /*offsetRemainder (12600%15)*/,
21982  0 /*deltaMinutes*/,
21983  32767 /*untilYear*/,
21984  1 /*untilMonth*/,
21985  1 /*untilDay*/,
21986  0 /*untilTimeCode (0/15)*/,
21987  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21988  },
21989 
21990 };
21991 
21992 static const char kZoneNameAsia_Tehran[] ACE_TIME_PROGMEM = "\x05" "Tehran";
21993 
21994 const complete::Info::ZoneInfo kZoneAsia_Tehran ACE_TIME_PROGMEM = {
21995  kZoneNameAsia_Tehran /*name*/,
21996  0xd1f02254 /*zoneId*/,
21997  &kZoneContext /*zoneContext*/,
21998  5 /*numEras*/,
21999  kZoneEraAsia_Tehran /*eras*/,
22000  nullptr /*targetInfo*/,
22001 };
22002 
22003 //---------------------------------------------------------------------------
22004 // Zone name: Asia/Thimphu
22005 // Eras: 3
22006 //---------------------------------------------------------------------------
22007 
22008 static const complete::Info::ZoneEra kZoneEraAsia_Thimphu[] ACE_TIME_PROGMEM = {
22009  // 5:58:36 - LMT 1947 Aug 15
22010  {
22011  nullptr /*zonePolicy*/,
22012  "LMT" /*format*/,
22013  1434 /*offsetCode (21516/15)*/,
22014  6 /*offsetRemainder (21516%15)*/,
22015  0 /*deltaMinutes*/,
22016  1947 /*untilYear*/,
22017  8 /*untilMonth*/,
22018  15 /*untilDay*/,
22019  0 /*untilTimeCode (0/15)*/,
22020  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22021  },
22022  // 5:30 - %z 1987 Oct
22023  {
22024  nullptr /*zonePolicy*/,
22025  "" /*format*/,
22026  1320 /*offsetCode (19800/15)*/,
22027  0 /*offsetRemainder (19800%15)*/,
22028  0 /*deltaMinutes*/,
22029  1987 /*untilYear*/,
22030  10 /*untilMonth*/,
22031  1 /*untilDay*/,
22032  0 /*untilTimeCode (0/15)*/,
22033  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22034  },
22035  // 6:00 - %z
22036  {
22037  nullptr /*zonePolicy*/,
22038  "" /*format*/,
22039  1440 /*offsetCode (21600/15)*/,
22040  0 /*offsetRemainder (21600%15)*/,
22041  0 /*deltaMinutes*/,
22042  32767 /*untilYear*/,
22043  1 /*untilMonth*/,
22044  1 /*untilDay*/,
22045  0 /*untilTimeCode (0/15)*/,
22046  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22047  },
22048 
22049 };
22050 
22051 static const char kZoneNameAsia_Thimphu[] ACE_TIME_PROGMEM = "\x05" "Thimphu";
22052 
22053 const complete::Info::ZoneInfo kZoneAsia_Thimphu ACE_TIME_PROGMEM = {
22054  kZoneNameAsia_Thimphu /*name*/,
22055  0x170380d1 /*zoneId*/,
22056  &kZoneContext /*zoneContext*/,
22057  3 /*numEras*/,
22058  kZoneEraAsia_Thimphu /*eras*/,
22059  nullptr /*targetInfo*/,
22060 };
22061 
22062 //---------------------------------------------------------------------------
22063 // Zone name: Asia/Tokyo
22064 // Eras: 2
22065 //---------------------------------------------------------------------------
22066 
22067 static const complete::Info::ZoneEra kZoneEraAsia_Tokyo[] ACE_TIME_PROGMEM = {
22068  // 9:18:59 - LMT 1887 Dec 31 15:00u
22069  {
22070  nullptr /*zonePolicy*/,
22071  "LMT" /*format*/,
22072  2235 /*offsetCode (33539/15)*/,
22073  14 /*offsetRemainder (33539%15)*/,
22074  0 /*deltaMinutes*/,
22075  1887 /*untilYear*/,
22076  12 /*untilMonth*/,
22077  31 /*untilDay*/,
22078  3600 /*untilTimeCode (54000/15)*/,
22079  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
22080  },
22081  // 9:00 Japan J%sT
22082  {
22083  &kZonePolicyJapan /*zonePolicy*/,
22084  "J%T" /*format*/,
22085  2160 /*offsetCode (32400/15)*/,
22086  0 /*offsetRemainder (32400%15)*/,
22087  0 /*deltaMinutes*/,
22088  32767 /*untilYear*/,
22089  1 /*untilMonth*/,
22090  1 /*untilDay*/,
22091  0 /*untilTimeCode (0/15)*/,
22092  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22093  },
22094 
22095 };
22096 
22097 static const char kZoneNameAsia_Tokyo[] ACE_TIME_PROGMEM = "\x05" "Tokyo";
22098 
22099 const complete::Info::ZoneInfo kZoneAsia_Tokyo ACE_TIME_PROGMEM = {
22100  kZoneNameAsia_Tokyo /*name*/,
22101  0x15e606a8 /*zoneId*/,
22102  &kZoneContext /*zoneContext*/,
22103  2 /*numEras*/,
22104  kZoneEraAsia_Tokyo /*eras*/,
22105  nullptr /*targetInfo*/,
22106 };
22107 
22108 //---------------------------------------------------------------------------
22109 // Zone name: Asia/Tomsk
22110 // Eras: 9
22111 //---------------------------------------------------------------------------
22112 
22113 static const complete::Info::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = {
22114  // 5:39:51 - LMT 1919 Dec 22
22115  {
22116  nullptr /*zonePolicy*/,
22117  "LMT" /*format*/,
22118  1359 /*offsetCode (20391/15)*/,
22119  6 /*offsetRemainder (20391%15)*/,
22120  0 /*deltaMinutes*/,
22121  1919 /*untilYear*/,
22122  12 /*untilMonth*/,
22123  22 /*untilDay*/,
22124  0 /*untilTimeCode (0/15)*/,
22125  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22126  },
22127  // 6:00 - %z 1930 Jun 21
22128  {
22129  nullptr /*zonePolicy*/,
22130  "" /*format*/,
22131  1440 /*offsetCode (21600/15)*/,
22132  0 /*offsetRemainder (21600%15)*/,
22133  0 /*deltaMinutes*/,
22134  1930 /*untilYear*/,
22135  6 /*untilMonth*/,
22136  21 /*untilDay*/,
22137  0 /*untilTimeCode (0/15)*/,
22138  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22139  },
22140  // 7:00 Russia %z 1991 Mar 31 2:00s
22141  {
22142  &kZonePolicyRussia /*zonePolicy*/,
22143  "" /*format*/,
22144  1680 /*offsetCode (25200/15)*/,
22145  0 /*offsetRemainder (25200%15)*/,
22146  0 /*deltaMinutes*/,
22147  1991 /*untilYear*/,
22148  3 /*untilMonth*/,
22149  31 /*untilDay*/,
22150  480 /*untilTimeCode (7200/15)*/,
22151  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22152  },
22153  // 6:00 Russia %z 1992 Jan 19 2:00s
22154  {
22155  &kZonePolicyRussia /*zonePolicy*/,
22156  "" /*format*/,
22157  1440 /*offsetCode (21600/15)*/,
22158  0 /*offsetRemainder (21600%15)*/,
22159  0 /*deltaMinutes*/,
22160  1992 /*untilYear*/,
22161  1 /*untilMonth*/,
22162  19 /*untilDay*/,
22163  480 /*untilTimeCode (7200/15)*/,
22164  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22165  },
22166  // 7:00 Russia %z 2002 May 1 3:00
22167  {
22168  &kZonePolicyRussia /*zonePolicy*/,
22169  "" /*format*/,
22170  1680 /*offsetCode (25200/15)*/,
22171  0 /*offsetRemainder (25200%15)*/,
22172  0 /*deltaMinutes*/,
22173  2002 /*untilYear*/,
22174  5 /*untilMonth*/,
22175  1 /*untilDay*/,
22176  720 /*untilTimeCode (10800/15)*/,
22177  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22178  },
22179  // 6:00 Russia %z 2011 Mar 27 2:00s
22180  {
22181  &kZonePolicyRussia /*zonePolicy*/,
22182  "" /*format*/,
22183  1440 /*offsetCode (21600/15)*/,
22184  0 /*offsetRemainder (21600%15)*/,
22185  0 /*deltaMinutes*/,
22186  2011 /*untilYear*/,
22187  3 /*untilMonth*/,
22188  27 /*untilDay*/,
22189  480 /*untilTimeCode (7200/15)*/,
22190  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22191  },
22192  // 7:00 - %z 2014 Oct 26 2:00s
22193  {
22194  nullptr /*zonePolicy*/,
22195  "" /*format*/,
22196  1680 /*offsetCode (25200/15)*/,
22197  0 /*offsetRemainder (25200%15)*/,
22198  0 /*deltaMinutes*/,
22199  2014 /*untilYear*/,
22200  10 /*untilMonth*/,
22201  26 /*untilDay*/,
22202  480 /*untilTimeCode (7200/15)*/,
22203  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22204  },
22205  // 6:00 - %z 2016 May 29 2:00s
22206  {
22207  nullptr /*zonePolicy*/,
22208  "" /*format*/,
22209  1440 /*offsetCode (21600/15)*/,
22210  0 /*offsetRemainder (21600%15)*/,
22211  0 /*deltaMinutes*/,
22212  2016 /*untilYear*/,
22213  5 /*untilMonth*/,
22214  29 /*untilDay*/,
22215  480 /*untilTimeCode (7200/15)*/,
22216  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22217  },
22218  // 7:00 - %z
22219  {
22220  nullptr /*zonePolicy*/,
22221  "" /*format*/,
22222  1680 /*offsetCode (25200/15)*/,
22223  0 /*offsetRemainder (25200%15)*/,
22224  0 /*deltaMinutes*/,
22225  32767 /*untilYear*/,
22226  1 /*untilMonth*/,
22227  1 /*untilDay*/,
22228  0 /*untilTimeCode (0/15)*/,
22229  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22230  },
22231 
22232 };
22233 
22234 static const char kZoneNameAsia_Tomsk[] ACE_TIME_PROGMEM = "\x05" "Tomsk";
22235 
22236 const complete::Info::ZoneInfo kZoneAsia_Tomsk ACE_TIME_PROGMEM = {
22237  kZoneNameAsia_Tomsk /*name*/,
22238  0x15e60e60 /*zoneId*/,
22239  &kZoneContext /*zoneContext*/,
22240  9 /*numEras*/,
22241  kZoneEraAsia_Tomsk /*eras*/,
22242  nullptr /*targetInfo*/,
22243 };
22244 
22245 //---------------------------------------------------------------------------
22246 // Zone name: Asia/Ulaanbaatar
22247 // Eras: 3
22248 //---------------------------------------------------------------------------
22249 
22250 static const complete::Info::ZoneEra kZoneEraAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = {
22251  // 7:07:32 - LMT 1905 Aug
22252  {
22253  nullptr /*zonePolicy*/,
22254  "LMT" /*format*/,
22255  1710 /*offsetCode (25652/15)*/,
22256  2 /*offsetRemainder (25652%15)*/,
22257  0 /*deltaMinutes*/,
22258  1905 /*untilYear*/,
22259  8 /*untilMonth*/,
22260  1 /*untilDay*/,
22261  0 /*untilTimeCode (0/15)*/,
22262  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22263  },
22264  // 7:00 - %z 1978
22265  {
22266  nullptr /*zonePolicy*/,
22267  "" /*format*/,
22268  1680 /*offsetCode (25200/15)*/,
22269  0 /*offsetRemainder (25200%15)*/,
22270  0 /*deltaMinutes*/,
22271  1978 /*untilYear*/,
22272  1 /*untilMonth*/,
22273  1 /*untilDay*/,
22274  0 /*untilTimeCode (0/15)*/,
22275  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22276  },
22277  // 8:00 Mongol %z
22278  {
22279  &kZonePolicyMongol /*zonePolicy*/,
22280  "" /*format*/,
22281  1920 /*offsetCode (28800/15)*/,
22282  0 /*offsetRemainder (28800%15)*/,
22283  0 /*deltaMinutes*/,
22284  32767 /*untilYear*/,
22285  1 /*untilMonth*/,
22286  1 /*untilDay*/,
22287  0 /*untilTimeCode (0/15)*/,
22288  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22289  },
22290 
22291 };
22292 
22293 static const char kZoneNameAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = "\x05" "Ulaanbaatar";
22294 
22295 const complete::Info::ZoneInfo kZoneAsia_Ulaanbaatar ACE_TIME_PROGMEM = {
22296  kZoneNameAsia_Ulaanbaatar /*name*/,
22297  0x30f0cc4e /*zoneId*/,
22298  &kZoneContext /*zoneContext*/,
22299  3 /*numEras*/,
22300  kZoneEraAsia_Ulaanbaatar /*eras*/,
22301  nullptr /*targetInfo*/,
22302 };
22303 
22304 //---------------------------------------------------------------------------
22305 // Zone name: Asia/Urumqi
22306 // Eras: 2
22307 //---------------------------------------------------------------------------
22308 
22309 static const complete::Info::ZoneEra kZoneEraAsia_Urumqi[] ACE_TIME_PROGMEM = {
22310  // 5:50:20 - LMT 1928
22311  {
22312  nullptr /*zonePolicy*/,
22313  "LMT" /*format*/,
22314  1401 /*offsetCode (21020/15)*/,
22315  5 /*offsetRemainder (21020%15)*/,
22316  0 /*deltaMinutes*/,
22317  1928 /*untilYear*/,
22318  1 /*untilMonth*/,
22319  1 /*untilDay*/,
22320  0 /*untilTimeCode (0/15)*/,
22321  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22322  },
22323  // 6:00 - %z
22324  {
22325  nullptr /*zonePolicy*/,
22326  "" /*format*/,
22327  1440 /*offsetCode (21600/15)*/,
22328  0 /*offsetRemainder (21600%15)*/,
22329  0 /*deltaMinutes*/,
22330  32767 /*untilYear*/,
22331  1 /*untilMonth*/,
22332  1 /*untilDay*/,
22333  0 /*untilTimeCode (0/15)*/,
22334  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22335  },
22336 
22337 };
22338 
22339 static const char kZoneNameAsia_Urumqi[] ACE_TIME_PROGMEM = "\x05" "Urumqi";
22340 
22341 const complete::Info::ZoneInfo kZoneAsia_Urumqi ACE_TIME_PROGMEM = {
22342  kZoneNameAsia_Urumqi /*name*/,
22343  0xd5379735 /*zoneId*/,
22344  &kZoneContext /*zoneContext*/,
22345  2 /*numEras*/,
22346  kZoneEraAsia_Urumqi /*eras*/,
22347  nullptr /*targetInfo*/,
22348 };
22349 
22350 //---------------------------------------------------------------------------
22351 // Zone name: Asia/Ust-Nera
22352 // Eras: 9
22353 //---------------------------------------------------------------------------
22354 
22355 static const complete::Info::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = {
22356  // 9:32:54 - LMT 1919 Dec 15
22357  {
22358  nullptr /*zonePolicy*/,
22359  "LMT" /*format*/,
22360  2291 /*offsetCode (34374/15)*/,
22361  9 /*offsetRemainder (34374%15)*/,
22362  0 /*deltaMinutes*/,
22363  1919 /*untilYear*/,
22364  12 /*untilMonth*/,
22365  15 /*untilDay*/,
22366  0 /*untilTimeCode (0/15)*/,
22367  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22368  },
22369  // 8:00 - %z 1930 Jun 21
22370  {
22371  nullptr /*zonePolicy*/,
22372  "" /*format*/,
22373  1920 /*offsetCode (28800/15)*/,
22374  0 /*offsetRemainder (28800%15)*/,
22375  0 /*deltaMinutes*/,
22376  1930 /*untilYear*/,
22377  6 /*untilMonth*/,
22378  21 /*untilDay*/,
22379  0 /*untilTimeCode (0/15)*/,
22380  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22381  },
22382  // 9:00 Russia %z 1981 Apr 1
22383  {
22384  &kZonePolicyRussia /*zonePolicy*/,
22385  "" /*format*/,
22386  2160 /*offsetCode (32400/15)*/,
22387  0 /*offsetRemainder (32400%15)*/,
22388  0 /*deltaMinutes*/,
22389  1981 /*untilYear*/,
22390  4 /*untilMonth*/,
22391  1 /*untilDay*/,
22392  0 /*untilTimeCode (0/15)*/,
22393  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22394  },
22395  // 11:00 Russia %z 1991 Mar 31 2:00s
22396  {
22397  &kZonePolicyRussia /*zonePolicy*/,
22398  "" /*format*/,
22399  2640 /*offsetCode (39600/15)*/,
22400  0 /*offsetRemainder (39600%15)*/,
22401  0 /*deltaMinutes*/,
22402  1991 /*untilYear*/,
22403  3 /*untilMonth*/,
22404  31 /*untilDay*/,
22405  480 /*untilTimeCode (7200/15)*/,
22406  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22407  },
22408  // 10:00 Russia %z 1992 Jan 19 2:00s
22409  {
22410  &kZonePolicyRussia /*zonePolicy*/,
22411  "" /*format*/,
22412  2400 /*offsetCode (36000/15)*/,
22413  0 /*offsetRemainder (36000%15)*/,
22414  0 /*deltaMinutes*/,
22415  1992 /*untilYear*/,
22416  1 /*untilMonth*/,
22417  19 /*untilDay*/,
22418  480 /*untilTimeCode (7200/15)*/,
22419  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22420  },
22421  // 11:00 Russia %z 2011 Mar 27 2:00s
22422  {
22423  &kZonePolicyRussia /*zonePolicy*/,
22424  "" /*format*/,
22425  2640 /*offsetCode (39600/15)*/,
22426  0 /*offsetRemainder (39600%15)*/,
22427  0 /*deltaMinutes*/,
22428  2011 /*untilYear*/,
22429  3 /*untilMonth*/,
22430  27 /*untilDay*/,
22431  480 /*untilTimeCode (7200/15)*/,
22432  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22433  },
22434  // 12:00 - %z 2011 Sep 13 0:00s
22435  {
22436  nullptr /*zonePolicy*/,
22437  "" /*format*/,
22438  2880 /*offsetCode (43200/15)*/,
22439  0 /*offsetRemainder (43200%15)*/,
22440  0 /*deltaMinutes*/,
22441  2011 /*untilYear*/,
22442  9 /*untilMonth*/,
22443  13 /*untilDay*/,
22444  0 /*untilTimeCode (0/15)*/,
22445  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22446  },
22447  // 11:00 - %z 2014 Oct 26 2:00s
22448  {
22449  nullptr /*zonePolicy*/,
22450  "" /*format*/,
22451  2640 /*offsetCode (39600/15)*/,
22452  0 /*offsetRemainder (39600%15)*/,
22453  0 /*deltaMinutes*/,
22454  2014 /*untilYear*/,
22455  10 /*untilMonth*/,
22456  26 /*untilDay*/,
22457  480 /*untilTimeCode (7200/15)*/,
22458  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22459  },
22460  // 10:00 - %z
22461  {
22462  nullptr /*zonePolicy*/,
22463  "" /*format*/,
22464  2400 /*offsetCode (36000/15)*/,
22465  0 /*offsetRemainder (36000%15)*/,
22466  0 /*deltaMinutes*/,
22467  32767 /*untilYear*/,
22468  1 /*untilMonth*/,
22469  1 /*untilDay*/,
22470  0 /*untilTimeCode (0/15)*/,
22471  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22472  },
22473 
22474 };
22475 
22476 static const char kZoneNameAsia_Ust_Nera[] ACE_TIME_PROGMEM = "\x05" "Ust-Nera";
22477 
22478 const complete::Info::ZoneInfo kZoneAsia_Ust_Nera ACE_TIME_PROGMEM = {
22479  kZoneNameAsia_Ust_Nera /*name*/,
22480  0x4785f921 /*zoneId*/,
22481  &kZoneContext /*zoneContext*/,
22482  9 /*numEras*/,
22483  kZoneEraAsia_Ust_Nera /*eras*/,
22484  nullptr /*targetInfo*/,
22485 };
22486 
22487 //---------------------------------------------------------------------------
22488 // Zone name: Asia/Vladivostok
22489 // Eras: 7
22490 //---------------------------------------------------------------------------
22491 
22492 static const complete::Info::ZoneEra kZoneEraAsia_Vladivostok[] ACE_TIME_PROGMEM = {
22493  // 8:47:31 - LMT 1922 Nov 15
22494  {
22495  nullptr /*zonePolicy*/,
22496  "LMT" /*format*/,
22497  2110 /*offsetCode (31651/15)*/,
22498  1 /*offsetRemainder (31651%15)*/,
22499  0 /*deltaMinutes*/,
22500  1922 /*untilYear*/,
22501  11 /*untilMonth*/,
22502  15 /*untilDay*/,
22503  0 /*untilTimeCode (0/15)*/,
22504  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22505  },
22506  // 9:00 - %z 1930 Jun 21
22507  {
22508  nullptr /*zonePolicy*/,
22509  "" /*format*/,
22510  2160 /*offsetCode (32400/15)*/,
22511  0 /*offsetRemainder (32400%15)*/,
22512  0 /*deltaMinutes*/,
22513  1930 /*untilYear*/,
22514  6 /*untilMonth*/,
22515  21 /*untilDay*/,
22516  0 /*untilTimeCode (0/15)*/,
22517  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22518  },
22519  // 10:00 Russia %z 1991 Mar 31 2:00s
22520  {
22521  &kZonePolicyRussia /*zonePolicy*/,
22522  "" /*format*/,
22523  2400 /*offsetCode (36000/15)*/,
22524  0 /*offsetRemainder (36000%15)*/,
22525  0 /*deltaMinutes*/,
22526  1991 /*untilYear*/,
22527  3 /*untilMonth*/,
22528  31 /*untilDay*/,
22529  480 /*untilTimeCode (7200/15)*/,
22530  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22531  },
22532  // 9:00 Russia %z 1992 Jan 19 2:00s
22533  {
22534  &kZonePolicyRussia /*zonePolicy*/,
22535  "" /*format*/,
22536  2160 /*offsetCode (32400/15)*/,
22537  0 /*offsetRemainder (32400%15)*/,
22538  0 /*deltaMinutes*/,
22539  1992 /*untilYear*/,
22540  1 /*untilMonth*/,
22541  19 /*untilDay*/,
22542  480 /*untilTimeCode (7200/15)*/,
22543  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22544  },
22545  // 10:00 Russia %z 2011 Mar 27 2:00s
22546  {
22547  &kZonePolicyRussia /*zonePolicy*/,
22548  "" /*format*/,
22549  2400 /*offsetCode (36000/15)*/,
22550  0 /*offsetRemainder (36000%15)*/,
22551  0 /*deltaMinutes*/,
22552  2011 /*untilYear*/,
22553  3 /*untilMonth*/,
22554  27 /*untilDay*/,
22555  480 /*untilTimeCode (7200/15)*/,
22556  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22557  },
22558  // 11:00 - %z 2014 Oct 26 2:00s
22559  {
22560  nullptr /*zonePolicy*/,
22561  "" /*format*/,
22562  2640 /*offsetCode (39600/15)*/,
22563  0 /*offsetRemainder (39600%15)*/,
22564  0 /*deltaMinutes*/,
22565  2014 /*untilYear*/,
22566  10 /*untilMonth*/,
22567  26 /*untilDay*/,
22568  480 /*untilTimeCode (7200/15)*/,
22569  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22570  },
22571  // 10:00 - %z
22572  {
22573  nullptr /*zonePolicy*/,
22574  "" /*format*/,
22575  2400 /*offsetCode (36000/15)*/,
22576  0 /*offsetRemainder (36000%15)*/,
22577  0 /*deltaMinutes*/,
22578  32767 /*untilYear*/,
22579  1 /*untilMonth*/,
22580  1 /*untilDay*/,
22581  0 /*untilTimeCode (0/15)*/,
22582  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22583  },
22584 
22585 };
22586 
22587 static const char kZoneNameAsia_Vladivostok[] ACE_TIME_PROGMEM = "\x05" "Vladivostok";
22588 
22589 const complete::Info::ZoneInfo kZoneAsia_Vladivostok ACE_TIME_PROGMEM = {
22590  kZoneNameAsia_Vladivostok /*name*/,
22591  0x29de34a8 /*zoneId*/,
22592  &kZoneContext /*zoneContext*/,
22593  7 /*numEras*/,
22594  kZoneEraAsia_Vladivostok /*eras*/,
22595  nullptr /*targetInfo*/,
22596 };
22597 
22598 //---------------------------------------------------------------------------
22599 // Zone name: Asia/Yakutsk
22600 // Eras: 7
22601 //---------------------------------------------------------------------------
22602 
22603 static const complete::Info::ZoneEra kZoneEraAsia_Yakutsk[] ACE_TIME_PROGMEM = {
22604  // 8:38:58 - LMT 1919 Dec 15
22605  {
22606  nullptr /*zonePolicy*/,
22607  "LMT" /*format*/,
22608  2075 /*offsetCode (31138/15)*/,
22609  13 /*offsetRemainder (31138%15)*/,
22610  0 /*deltaMinutes*/,
22611  1919 /*untilYear*/,
22612  12 /*untilMonth*/,
22613  15 /*untilDay*/,
22614  0 /*untilTimeCode (0/15)*/,
22615  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22616  },
22617  // 8:00 - %z 1930 Jun 21
22618  {
22619  nullptr /*zonePolicy*/,
22620  "" /*format*/,
22621  1920 /*offsetCode (28800/15)*/,
22622  0 /*offsetRemainder (28800%15)*/,
22623  0 /*deltaMinutes*/,
22624  1930 /*untilYear*/,
22625  6 /*untilMonth*/,
22626  21 /*untilDay*/,
22627  0 /*untilTimeCode (0/15)*/,
22628  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22629  },
22630  // 9:00 Russia %z 1991 Mar 31 2:00s
22631  {
22632  &kZonePolicyRussia /*zonePolicy*/,
22633  "" /*format*/,
22634  2160 /*offsetCode (32400/15)*/,
22635  0 /*offsetRemainder (32400%15)*/,
22636  0 /*deltaMinutes*/,
22637  1991 /*untilYear*/,
22638  3 /*untilMonth*/,
22639  31 /*untilDay*/,
22640  480 /*untilTimeCode (7200/15)*/,
22641  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22642  },
22643  // 8:00 Russia %z 1992 Jan 19 2:00s
22644  {
22645  &kZonePolicyRussia /*zonePolicy*/,
22646  "" /*format*/,
22647  1920 /*offsetCode (28800/15)*/,
22648  0 /*offsetRemainder (28800%15)*/,
22649  0 /*deltaMinutes*/,
22650  1992 /*untilYear*/,
22651  1 /*untilMonth*/,
22652  19 /*untilDay*/,
22653  480 /*untilTimeCode (7200/15)*/,
22654  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22655  },
22656  // 9:00 Russia %z 2011 Mar 27 2:00s
22657  {
22658  &kZonePolicyRussia /*zonePolicy*/,
22659  "" /*format*/,
22660  2160 /*offsetCode (32400/15)*/,
22661  0 /*offsetRemainder (32400%15)*/,
22662  0 /*deltaMinutes*/,
22663  2011 /*untilYear*/,
22664  3 /*untilMonth*/,
22665  27 /*untilDay*/,
22666  480 /*untilTimeCode (7200/15)*/,
22667  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22668  },
22669  // 10:00 - %z 2014 Oct 26 2:00s
22670  {
22671  nullptr /*zonePolicy*/,
22672  "" /*format*/,
22673  2400 /*offsetCode (36000/15)*/,
22674  0 /*offsetRemainder (36000%15)*/,
22675  0 /*deltaMinutes*/,
22676  2014 /*untilYear*/,
22677  10 /*untilMonth*/,
22678  26 /*untilDay*/,
22679  480 /*untilTimeCode (7200/15)*/,
22680  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22681  },
22682  // 9:00 - %z
22683  {
22684  nullptr /*zonePolicy*/,
22685  "" /*format*/,
22686  2160 /*offsetCode (32400/15)*/,
22687  0 /*offsetRemainder (32400%15)*/,
22688  0 /*deltaMinutes*/,
22689  32767 /*untilYear*/,
22690  1 /*untilMonth*/,
22691  1 /*untilDay*/,
22692  0 /*untilTimeCode (0/15)*/,
22693  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22694  },
22695 
22696 };
22697 
22698 static const char kZoneNameAsia_Yakutsk[] ACE_TIME_PROGMEM = "\x05" "Yakutsk";
22699 
22700 const complete::Info::ZoneInfo kZoneAsia_Yakutsk ACE_TIME_PROGMEM = {
22701  kZoneNameAsia_Yakutsk /*name*/,
22702  0x87bb3a9e /*zoneId*/,
22703  &kZoneContext /*zoneContext*/,
22704  7 /*numEras*/,
22705  kZoneEraAsia_Yakutsk /*eras*/,
22706  nullptr /*targetInfo*/,
22707 };
22708 
22709 //---------------------------------------------------------------------------
22710 // Zone name: Asia/Yangon
22711 // Eras: 5
22712 //---------------------------------------------------------------------------
22713 
22714 static const complete::Info::ZoneEra kZoneEraAsia_Yangon[] ACE_TIME_PROGMEM = {
22715  // 6:24:47 - LMT 1880
22716  {
22717  nullptr /*zonePolicy*/,
22718  "LMT" /*format*/,
22719  1539 /*offsetCode (23087/15)*/,
22720  2 /*offsetRemainder (23087%15)*/,
22721  0 /*deltaMinutes*/,
22722  1880 /*untilYear*/,
22723  1 /*untilMonth*/,
22724  1 /*untilDay*/,
22725  0 /*untilTimeCode (0/15)*/,
22726  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22727  },
22728  // 6:24:47 - RMT 1920
22729  {
22730  nullptr /*zonePolicy*/,
22731  "RMT" /*format*/,
22732  1539 /*offsetCode (23087/15)*/,
22733  2 /*offsetRemainder (23087%15)*/,
22734  0 /*deltaMinutes*/,
22735  1920 /*untilYear*/,
22736  1 /*untilMonth*/,
22737  1 /*untilDay*/,
22738  0 /*untilTimeCode (0/15)*/,
22739  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22740  },
22741  // 6:30 - %z 1942 May
22742  {
22743  nullptr /*zonePolicy*/,
22744  "" /*format*/,
22745  1560 /*offsetCode (23400/15)*/,
22746  0 /*offsetRemainder (23400%15)*/,
22747  0 /*deltaMinutes*/,
22748  1942 /*untilYear*/,
22749  5 /*untilMonth*/,
22750  1 /*untilDay*/,
22751  0 /*untilTimeCode (0/15)*/,
22752  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22753  },
22754  // 9:00 - %z 1945 May 3
22755  {
22756  nullptr /*zonePolicy*/,
22757  "" /*format*/,
22758  2160 /*offsetCode (32400/15)*/,
22759  0 /*offsetRemainder (32400%15)*/,
22760  0 /*deltaMinutes*/,
22761  1945 /*untilYear*/,
22762  5 /*untilMonth*/,
22763  3 /*untilDay*/,
22764  0 /*untilTimeCode (0/15)*/,
22765  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22766  },
22767  // 6:30 - %z
22768  {
22769  nullptr /*zonePolicy*/,
22770  "" /*format*/,
22771  1560 /*offsetCode (23400/15)*/,
22772  0 /*offsetRemainder (23400%15)*/,
22773  0 /*deltaMinutes*/,
22774  32767 /*untilYear*/,
22775  1 /*untilMonth*/,
22776  1 /*untilDay*/,
22777  0 /*untilTimeCode (0/15)*/,
22778  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22779  },
22780 
22781 };
22782 
22783 static const char kZoneNameAsia_Yangon[] ACE_TIME_PROGMEM = "\x05" "Yangon";
22784 
22785 const complete::Info::ZoneInfo kZoneAsia_Yangon ACE_TIME_PROGMEM = {
22786  kZoneNameAsia_Yangon /*name*/,
22787  0xdd54a8be /*zoneId*/,
22788  &kZoneContext /*zoneContext*/,
22789  5 /*numEras*/,
22790  kZoneEraAsia_Yangon /*eras*/,
22791  nullptr /*targetInfo*/,
22792 };
22793 
22794 //---------------------------------------------------------------------------
22795 // Zone name: Asia/Yekaterinburg
22796 // Eras: 8
22797 //---------------------------------------------------------------------------
22798 
22799 static const complete::Info::ZoneEra kZoneEraAsia_Yekaterinburg[] ACE_TIME_PROGMEM = {
22800  // 4:02:33 - LMT 1916 Jul 3
22801  {
22802  nullptr /*zonePolicy*/,
22803  "LMT" /*format*/,
22804  970 /*offsetCode (14553/15)*/,
22805  3 /*offsetRemainder (14553%15)*/,
22806  0 /*deltaMinutes*/,
22807  1916 /*untilYear*/,
22808  7 /*untilMonth*/,
22809  3 /*untilDay*/,
22810  0 /*untilTimeCode (0/15)*/,
22811  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22812  },
22813  // 3:45:05 - PMT 1919 Jul 15 4:00
22814  {
22815  nullptr /*zonePolicy*/,
22816  "PMT" /*format*/,
22817  900 /*offsetCode (13505/15)*/,
22818  5 /*offsetRemainder (13505%15)*/,
22819  0 /*deltaMinutes*/,
22820  1919 /*untilYear*/,
22821  7 /*untilMonth*/,
22822  15 /*untilDay*/,
22823  960 /*untilTimeCode (14400/15)*/,
22824  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22825  },
22826  // 4:00 - %z 1930 Jun 21
22827  {
22828  nullptr /*zonePolicy*/,
22829  "" /*format*/,
22830  960 /*offsetCode (14400/15)*/,
22831  0 /*offsetRemainder (14400%15)*/,
22832  0 /*deltaMinutes*/,
22833  1930 /*untilYear*/,
22834  6 /*untilMonth*/,
22835  21 /*untilDay*/,
22836  0 /*untilTimeCode (0/15)*/,
22837  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22838  },
22839  // 5:00 Russia %z 1991 Mar 31 2:00s
22840  {
22841  &kZonePolicyRussia /*zonePolicy*/,
22842  "" /*format*/,
22843  1200 /*offsetCode (18000/15)*/,
22844  0 /*offsetRemainder (18000%15)*/,
22845  0 /*deltaMinutes*/,
22846  1991 /*untilYear*/,
22847  3 /*untilMonth*/,
22848  31 /*untilDay*/,
22849  480 /*untilTimeCode (7200/15)*/,
22850  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22851  },
22852  // 4:00 Russia %z 1992 Jan 19 2:00s
22853  {
22854  &kZonePolicyRussia /*zonePolicy*/,
22855  "" /*format*/,
22856  960 /*offsetCode (14400/15)*/,
22857  0 /*offsetRemainder (14400%15)*/,
22858  0 /*deltaMinutes*/,
22859  1992 /*untilYear*/,
22860  1 /*untilMonth*/,
22861  19 /*untilDay*/,
22862  480 /*untilTimeCode (7200/15)*/,
22863  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22864  },
22865  // 5:00 Russia %z 2011 Mar 27 2:00s
22866  {
22867  &kZonePolicyRussia /*zonePolicy*/,
22868  "" /*format*/,
22869  1200 /*offsetCode (18000/15)*/,
22870  0 /*offsetRemainder (18000%15)*/,
22871  0 /*deltaMinutes*/,
22872  2011 /*untilYear*/,
22873  3 /*untilMonth*/,
22874  27 /*untilDay*/,
22875  480 /*untilTimeCode (7200/15)*/,
22876  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22877  },
22878  // 6:00 - %z 2014 Oct 26 2:00s
22879  {
22880  nullptr /*zonePolicy*/,
22881  "" /*format*/,
22882  1440 /*offsetCode (21600/15)*/,
22883  0 /*offsetRemainder (21600%15)*/,
22884  0 /*deltaMinutes*/,
22885  2014 /*untilYear*/,
22886  10 /*untilMonth*/,
22887  26 /*untilDay*/,
22888  480 /*untilTimeCode (7200/15)*/,
22889  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22890  },
22891  // 5:00 - %z
22892  {
22893  nullptr /*zonePolicy*/,
22894  "" /*format*/,
22895  1200 /*offsetCode (18000/15)*/,
22896  0 /*offsetRemainder (18000%15)*/,
22897  0 /*deltaMinutes*/,
22898  32767 /*untilYear*/,
22899  1 /*untilMonth*/,
22900  1 /*untilDay*/,
22901  0 /*untilTimeCode (0/15)*/,
22902  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22903  },
22904 
22905 };
22906 
22907 static const char kZoneNameAsia_Yekaterinburg[] ACE_TIME_PROGMEM = "\x05" "Yekaterinburg";
22908 
22909 const complete::Info::ZoneInfo kZoneAsia_Yekaterinburg ACE_TIME_PROGMEM = {
22910  kZoneNameAsia_Yekaterinburg /*name*/,
22911  0xfb544c6e /*zoneId*/,
22912  &kZoneContext /*zoneContext*/,
22913  8 /*numEras*/,
22914  kZoneEraAsia_Yekaterinburg /*eras*/,
22915  nullptr /*targetInfo*/,
22916 };
22917 
22918 //---------------------------------------------------------------------------
22919 // Zone name: Asia/Yerevan
22920 // Eras: 7
22921 //---------------------------------------------------------------------------
22922 
22923 static const complete::Info::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = {
22924  // 2:58:00 - LMT 1924 May 2
22925  {
22926  nullptr /*zonePolicy*/,
22927  "LMT" /*format*/,
22928  712 /*offsetCode (10680/15)*/,
22929  0 /*offsetRemainder (10680%15)*/,
22930  0 /*deltaMinutes*/,
22931  1924 /*untilYear*/,
22932  5 /*untilMonth*/,
22933  2 /*untilDay*/,
22934  0 /*untilTimeCode (0/15)*/,
22935  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22936  },
22937  // 3:00 - %z 1957 Mar
22938  {
22939  nullptr /*zonePolicy*/,
22940  "" /*format*/,
22941  720 /*offsetCode (10800/15)*/,
22942  0 /*offsetRemainder (10800%15)*/,
22943  0 /*deltaMinutes*/,
22944  1957 /*untilYear*/,
22945  3 /*untilMonth*/,
22946  1 /*untilDay*/,
22947  0 /*untilTimeCode (0/15)*/,
22948  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22949  },
22950  // 4:00 RussiaAsia %z 1991 Mar 31 2:00s
22951  {
22952  &kZonePolicyRussiaAsia /*zonePolicy*/,
22953  "" /*format*/,
22954  960 /*offsetCode (14400/15)*/,
22955  0 /*offsetRemainder (14400%15)*/,
22956  0 /*deltaMinutes*/,
22957  1991 /*untilYear*/,
22958  3 /*untilMonth*/,
22959  31 /*untilDay*/,
22960  480 /*untilTimeCode (7200/15)*/,
22961  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22962  },
22963  // 3:00 RussiaAsia %z 1995 Sep 24 2:00s
22964  {
22965  &kZonePolicyRussiaAsia /*zonePolicy*/,
22966  "" /*format*/,
22967  720 /*offsetCode (10800/15)*/,
22968  0 /*offsetRemainder (10800%15)*/,
22969  0 /*deltaMinutes*/,
22970  1995 /*untilYear*/,
22971  9 /*untilMonth*/,
22972  24 /*untilDay*/,
22973  480 /*untilTimeCode (7200/15)*/,
22974  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22975  },
22976  // 4:00 - %z 1997
22977  {
22978  nullptr /*zonePolicy*/,
22979  "" /*format*/,
22980  960 /*offsetCode (14400/15)*/,
22981  0 /*offsetRemainder (14400%15)*/,
22982  0 /*deltaMinutes*/,
22983  1997 /*untilYear*/,
22984  1 /*untilMonth*/,
22985  1 /*untilDay*/,
22986  0 /*untilTimeCode (0/15)*/,
22987  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22988  },
22989  // 4:00 RussiaAsia %z 2011
22990  {
22991  &kZonePolicyRussiaAsia /*zonePolicy*/,
22992  "" /*format*/,
22993  960 /*offsetCode (14400/15)*/,
22994  0 /*offsetRemainder (14400%15)*/,
22995  0 /*deltaMinutes*/,
22996  2011 /*untilYear*/,
22997  1 /*untilMonth*/,
22998  1 /*untilDay*/,
22999  0 /*untilTimeCode (0/15)*/,
23000  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23001  },
23002  // 4:00 Armenia %z
23003  {
23004  &kZonePolicyArmenia /*zonePolicy*/,
23005  "" /*format*/,
23006  960 /*offsetCode (14400/15)*/,
23007  0 /*offsetRemainder (14400%15)*/,
23008  0 /*deltaMinutes*/,
23009  32767 /*untilYear*/,
23010  1 /*untilMonth*/,
23011  1 /*untilDay*/,
23012  0 /*untilTimeCode (0/15)*/,
23013  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23014  },
23015 
23016 };
23017 
23018 static const char kZoneNameAsia_Yerevan[] ACE_TIME_PROGMEM = "\x05" "Yerevan";
23019 
23020 const complete::Info::ZoneInfo kZoneAsia_Yerevan ACE_TIME_PROGMEM = {
23021  kZoneNameAsia_Yerevan /*name*/,
23022  0x9185c8cc /*zoneId*/,
23023  &kZoneContext /*zoneContext*/,
23024  7 /*numEras*/,
23025  kZoneEraAsia_Yerevan /*eras*/,
23026  nullptr /*targetInfo*/,
23027 };
23028 
23029 //---------------------------------------------------------------------------
23030 // Zone name: Atlantic/Azores
23031 // Eras: 8
23032 //---------------------------------------------------------------------------
23033 
23034 static const complete::Info::ZoneEra kZoneEraAtlantic_Azores[] ACE_TIME_PROGMEM = {
23035  // -1:42:40 - LMT 1884
23036  {
23037  nullptr /*zonePolicy*/,
23038  "LMT" /*format*/,
23039  -411 /*offsetCode (-6160/15)*/,
23040  5 /*offsetRemainder (-6160%15)*/,
23041  0 /*deltaMinutes*/,
23042  1884 /*untilYear*/,
23043  1 /*untilMonth*/,
23044  1 /*untilDay*/,
23045  0 /*untilTimeCode (0/15)*/,
23046  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23047  },
23048  // -1:54:32 - HMT 1912 Jan 1 2:00u
23049  {
23050  nullptr /*zonePolicy*/,
23051  "HMT" /*format*/,
23052  -459 /*offsetCode (-6872/15)*/,
23053  13 /*offsetRemainder (-6872%15)*/,
23054  0 /*deltaMinutes*/,
23055  1912 /*untilYear*/,
23056  1 /*untilMonth*/,
23057  1 /*untilDay*/,
23058  480 /*untilTimeCode (7200/15)*/,
23059  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
23060  },
23061  // -2:00 Port %z 1966 Oct 2 2:00s
23062  {
23063  &kZonePolicyPort /*zonePolicy*/,
23064  "" /*format*/,
23065  -480 /*offsetCode (-7200/15)*/,
23066  0 /*offsetRemainder (-7200%15)*/,
23067  0 /*deltaMinutes*/,
23068  1966 /*untilYear*/,
23069  10 /*untilMonth*/,
23070  2 /*untilDay*/,
23071  480 /*untilTimeCode (7200/15)*/,
23072  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23073  },
23074  // -1:00 - %z 1982 Mar 28 0:00s
23075  {
23076  nullptr /*zonePolicy*/,
23077  "" /*format*/,
23078  -240 /*offsetCode (-3600/15)*/,
23079  0 /*offsetRemainder (-3600%15)*/,
23080  0 /*deltaMinutes*/,
23081  1982 /*untilYear*/,
23082  3 /*untilMonth*/,
23083  28 /*untilDay*/,
23084  0 /*untilTimeCode (0/15)*/,
23085  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23086  },
23087  // -1:00 Port %z 1986
23088  {
23089  &kZonePolicyPort /*zonePolicy*/,
23090  "" /*format*/,
23091  -240 /*offsetCode (-3600/15)*/,
23092  0 /*offsetRemainder (-3600%15)*/,
23093  0 /*deltaMinutes*/,
23094  1986 /*untilYear*/,
23095  1 /*untilMonth*/,
23096  1 /*untilDay*/,
23097  0 /*untilTimeCode (0/15)*/,
23098  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23099  },
23100  // -1:00 EU %z 1992 Dec 27 1:00s
23101  {
23102  &kZonePolicyEU /*zonePolicy*/,
23103  "" /*format*/,
23104  -240 /*offsetCode (-3600/15)*/,
23105  0 /*offsetRemainder (-3600%15)*/,
23106  0 /*deltaMinutes*/,
23107  1992 /*untilYear*/,
23108  12 /*untilMonth*/,
23109  27 /*untilDay*/,
23110  240 /*untilTimeCode (3600/15)*/,
23111  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23112  },
23113  // 0:00 EU WE%sT 1993 Jun 17 1:00u
23114  {
23115  &kZonePolicyEU /*zonePolicy*/,
23116  "WE%T" /*format*/,
23117  0 /*offsetCode (0/15)*/,
23118  0 /*offsetRemainder (0%15)*/,
23119  0 /*deltaMinutes*/,
23120  1993 /*untilYear*/,
23121  6 /*untilMonth*/,
23122  17 /*untilDay*/,
23123  240 /*untilTimeCode (3600/15)*/,
23124  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
23125  },
23126  // -1:00 EU %z
23127  {
23128  &kZonePolicyEU /*zonePolicy*/,
23129  "" /*format*/,
23130  -240 /*offsetCode (-3600/15)*/,
23131  0 /*offsetRemainder (-3600%15)*/,
23132  0 /*deltaMinutes*/,
23133  32767 /*untilYear*/,
23134  1 /*untilMonth*/,
23135  1 /*untilDay*/,
23136  0 /*untilTimeCode (0/15)*/,
23137  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23138  },
23139 
23140 };
23141 
23142 static const char kZoneNameAtlantic_Azores[] ACE_TIME_PROGMEM = "\x06" "Azores";
23143 
23144 const complete::Info::ZoneInfo kZoneAtlantic_Azores ACE_TIME_PROGMEM = {
23145  kZoneNameAtlantic_Azores /*name*/,
23146  0xf93ed918 /*zoneId*/,
23147  &kZoneContext /*zoneContext*/,
23148  8 /*numEras*/,
23149  kZoneEraAtlantic_Azores /*eras*/,
23150  nullptr /*targetInfo*/,
23151 };
23152 
23153 //---------------------------------------------------------------------------
23154 // Zone name: Atlantic/Bermuda
23155 // Eras: 5
23156 //---------------------------------------------------------------------------
23157 
23158 static const complete::Info::ZoneEra kZoneEraAtlantic_Bermuda[] ACE_TIME_PROGMEM = {
23159  // -4:19:18 - LMT 1890
23160  {
23161  nullptr /*zonePolicy*/,
23162  "LMT" /*format*/,
23163  -1038 /*offsetCode (-15558/15)*/,
23164  12 /*offsetRemainder (-15558%15)*/,
23165  0 /*deltaMinutes*/,
23166  1890 /*untilYear*/,
23167  1 /*untilMonth*/,
23168  1 /*untilDay*/,
23169  0 /*untilTimeCode (0/15)*/,
23170  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23171  },
23172  // -4:19:18 Bermuda BMT/BST 1930 Jan 1 2:00
23173  {
23174  &kZonePolicyBermuda /*zonePolicy*/,
23175  "BMT/BST" /*format*/,
23176  -1038 /*offsetCode (-15558/15)*/,
23177  12 /*offsetRemainder (-15558%15)*/,
23178  0 /*deltaMinutes*/,
23179  1930 /*untilYear*/,
23180  1 /*untilMonth*/,
23181  1 /*untilDay*/,
23182  480 /*untilTimeCode (7200/15)*/,
23183  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23184  },
23185  // -4:00 Bermuda A%sT 1974 Apr 28 2:00
23186  {
23187  &kZonePolicyBermuda /*zonePolicy*/,
23188  "A%T" /*format*/,
23189  -960 /*offsetCode (-14400/15)*/,
23190  0 /*offsetRemainder (-14400%15)*/,
23191  0 /*deltaMinutes*/,
23192  1974 /*untilYear*/,
23193  4 /*untilMonth*/,
23194  28 /*untilDay*/,
23195  480 /*untilTimeCode (7200/15)*/,
23196  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23197  },
23198  // -4:00 Canada A%sT 1976
23199  {
23200  &kZonePolicyCanada /*zonePolicy*/,
23201  "A%T" /*format*/,
23202  -960 /*offsetCode (-14400/15)*/,
23203  0 /*offsetRemainder (-14400%15)*/,
23204  0 /*deltaMinutes*/,
23205  1976 /*untilYear*/,
23206  1 /*untilMonth*/,
23207  1 /*untilDay*/,
23208  0 /*untilTimeCode (0/15)*/,
23209  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23210  },
23211  // -4:00 US A%sT
23212  {
23213  &kZonePolicyUS /*zonePolicy*/,
23214  "A%T" /*format*/,
23215  -960 /*offsetCode (-14400/15)*/,
23216  0 /*offsetRemainder (-14400%15)*/,
23217  0 /*deltaMinutes*/,
23218  32767 /*untilYear*/,
23219  1 /*untilMonth*/,
23220  1 /*untilDay*/,
23221  0 /*untilTimeCode (0/15)*/,
23222  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23223  },
23224 
23225 };
23226 
23227 static const char kZoneNameAtlantic_Bermuda[] ACE_TIME_PROGMEM = "\x06" "Bermuda";
23228 
23229 const complete::Info::ZoneInfo kZoneAtlantic_Bermuda ACE_TIME_PROGMEM = {
23230  kZoneNameAtlantic_Bermuda /*name*/,
23231  0x3d4bb1c4 /*zoneId*/,
23232  &kZoneContext /*zoneContext*/,
23233  5 /*numEras*/,
23234  kZoneEraAtlantic_Bermuda /*eras*/,
23235  nullptr /*targetInfo*/,
23236 };
23237 
23238 //---------------------------------------------------------------------------
23239 // Zone name: Atlantic/Canary
23240 // Eras: 5
23241 //---------------------------------------------------------------------------
23242 
23243 static const complete::Info::ZoneEra kZoneEraAtlantic_Canary[] ACE_TIME_PROGMEM = {
23244  // -1:01:36 - LMT 1922 Mar
23245  {
23246  nullptr /*zonePolicy*/,
23247  "LMT" /*format*/,
23248  -247 /*offsetCode (-3696/15)*/,
23249  9 /*offsetRemainder (-3696%15)*/,
23250  0 /*deltaMinutes*/,
23251  1922 /*untilYear*/,
23252  3 /*untilMonth*/,
23253  1 /*untilDay*/,
23254  0 /*untilTimeCode (0/15)*/,
23255  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23256  },
23257  // -1:00 - %z 1946 Sep 30 1:00
23258  {
23259  nullptr /*zonePolicy*/,
23260  "" /*format*/,
23261  -240 /*offsetCode (-3600/15)*/,
23262  0 /*offsetRemainder (-3600%15)*/,
23263  0 /*deltaMinutes*/,
23264  1946 /*untilYear*/,
23265  9 /*untilMonth*/,
23266  30 /*untilDay*/,
23267  240 /*untilTimeCode (3600/15)*/,
23268  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23269  },
23270  // 0:00 - WET 1980 Apr 6 0:00s
23271  {
23272  nullptr /*zonePolicy*/,
23273  "WET" /*format*/,
23274  0 /*offsetCode (0/15)*/,
23275  0 /*offsetRemainder (0%15)*/,
23276  0 /*deltaMinutes*/,
23277  1980 /*untilYear*/,
23278  4 /*untilMonth*/,
23279  6 /*untilDay*/,
23280  0 /*untilTimeCode (0/15)*/,
23281  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23282  },
23283  // 0:00 1:00 WEST 1980 Sep 28 1:00u
23284  {
23285  nullptr /*zonePolicy*/,
23286  "WEST" /*format*/,
23287  0 /*offsetCode (0/15)*/,
23288  0 /*offsetRemainder (0%15)*/,
23289  60 /*deltaMinutes*/,
23290  1980 /*untilYear*/,
23291  9 /*untilMonth*/,
23292  28 /*untilDay*/,
23293  240 /*untilTimeCode (3600/15)*/,
23294  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
23295  },
23296  // 0:00 EU WE%sT
23297  {
23298  &kZonePolicyEU /*zonePolicy*/,
23299  "WE%T" /*format*/,
23300  0 /*offsetCode (0/15)*/,
23301  0 /*offsetRemainder (0%15)*/,
23302  0 /*deltaMinutes*/,
23303  32767 /*untilYear*/,
23304  1 /*untilMonth*/,
23305  1 /*untilDay*/,
23306  0 /*untilTimeCode (0/15)*/,
23307  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23308  },
23309 
23310 };
23311 
23312 static const char kZoneNameAtlantic_Canary[] ACE_TIME_PROGMEM = "\x06" "Canary";
23313 
23314 const complete::Info::ZoneInfo kZoneAtlantic_Canary ACE_TIME_PROGMEM = {
23315  kZoneNameAtlantic_Canary /*name*/,
23316  0xfc23f2c2 /*zoneId*/,
23317  &kZoneContext /*zoneContext*/,
23318  5 /*numEras*/,
23319  kZoneEraAtlantic_Canary /*eras*/,
23320  nullptr /*targetInfo*/,
23321 };
23322 
23323 //---------------------------------------------------------------------------
23324 // Zone name: Atlantic/Cape_Verde
23325 // Eras: 5
23326 //---------------------------------------------------------------------------
23327 
23328 static const complete::Info::ZoneEra kZoneEraAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = {
23329  // -1:34:04 - LMT 1912 Jan 01 2:00u
23330  {
23331  nullptr /*zonePolicy*/,
23332  "LMT" /*format*/,
23333  -377 /*offsetCode (-5644/15)*/,
23334  11 /*offsetRemainder (-5644%15)*/,
23335  0 /*deltaMinutes*/,
23336  1912 /*untilYear*/,
23337  1 /*untilMonth*/,
23338  1 /*untilDay*/,
23339  480 /*untilTimeCode (7200/15)*/,
23340  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
23341  },
23342  // -2:00 - %z 1942 Sep
23343  {
23344  nullptr /*zonePolicy*/,
23345  "" /*format*/,
23346  -480 /*offsetCode (-7200/15)*/,
23347  0 /*offsetRemainder (-7200%15)*/,
23348  0 /*deltaMinutes*/,
23349  1942 /*untilYear*/,
23350  9 /*untilMonth*/,
23351  1 /*untilDay*/,
23352  0 /*untilTimeCode (0/15)*/,
23353  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23354  },
23355  // -2:00 1:00 %z 1945 Oct 15
23356  {
23357  nullptr /*zonePolicy*/,
23358  "" /*format*/,
23359  -480 /*offsetCode (-7200/15)*/,
23360  0 /*offsetRemainder (-7200%15)*/,
23361  60 /*deltaMinutes*/,
23362  1945 /*untilYear*/,
23363  10 /*untilMonth*/,
23364  15 /*untilDay*/,
23365  0 /*untilTimeCode (0/15)*/,
23366  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23367  },
23368  // -2:00 - %z 1975 Nov 25 2:00
23369  {
23370  nullptr /*zonePolicy*/,
23371  "" /*format*/,
23372  -480 /*offsetCode (-7200/15)*/,
23373  0 /*offsetRemainder (-7200%15)*/,
23374  0 /*deltaMinutes*/,
23375  1975 /*untilYear*/,
23376  11 /*untilMonth*/,
23377  25 /*untilDay*/,
23378  480 /*untilTimeCode (7200/15)*/,
23379  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23380  },
23381  // -1:00 - %z
23382  {
23383  nullptr /*zonePolicy*/,
23384  "" /*format*/,
23385  -240 /*offsetCode (-3600/15)*/,
23386  0 /*offsetRemainder (-3600%15)*/,
23387  0 /*deltaMinutes*/,
23388  32767 /*untilYear*/,
23389  1 /*untilMonth*/,
23390  1 /*untilDay*/,
23391  0 /*untilTimeCode (0/15)*/,
23392  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23393  },
23394 
23395 };
23396 
23397 static const char kZoneNameAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = "\x06" "Cape_Verde";
23398 
23399 const complete::Info::ZoneInfo kZoneAtlantic_Cape_Verde ACE_TIME_PROGMEM = {
23400  kZoneNameAtlantic_Cape_Verde /*name*/,
23401  0x5c5e1772 /*zoneId*/,
23402  &kZoneContext /*zoneContext*/,
23403  5 /*numEras*/,
23404  kZoneEraAtlantic_Cape_Verde /*eras*/,
23405  nullptr /*targetInfo*/,
23406 };
23407 
23408 //---------------------------------------------------------------------------
23409 // Zone name: Atlantic/Faroe
23410 // Eras: 3
23411 //---------------------------------------------------------------------------
23412 
23413 static const complete::Info::ZoneEra kZoneEraAtlantic_Faroe[] ACE_TIME_PROGMEM = {
23414  // -0:27:04 - LMT 1908 Jan 11
23415  {
23416  nullptr /*zonePolicy*/,
23417  "LMT" /*format*/,
23418  -109 /*offsetCode (-1624/15)*/,
23419  11 /*offsetRemainder (-1624%15)*/,
23420  0 /*deltaMinutes*/,
23421  1908 /*untilYear*/,
23422  1 /*untilMonth*/,
23423  11 /*untilDay*/,
23424  0 /*untilTimeCode (0/15)*/,
23425  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23426  },
23427  // 0:00 - WET 1981
23428  {
23429  nullptr /*zonePolicy*/,
23430  "WET" /*format*/,
23431  0 /*offsetCode (0/15)*/,
23432  0 /*offsetRemainder (0%15)*/,
23433  0 /*deltaMinutes*/,
23434  1981 /*untilYear*/,
23435  1 /*untilMonth*/,
23436  1 /*untilDay*/,
23437  0 /*untilTimeCode (0/15)*/,
23438  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23439  },
23440  // 0:00 EU WE%sT
23441  {
23442  &kZonePolicyEU /*zonePolicy*/,
23443  "WE%T" /*format*/,
23444  0 /*offsetCode (0/15)*/,
23445  0 /*offsetRemainder (0%15)*/,
23446  0 /*deltaMinutes*/,
23447  32767 /*untilYear*/,
23448  1 /*untilMonth*/,
23449  1 /*untilDay*/,
23450  0 /*untilTimeCode (0/15)*/,
23451  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23452  },
23453 
23454 };
23455 
23456 static const char kZoneNameAtlantic_Faroe[] ACE_TIME_PROGMEM = "\x06" "Faroe";
23457 
23458 const complete::Info::ZoneInfo kZoneAtlantic_Faroe ACE_TIME_PROGMEM = {
23459  kZoneNameAtlantic_Faroe /*name*/,
23460  0xe110a971 /*zoneId*/,
23461  &kZoneContext /*zoneContext*/,
23462  3 /*numEras*/,
23463  kZoneEraAtlantic_Faroe /*eras*/,
23464  nullptr /*targetInfo*/,
23465 };
23466 
23467 //---------------------------------------------------------------------------
23468 // Zone name: Atlantic/Madeira
23469 // Eras: 6
23470 //---------------------------------------------------------------------------
23471 
23472 static const complete::Info::ZoneEra kZoneEraAtlantic_Madeira[] ACE_TIME_PROGMEM = {
23473  // -1:07:36 - LMT 1884
23474  {
23475  nullptr /*zonePolicy*/,
23476  "LMT" /*format*/,
23477  -271 /*offsetCode (-4056/15)*/,
23478  9 /*offsetRemainder (-4056%15)*/,
23479  0 /*deltaMinutes*/,
23480  1884 /*untilYear*/,
23481  1 /*untilMonth*/,
23482  1 /*untilDay*/,
23483  0 /*untilTimeCode (0/15)*/,
23484  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23485  },
23486  // -1:07:36 - FMT 1912 Jan 1 1:00u
23487  {
23488  nullptr /*zonePolicy*/,
23489  "FMT" /*format*/,
23490  -271 /*offsetCode (-4056/15)*/,
23491  9 /*offsetRemainder (-4056%15)*/,
23492  0 /*deltaMinutes*/,
23493  1912 /*untilYear*/,
23494  1 /*untilMonth*/,
23495  1 /*untilDay*/,
23496  240 /*untilTimeCode (3600/15)*/,
23497  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
23498  },
23499  // -1:00 Port %z 1966 Oct 2 2:00s
23500  {
23501  &kZonePolicyPort /*zonePolicy*/,
23502  "" /*format*/,
23503  -240 /*offsetCode (-3600/15)*/,
23504  0 /*offsetRemainder (-3600%15)*/,
23505  0 /*deltaMinutes*/,
23506  1966 /*untilYear*/,
23507  10 /*untilMonth*/,
23508  2 /*untilDay*/,
23509  480 /*untilTimeCode (7200/15)*/,
23510  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23511  },
23512  // 0:00 - WET 1982 Apr 4
23513  {
23514  nullptr /*zonePolicy*/,
23515  "WET" /*format*/,
23516  0 /*offsetCode (0/15)*/,
23517  0 /*offsetRemainder (0%15)*/,
23518  0 /*deltaMinutes*/,
23519  1982 /*untilYear*/,
23520  4 /*untilMonth*/,
23521  4 /*untilDay*/,
23522  0 /*untilTimeCode (0/15)*/,
23523  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23524  },
23525  // 0:00 Port WE%sT 1986 Jul 31
23526  {
23527  &kZonePolicyPort /*zonePolicy*/,
23528  "WE%T" /*format*/,
23529  0 /*offsetCode (0/15)*/,
23530  0 /*offsetRemainder (0%15)*/,
23531  0 /*deltaMinutes*/,
23532  1986 /*untilYear*/,
23533  7 /*untilMonth*/,
23534  31 /*untilDay*/,
23535  0 /*untilTimeCode (0/15)*/,
23536  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23537  },
23538  // 0:00 EU WE%sT
23539  {
23540  &kZonePolicyEU /*zonePolicy*/,
23541  "WE%T" /*format*/,
23542  0 /*offsetCode (0/15)*/,
23543  0 /*offsetRemainder (0%15)*/,
23544  0 /*deltaMinutes*/,
23545  32767 /*untilYear*/,
23546  1 /*untilMonth*/,
23547  1 /*untilDay*/,
23548  0 /*untilTimeCode (0/15)*/,
23549  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23550  },
23551 
23552 };
23553 
23554 static const char kZoneNameAtlantic_Madeira[] ACE_TIME_PROGMEM = "\x06" "Madeira";
23555 
23556 const complete::Info::ZoneInfo kZoneAtlantic_Madeira ACE_TIME_PROGMEM = {
23557  kZoneNameAtlantic_Madeira /*name*/,
23558  0x81b5c037 /*zoneId*/,
23559  &kZoneContext /*zoneContext*/,
23560  6 /*numEras*/,
23561  kZoneEraAtlantic_Madeira /*eras*/,
23562  nullptr /*targetInfo*/,
23563 };
23564 
23565 //---------------------------------------------------------------------------
23566 // Zone name: Atlantic/South_Georgia
23567 // Eras: 2
23568 //---------------------------------------------------------------------------
23569 
23570 static const complete::Info::ZoneEra kZoneEraAtlantic_South_Georgia[] ACE_TIME_PROGMEM = {
23571  // -2:26:08 - LMT 1890
23572  {
23573  nullptr /*zonePolicy*/,
23574  "LMT" /*format*/,
23575  -585 /*offsetCode (-8768/15)*/,
23576  7 /*offsetRemainder (-8768%15)*/,
23577  0 /*deltaMinutes*/,
23578  1890 /*untilYear*/,
23579  1 /*untilMonth*/,
23580  1 /*untilDay*/,
23581  0 /*untilTimeCode (0/15)*/,
23582  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23583  },
23584  // -2:00 - %z
23585  {
23586  nullptr /*zonePolicy*/,
23587  "" /*format*/,
23588  -480 /*offsetCode (-7200/15)*/,
23589  0 /*offsetRemainder (-7200%15)*/,
23590  0 /*deltaMinutes*/,
23591  32767 /*untilYear*/,
23592  1 /*untilMonth*/,
23593  1 /*untilDay*/,
23594  0 /*untilTimeCode (0/15)*/,
23595  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23596  },
23597 
23598 };
23599 
23600 static const char kZoneNameAtlantic_South_Georgia[] ACE_TIME_PROGMEM = "\x06" "South_Georgia";
23601 
23602 const complete::Info::ZoneInfo kZoneAtlantic_South_Georgia ACE_TIME_PROGMEM = {
23603  kZoneNameAtlantic_South_Georgia /*name*/,
23604  0x33013174 /*zoneId*/,
23605  &kZoneContext /*zoneContext*/,
23606  2 /*numEras*/,
23607  kZoneEraAtlantic_South_Georgia /*eras*/,
23608  nullptr /*targetInfo*/,
23609 };
23610 
23611 //---------------------------------------------------------------------------
23612 // Zone name: Atlantic/Stanley
23613 // Eras: 6
23614 //---------------------------------------------------------------------------
23615 
23616 static const complete::Info::ZoneEra kZoneEraAtlantic_Stanley[] ACE_TIME_PROGMEM = {
23617  // -3:51:24 - LMT 1890
23618  {
23619  nullptr /*zonePolicy*/,
23620  "LMT" /*format*/,
23621  -926 /*offsetCode (-13884/15)*/,
23622  6 /*offsetRemainder (-13884%15)*/,
23623  0 /*deltaMinutes*/,
23624  1890 /*untilYear*/,
23625  1 /*untilMonth*/,
23626  1 /*untilDay*/,
23627  0 /*untilTimeCode (0/15)*/,
23628  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23629  },
23630  // -3:51:24 - SMT 1912 Mar 12
23631  {
23632  nullptr /*zonePolicy*/,
23633  "SMT" /*format*/,
23634  -926 /*offsetCode (-13884/15)*/,
23635  6 /*offsetRemainder (-13884%15)*/,
23636  0 /*deltaMinutes*/,
23637  1912 /*untilYear*/,
23638  3 /*untilMonth*/,
23639  12 /*untilDay*/,
23640  0 /*untilTimeCode (0/15)*/,
23641  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23642  },
23643  // -4:00 Falk %z 1983 May
23644  {
23645  &kZonePolicyFalk /*zonePolicy*/,
23646  "" /*format*/,
23647  -960 /*offsetCode (-14400/15)*/,
23648  0 /*offsetRemainder (-14400%15)*/,
23649  0 /*deltaMinutes*/,
23650  1983 /*untilYear*/,
23651  5 /*untilMonth*/,
23652  1 /*untilDay*/,
23653  0 /*untilTimeCode (0/15)*/,
23654  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23655  },
23656  // -3:00 Falk %z 1985 Sep 15
23657  {
23658  &kZonePolicyFalk /*zonePolicy*/,
23659  "" /*format*/,
23660  -720 /*offsetCode (-10800/15)*/,
23661  0 /*offsetRemainder (-10800%15)*/,
23662  0 /*deltaMinutes*/,
23663  1985 /*untilYear*/,
23664  9 /*untilMonth*/,
23665  15 /*untilDay*/,
23666  0 /*untilTimeCode (0/15)*/,
23667  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23668  },
23669  // -4:00 Falk %z 2010 Sep 5 2:00
23670  {
23671  &kZonePolicyFalk /*zonePolicy*/,
23672  "" /*format*/,
23673  -960 /*offsetCode (-14400/15)*/,
23674  0 /*offsetRemainder (-14400%15)*/,
23675  0 /*deltaMinutes*/,
23676  2010 /*untilYear*/,
23677  9 /*untilMonth*/,
23678  5 /*untilDay*/,
23679  480 /*untilTimeCode (7200/15)*/,
23680  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23681  },
23682  // -3:00 - %z
23683  {
23684  nullptr /*zonePolicy*/,
23685  "" /*format*/,
23686  -720 /*offsetCode (-10800/15)*/,
23687  0 /*offsetRemainder (-10800%15)*/,
23688  0 /*deltaMinutes*/,
23689  32767 /*untilYear*/,
23690  1 /*untilMonth*/,
23691  1 /*untilDay*/,
23692  0 /*untilTimeCode (0/15)*/,
23693  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23694  },
23695 
23696 };
23697 
23698 static const char kZoneNameAtlantic_Stanley[] ACE_TIME_PROGMEM = "\x06" "Stanley";
23699 
23700 const complete::Info::ZoneInfo kZoneAtlantic_Stanley ACE_TIME_PROGMEM = {
23701  kZoneNameAtlantic_Stanley /*name*/,
23702  0x7bb3e1c4 /*zoneId*/,
23703  &kZoneContext /*zoneContext*/,
23704  6 /*numEras*/,
23705  kZoneEraAtlantic_Stanley /*eras*/,
23706  nullptr /*targetInfo*/,
23707 };
23708 
23709 //---------------------------------------------------------------------------
23710 // Zone name: Australia/Adelaide
23711 // Eras: 4
23712 //---------------------------------------------------------------------------
23713 
23714 static const complete::Info::ZoneEra kZoneEraAustralia_Adelaide[] ACE_TIME_PROGMEM = {
23715  // 9:14:20 - LMT 1895 Feb
23716  {
23717  nullptr /*zonePolicy*/,
23718  "LMT" /*format*/,
23719  2217 /*offsetCode (33260/15)*/,
23720  5 /*offsetRemainder (33260%15)*/,
23721  0 /*deltaMinutes*/,
23722  1895 /*untilYear*/,
23723  2 /*untilMonth*/,
23724  1 /*untilDay*/,
23725  0 /*untilTimeCode (0/15)*/,
23726  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23727  },
23728  // 9:00 - ACST 1899 May
23729  {
23730  nullptr /*zonePolicy*/,
23731  "ACST" /*format*/,
23732  2160 /*offsetCode (32400/15)*/,
23733  0 /*offsetRemainder (32400%15)*/,
23734  0 /*deltaMinutes*/,
23735  1899 /*untilYear*/,
23736  5 /*untilMonth*/,
23737  1 /*untilDay*/,
23738  0 /*untilTimeCode (0/15)*/,
23739  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23740  },
23741  // 9:30 Aus AC%sT 1971
23742  {
23743  &kZonePolicyAus /*zonePolicy*/,
23744  "AC%T" /*format*/,
23745  2280 /*offsetCode (34200/15)*/,
23746  0 /*offsetRemainder (34200%15)*/,
23747  0 /*deltaMinutes*/,
23748  1971 /*untilYear*/,
23749  1 /*untilMonth*/,
23750  1 /*untilDay*/,
23751  0 /*untilTimeCode (0/15)*/,
23752  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23753  },
23754  // 9:30 AS AC%sT
23755  {
23756  &kZonePolicyAS /*zonePolicy*/,
23757  "AC%T" /*format*/,
23758  2280 /*offsetCode (34200/15)*/,
23759  0 /*offsetRemainder (34200%15)*/,
23760  0 /*deltaMinutes*/,
23761  32767 /*untilYear*/,
23762  1 /*untilMonth*/,
23763  1 /*untilDay*/,
23764  0 /*untilTimeCode (0/15)*/,
23765  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23766  },
23767 
23768 };
23769 
23770 static const char kZoneNameAustralia_Adelaide[] ACE_TIME_PROGMEM = "\x07" "Adelaide";
23771 
23772 const complete::Info::ZoneInfo kZoneAustralia_Adelaide ACE_TIME_PROGMEM = {
23773  kZoneNameAustralia_Adelaide /*name*/,
23774  0x2428e8a3 /*zoneId*/,
23775  &kZoneContext /*zoneContext*/,
23776  4 /*numEras*/,
23777  kZoneEraAustralia_Adelaide /*eras*/,
23778  nullptr /*targetInfo*/,
23779 };
23780 
23781 //---------------------------------------------------------------------------
23782 // Zone name: Australia/Brisbane
23783 // Eras: 3
23784 //---------------------------------------------------------------------------
23785 
23786 static const complete::Info::ZoneEra kZoneEraAustralia_Brisbane[] ACE_TIME_PROGMEM = {
23787  // 10:12:08 - LMT 1895
23788  {
23789  nullptr /*zonePolicy*/,
23790  "LMT" /*format*/,
23791  2448 /*offsetCode (36728/15)*/,
23792  8 /*offsetRemainder (36728%15)*/,
23793  0 /*deltaMinutes*/,
23794  1895 /*untilYear*/,
23795  1 /*untilMonth*/,
23796  1 /*untilDay*/,
23797  0 /*untilTimeCode (0/15)*/,
23798  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23799  },
23800  // 10:00 Aus AE%sT 1971
23801  {
23802  &kZonePolicyAus /*zonePolicy*/,
23803  "AE%T" /*format*/,
23804  2400 /*offsetCode (36000/15)*/,
23805  0 /*offsetRemainder (36000%15)*/,
23806  0 /*deltaMinutes*/,
23807  1971 /*untilYear*/,
23808  1 /*untilMonth*/,
23809  1 /*untilDay*/,
23810  0 /*untilTimeCode (0/15)*/,
23811  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23812  },
23813  // 10:00 AQ AE%sT
23814  {
23815  &kZonePolicyAQ /*zonePolicy*/,
23816  "AE%T" /*format*/,
23817  2400 /*offsetCode (36000/15)*/,
23818  0 /*offsetRemainder (36000%15)*/,
23819  0 /*deltaMinutes*/,
23820  32767 /*untilYear*/,
23821  1 /*untilMonth*/,
23822  1 /*untilDay*/,
23823  0 /*untilTimeCode (0/15)*/,
23824  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23825  },
23826 
23827 };
23828 
23829 static const char kZoneNameAustralia_Brisbane[] ACE_TIME_PROGMEM = "\x07" "Brisbane";
23830 
23831 const complete::Info::ZoneInfo kZoneAustralia_Brisbane ACE_TIME_PROGMEM = {
23832  kZoneNameAustralia_Brisbane /*name*/,
23833  0x4fedc9c0 /*zoneId*/,
23834  &kZoneContext /*zoneContext*/,
23835  3 /*numEras*/,
23836  kZoneEraAustralia_Brisbane /*eras*/,
23837  nullptr /*targetInfo*/,
23838 };
23839 
23840 //---------------------------------------------------------------------------
23841 // Zone name: Australia/Broken_Hill
23842 // Eras: 6
23843 //---------------------------------------------------------------------------
23844 
23845 static const complete::Info::ZoneEra kZoneEraAustralia_Broken_Hill[] ACE_TIME_PROGMEM = {
23846  // 9:25:48 - LMT 1895 Feb
23847  {
23848  nullptr /*zonePolicy*/,
23849  "LMT" /*format*/,
23850  2263 /*offsetCode (33948/15)*/,
23851  3 /*offsetRemainder (33948%15)*/,
23852  0 /*deltaMinutes*/,
23853  1895 /*untilYear*/,
23854  2 /*untilMonth*/,
23855  1 /*untilDay*/,
23856  0 /*untilTimeCode (0/15)*/,
23857  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23858  },
23859  // 10:00 - AEST 1896 Aug 23
23860  {
23861  nullptr /*zonePolicy*/,
23862  "AEST" /*format*/,
23863  2400 /*offsetCode (36000/15)*/,
23864  0 /*offsetRemainder (36000%15)*/,
23865  0 /*deltaMinutes*/,
23866  1896 /*untilYear*/,
23867  8 /*untilMonth*/,
23868  23 /*untilDay*/,
23869  0 /*untilTimeCode (0/15)*/,
23870  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23871  },
23872  // 9:00 - ACST 1899 May
23873  {
23874  nullptr /*zonePolicy*/,
23875  "ACST" /*format*/,
23876  2160 /*offsetCode (32400/15)*/,
23877  0 /*offsetRemainder (32400%15)*/,
23878  0 /*deltaMinutes*/,
23879  1899 /*untilYear*/,
23880  5 /*untilMonth*/,
23881  1 /*untilDay*/,
23882  0 /*untilTimeCode (0/15)*/,
23883  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23884  },
23885  // 9:30 Aus AC%sT 1971
23886  {
23887  &kZonePolicyAus /*zonePolicy*/,
23888  "AC%T" /*format*/,
23889  2280 /*offsetCode (34200/15)*/,
23890  0 /*offsetRemainder (34200%15)*/,
23891  0 /*deltaMinutes*/,
23892  1971 /*untilYear*/,
23893  1 /*untilMonth*/,
23894  1 /*untilDay*/,
23895  0 /*untilTimeCode (0/15)*/,
23896  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23897  },
23898  // 9:30 AN AC%sT 2000
23899  {
23900  &kZonePolicyAN /*zonePolicy*/,
23901  "AC%T" /*format*/,
23902  2280 /*offsetCode (34200/15)*/,
23903  0 /*offsetRemainder (34200%15)*/,
23904  0 /*deltaMinutes*/,
23905  2000 /*untilYear*/,
23906  1 /*untilMonth*/,
23907  1 /*untilDay*/,
23908  0 /*untilTimeCode (0/15)*/,
23909  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23910  },
23911  // 9:30 AS AC%sT
23912  {
23913  &kZonePolicyAS /*zonePolicy*/,
23914  "AC%T" /*format*/,
23915  2280 /*offsetCode (34200/15)*/,
23916  0 /*offsetRemainder (34200%15)*/,
23917  0 /*deltaMinutes*/,
23918  32767 /*untilYear*/,
23919  1 /*untilMonth*/,
23920  1 /*untilDay*/,
23921  0 /*untilTimeCode (0/15)*/,
23922  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23923  },
23924 
23925 };
23926 
23927 static const char kZoneNameAustralia_Broken_Hill[] ACE_TIME_PROGMEM = "\x07" "Broken_Hill";
23928 
23929 const complete::Info::ZoneInfo kZoneAustralia_Broken_Hill ACE_TIME_PROGMEM = {
23930  kZoneNameAustralia_Broken_Hill /*name*/,
23931  0xb06eada3 /*zoneId*/,
23932  &kZoneContext /*zoneContext*/,
23933  6 /*numEras*/,
23934  kZoneEraAustralia_Broken_Hill /*eras*/,
23935  nullptr /*targetInfo*/,
23936 };
23937 
23938 //---------------------------------------------------------------------------
23939 // Zone name: Australia/Darwin
23940 // Eras: 3
23941 //---------------------------------------------------------------------------
23942 
23943 static const complete::Info::ZoneEra kZoneEraAustralia_Darwin[] ACE_TIME_PROGMEM = {
23944  // 8:43:20 - LMT 1895 Feb
23945  {
23946  nullptr /*zonePolicy*/,
23947  "LMT" /*format*/,
23948  2093 /*offsetCode (31400/15)*/,
23949  5 /*offsetRemainder (31400%15)*/,
23950  0 /*deltaMinutes*/,
23951  1895 /*untilYear*/,
23952  2 /*untilMonth*/,
23953  1 /*untilDay*/,
23954  0 /*untilTimeCode (0/15)*/,
23955  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23956  },
23957  // 9:00 - ACST 1899 May
23958  {
23959  nullptr /*zonePolicy*/,
23960  "ACST" /*format*/,
23961  2160 /*offsetCode (32400/15)*/,
23962  0 /*offsetRemainder (32400%15)*/,
23963  0 /*deltaMinutes*/,
23964  1899 /*untilYear*/,
23965  5 /*untilMonth*/,
23966  1 /*untilDay*/,
23967  0 /*untilTimeCode (0/15)*/,
23968  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23969  },
23970  // 9:30 Aus AC%sT
23971  {
23972  &kZonePolicyAus /*zonePolicy*/,
23973  "AC%T" /*format*/,
23974  2280 /*offsetCode (34200/15)*/,
23975  0 /*offsetRemainder (34200%15)*/,
23976  0 /*deltaMinutes*/,
23977  32767 /*untilYear*/,
23978  1 /*untilMonth*/,
23979  1 /*untilDay*/,
23980  0 /*untilTimeCode (0/15)*/,
23981  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23982  },
23983 
23984 };
23985 
23986 static const char kZoneNameAustralia_Darwin[] ACE_TIME_PROGMEM = "\x07" "Darwin";
23987 
23988 const complete::Info::ZoneInfo kZoneAustralia_Darwin ACE_TIME_PROGMEM = {
23989  kZoneNameAustralia_Darwin /*name*/,
23990  0x2876bdff /*zoneId*/,
23991  &kZoneContext /*zoneContext*/,
23992  3 /*numEras*/,
23993  kZoneEraAustralia_Darwin /*eras*/,
23994  nullptr /*targetInfo*/,
23995 };
23996 
23997 //---------------------------------------------------------------------------
23998 // Zone name: Australia/Eucla
23999 // Eras: 3
24000 //---------------------------------------------------------------------------
24001 
24002 static const complete::Info::ZoneEra kZoneEraAustralia_Eucla[] ACE_TIME_PROGMEM = {
24003  // 8:35:28 - LMT 1895 Dec
24004  {
24005  nullptr /*zonePolicy*/,
24006  "LMT" /*format*/,
24007  2061 /*offsetCode (30928/15)*/,
24008  13 /*offsetRemainder (30928%15)*/,
24009  0 /*deltaMinutes*/,
24010  1895 /*untilYear*/,
24011  12 /*untilMonth*/,
24012  1 /*untilDay*/,
24013  0 /*untilTimeCode (0/15)*/,
24014  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24015  },
24016  // 8:45 Aus %z 1943 Jul
24017  {
24018  &kZonePolicyAus /*zonePolicy*/,
24019  "" /*format*/,
24020  2100 /*offsetCode (31500/15)*/,
24021  0 /*offsetRemainder (31500%15)*/,
24022  0 /*deltaMinutes*/,
24023  1943 /*untilYear*/,
24024  7 /*untilMonth*/,
24025  1 /*untilDay*/,
24026  0 /*untilTimeCode (0/15)*/,
24027  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24028  },
24029  // 8:45 AW %z
24030  {
24031  &kZonePolicyAW /*zonePolicy*/,
24032  "" /*format*/,
24033  2100 /*offsetCode (31500/15)*/,
24034  0 /*offsetRemainder (31500%15)*/,
24035  0 /*deltaMinutes*/,
24036  32767 /*untilYear*/,
24037  1 /*untilMonth*/,
24038  1 /*untilDay*/,
24039  0 /*untilTimeCode (0/15)*/,
24040  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24041  },
24042 
24043 };
24044 
24045 static const char kZoneNameAustralia_Eucla[] ACE_TIME_PROGMEM = "\x07" "Eucla";
24046 
24047 const complete::Info::ZoneInfo kZoneAustralia_Eucla ACE_TIME_PROGMEM = {
24048  kZoneNameAustralia_Eucla /*name*/,
24049  0x8cf99e44 /*zoneId*/,
24050  &kZoneContext /*zoneContext*/,
24051  3 /*numEras*/,
24052  kZoneEraAustralia_Eucla /*eras*/,
24053  nullptr /*targetInfo*/,
24054 };
24055 
24056 //---------------------------------------------------------------------------
24057 // Zone name: Australia/Hobart
24058 // Eras: 4
24059 //---------------------------------------------------------------------------
24060 
24061 static const complete::Info::ZoneEra kZoneEraAustralia_Hobart[] ACE_TIME_PROGMEM = {
24062  // 9:49:16 - LMT 1895 Sep
24063  {
24064  nullptr /*zonePolicy*/,
24065  "LMT" /*format*/,
24066  2357 /*offsetCode (35356/15)*/,
24067  1 /*offsetRemainder (35356%15)*/,
24068  0 /*deltaMinutes*/,
24069  1895 /*untilYear*/,
24070  9 /*untilMonth*/,
24071  1 /*untilDay*/,
24072  0 /*untilTimeCode (0/15)*/,
24073  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24074  },
24075  // 10:00 AT AE%sT 1919 Oct 24
24076  {
24077  &kZonePolicyAT /*zonePolicy*/,
24078  "AE%T" /*format*/,
24079  2400 /*offsetCode (36000/15)*/,
24080  0 /*offsetRemainder (36000%15)*/,
24081  0 /*deltaMinutes*/,
24082  1919 /*untilYear*/,
24083  10 /*untilMonth*/,
24084  24 /*untilDay*/,
24085  0 /*untilTimeCode (0/15)*/,
24086  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24087  },
24088  // 10:00 Aus AE%sT 1967
24089  {
24090  &kZonePolicyAus /*zonePolicy*/,
24091  "AE%T" /*format*/,
24092  2400 /*offsetCode (36000/15)*/,
24093  0 /*offsetRemainder (36000%15)*/,
24094  0 /*deltaMinutes*/,
24095  1967 /*untilYear*/,
24096  1 /*untilMonth*/,
24097  1 /*untilDay*/,
24098  0 /*untilTimeCode (0/15)*/,
24099  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24100  },
24101  // 10:00 AT AE%sT
24102  {
24103  &kZonePolicyAT /*zonePolicy*/,
24104  "AE%T" /*format*/,
24105  2400 /*offsetCode (36000/15)*/,
24106  0 /*offsetRemainder (36000%15)*/,
24107  0 /*deltaMinutes*/,
24108  32767 /*untilYear*/,
24109  1 /*untilMonth*/,
24110  1 /*untilDay*/,
24111  0 /*untilTimeCode (0/15)*/,
24112  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24113  },
24114 
24115 };
24116 
24117 static const char kZoneNameAustralia_Hobart[] ACE_TIME_PROGMEM = "\x07" "Hobart";
24118 
24119 const complete::Info::ZoneInfo kZoneAustralia_Hobart ACE_TIME_PROGMEM = {
24120  kZoneNameAustralia_Hobart /*name*/,
24121  0x32bf951a /*zoneId*/,
24122  &kZoneContext /*zoneContext*/,
24123  4 /*numEras*/,
24124  kZoneEraAustralia_Hobart /*eras*/,
24125  nullptr /*targetInfo*/,
24126 };
24127 
24128 //---------------------------------------------------------------------------
24129 // Zone name: Australia/Lindeman
24130 // Eras: 4
24131 //---------------------------------------------------------------------------
24132 
24133 static const complete::Info::ZoneEra kZoneEraAustralia_Lindeman[] ACE_TIME_PROGMEM = {
24134  // 9:55:56 - LMT 1895
24135  {
24136  nullptr /*zonePolicy*/,
24137  "LMT" /*format*/,
24138  2383 /*offsetCode (35756/15)*/,
24139  11 /*offsetRemainder (35756%15)*/,
24140  0 /*deltaMinutes*/,
24141  1895 /*untilYear*/,
24142  1 /*untilMonth*/,
24143  1 /*untilDay*/,
24144  0 /*untilTimeCode (0/15)*/,
24145  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24146  },
24147  // 10:00 Aus AE%sT 1971
24148  {
24149  &kZonePolicyAus /*zonePolicy*/,
24150  "AE%T" /*format*/,
24151  2400 /*offsetCode (36000/15)*/,
24152  0 /*offsetRemainder (36000%15)*/,
24153  0 /*deltaMinutes*/,
24154  1971 /*untilYear*/,
24155  1 /*untilMonth*/,
24156  1 /*untilDay*/,
24157  0 /*untilTimeCode (0/15)*/,
24158  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24159  },
24160  // 10:00 AQ AE%sT 1992 Jul
24161  {
24162  &kZonePolicyAQ /*zonePolicy*/,
24163  "AE%T" /*format*/,
24164  2400 /*offsetCode (36000/15)*/,
24165  0 /*offsetRemainder (36000%15)*/,
24166  0 /*deltaMinutes*/,
24167  1992 /*untilYear*/,
24168  7 /*untilMonth*/,
24169  1 /*untilDay*/,
24170  0 /*untilTimeCode (0/15)*/,
24171  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24172  },
24173  // 10:00 Holiday AE%sT
24174  {
24175  &kZonePolicyHoliday /*zonePolicy*/,
24176  "AE%T" /*format*/,
24177  2400 /*offsetCode (36000/15)*/,
24178  0 /*offsetRemainder (36000%15)*/,
24179  0 /*deltaMinutes*/,
24180  32767 /*untilYear*/,
24181  1 /*untilMonth*/,
24182  1 /*untilDay*/,
24183  0 /*untilTimeCode (0/15)*/,
24184  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24185  },
24186 
24187 };
24188 
24189 static const char kZoneNameAustralia_Lindeman[] ACE_TIME_PROGMEM = "\x07" "Lindeman";
24190 
24191 const complete::Info::ZoneInfo kZoneAustralia_Lindeman ACE_TIME_PROGMEM = {
24192  kZoneNameAustralia_Lindeman /*name*/,
24193  0xe05029e2 /*zoneId*/,
24194  &kZoneContext /*zoneContext*/,
24195  4 /*numEras*/,
24196  kZoneEraAustralia_Lindeman /*eras*/,
24197  nullptr /*targetInfo*/,
24198 };
24199 
24200 //---------------------------------------------------------------------------
24201 // Zone name: Australia/Lord_Howe
24202 // Eras: 4
24203 //---------------------------------------------------------------------------
24204 
24205 static const complete::Info::ZoneEra kZoneEraAustralia_Lord_Howe[] ACE_TIME_PROGMEM = {
24206  // 10:36:20 - LMT 1895 Feb
24207  {
24208  nullptr /*zonePolicy*/,
24209  "LMT" /*format*/,
24210  2545 /*offsetCode (38180/15)*/,
24211  5 /*offsetRemainder (38180%15)*/,
24212  0 /*deltaMinutes*/,
24213  1895 /*untilYear*/,
24214  2 /*untilMonth*/,
24215  1 /*untilDay*/,
24216  0 /*untilTimeCode (0/15)*/,
24217  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24218  },
24219  // 10:00 - AEST 1981 Mar
24220  {
24221  nullptr /*zonePolicy*/,
24222  "AEST" /*format*/,
24223  2400 /*offsetCode (36000/15)*/,
24224  0 /*offsetRemainder (36000%15)*/,
24225  0 /*deltaMinutes*/,
24226  1981 /*untilYear*/,
24227  3 /*untilMonth*/,
24228  1 /*untilDay*/,
24229  0 /*untilTimeCode (0/15)*/,
24230  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24231  },
24232  // 10:30 LH %z 1985 Jul
24233  {
24234  &kZonePolicyLH /*zonePolicy*/,
24235  "" /*format*/,
24236  2520 /*offsetCode (37800/15)*/,
24237  0 /*offsetRemainder (37800%15)*/,
24238  0 /*deltaMinutes*/,
24239  1985 /*untilYear*/,
24240  7 /*untilMonth*/,
24241  1 /*untilDay*/,
24242  0 /*untilTimeCode (0/15)*/,
24243  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24244  },
24245  // 10:30 LH %z
24246  {
24247  &kZonePolicyLH /*zonePolicy*/,
24248  "" /*format*/,
24249  2520 /*offsetCode (37800/15)*/,
24250  0 /*offsetRemainder (37800%15)*/,
24251  0 /*deltaMinutes*/,
24252  32767 /*untilYear*/,
24253  1 /*untilMonth*/,
24254  1 /*untilDay*/,
24255  0 /*untilTimeCode (0/15)*/,
24256  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24257  },
24258 
24259 };
24260 
24261 static const char kZoneNameAustralia_Lord_Howe[] ACE_TIME_PROGMEM = "\x07" "Lord_Howe";
24262 
24263 const complete::Info::ZoneInfo kZoneAustralia_Lord_Howe ACE_TIME_PROGMEM = {
24264  kZoneNameAustralia_Lord_Howe /*name*/,
24265  0xa748b67d /*zoneId*/,
24266  &kZoneContext /*zoneContext*/,
24267  4 /*numEras*/,
24268  kZoneEraAustralia_Lord_Howe /*eras*/,
24269  nullptr /*targetInfo*/,
24270 };
24271 
24272 //---------------------------------------------------------------------------
24273 // Zone name: Australia/Melbourne
24274 // Eras: 3
24275 //---------------------------------------------------------------------------
24276 
24277 static const complete::Info::ZoneEra kZoneEraAustralia_Melbourne[] ACE_TIME_PROGMEM = {
24278  // 9:39:52 - LMT 1895 Feb
24279  {
24280  nullptr /*zonePolicy*/,
24281  "LMT" /*format*/,
24282  2319 /*offsetCode (34792/15)*/,
24283  7 /*offsetRemainder (34792%15)*/,
24284  0 /*deltaMinutes*/,
24285  1895 /*untilYear*/,
24286  2 /*untilMonth*/,
24287  1 /*untilDay*/,
24288  0 /*untilTimeCode (0/15)*/,
24289  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24290  },
24291  // 10:00 Aus AE%sT 1971
24292  {
24293  &kZonePolicyAus /*zonePolicy*/,
24294  "AE%T" /*format*/,
24295  2400 /*offsetCode (36000/15)*/,
24296  0 /*offsetRemainder (36000%15)*/,
24297  0 /*deltaMinutes*/,
24298  1971 /*untilYear*/,
24299  1 /*untilMonth*/,
24300  1 /*untilDay*/,
24301  0 /*untilTimeCode (0/15)*/,
24302  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24303  },
24304  // 10:00 AV AE%sT
24305  {
24306  &kZonePolicyAV /*zonePolicy*/,
24307  "AE%T" /*format*/,
24308  2400 /*offsetCode (36000/15)*/,
24309  0 /*offsetRemainder (36000%15)*/,
24310  0 /*deltaMinutes*/,
24311  32767 /*untilYear*/,
24312  1 /*untilMonth*/,
24313  1 /*untilDay*/,
24314  0 /*untilTimeCode (0/15)*/,
24315  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24316  },
24317 
24318 };
24319 
24320 static const char kZoneNameAustralia_Melbourne[] ACE_TIME_PROGMEM = "\x07" "Melbourne";
24321 
24322 const complete::Info::ZoneInfo kZoneAustralia_Melbourne ACE_TIME_PROGMEM = {
24323  kZoneNameAustralia_Melbourne /*name*/,
24324  0x0fe559a3 /*zoneId*/,
24325  &kZoneContext /*zoneContext*/,
24326  3 /*numEras*/,
24327  kZoneEraAustralia_Melbourne /*eras*/,
24328  nullptr /*targetInfo*/,
24329 };
24330 
24331 //---------------------------------------------------------------------------
24332 // Zone name: Australia/Perth
24333 // Eras: 3
24334 //---------------------------------------------------------------------------
24335 
24336 static const complete::Info::ZoneEra kZoneEraAustralia_Perth[] ACE_TIME_PROGMEM = {
24337  // 7:43:24 - LMT 1895 Dec
24338  {
24339  nullptr /*zonePolicy*/,
24340  "LMT" /*format*/,
24341  1853 /*offsetCode (27804/15)*/,
24342  9 /*offsetRemainder (27804%15)*/,
24343  0 /*deltaMinutes*/,
24344  1895 /*untilYear*/,
24345  12 /*untilMonth*/,
24346  1 /*untilDay*/,
24347  0 /*untilTimeCode (0/15)*/,
24348  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24349  },
24350  // 8:00 Aus AW%sT 1943 Jul
24351  {
24352  &kZonePolicyAus /*zonePolicy*/,
24353  "AW%T" /*format*/,
24354  1920 /*offsetCode (28800/15)*/,
24355  0 /*offsetRemainder (28800%15)*/,
24356  0 /*deltaMinutes*/,
24357  1943 /*untilYear*/,
24358  7 /*untilMonth*/,
24359  1 /*untilDay*/,
24360  0 /*untilTimeCode (0/15)*/,
24361  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24362  },
24363  // 8:00 AW AW%sT
24364  {
24365  &kZonePolicyAW /*zonePolicy*/,
24366  "AW%T" /*format*/,
24367  1920 /*offsetCode (28800/15)*/,
24368  0 /*offsetRemainder (28800%15)*/,
24369  0 /*deltaMinutes*/,
24370  32767 /*untilYear*/,
24371  1 /*untilMonth*/,
24372  1 /*untilDay*/,
24373  0 /*untilTimeCode (0/15)*/,
24374  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24375  },
24376 
24377 };
24378 
24379 static const char kZoneNameAustralia_Perth[] ACE_TIME_PROGMEM = "\x07" "Perth";
24380 
24381 const complete::Info::ZoneInfo kZoneAustralia_Perth ACE_TIME_PROGMEM = {
24382  kZoneNameAustralia_Perth /*name*/,
24383  0x8db8269d /*zoneId*/,
24384  &kZoneContext /*zoneContext*/,
24385  3 /*numEras*/,
24386  kZoneEraAustralia_Perth /*eras*/,
24387  nullptr /*targetInfo*/,
24388 };
24389 
24390 //---------------------------------------------------------------------------
24391 // Zone name: Australia/Sydney
24392 // Eras: 3
24393 //---------------------------------------------------------------------------
24394 
24395 static const complete::Info::ZoneEra kZoneEraAustralia_Sydney[] ACE_TIME_PROGMEM = {
24396  // 10:04:52 - LMT 1895 Feb
24397  {
24398  nullptr /*zonePolicy*/,
24399  "LMT" /*format*/,
24400  2419 /*offsetCode (36292/15)*/,
24401  7 /*offsetRemainder (36292%15)*/,
24402  0 /*deltaMinutes*/,
24403  1895 /*untilYear*/,
24404  2 /*untilMonth*/,
24405  1 /*untilDay*/,
24406  0 /*untilTimeCode (0/15)*/,
24407  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24408  },
24409  // 10:00 Aus AE%sT 1971
24410  {
24411  &kZonePolicyAus /*zonePolicy*/,
24412  "AE%T" /*format*/,
24413  2400 /*offsetCode (36000/15)*/,
24414  0 /*offsetRemainder (36000%15)*/,
24415  0 /*deltaMinutes*/,
24416  1971 /*untilYear*/,
24417  1 /*untilMonth*/,
24418  1 /*untilDay*/,
24419  0 /*untilTimeCode (0/15)*/,
24420  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24421  },
24422  // 10:00 AN AE%sT
24423  {
24424  &kZonePolicyAN /*zonePolicy*/,
24425  "AE%T" /*format*/,
24426  2400 /*offsetCode (36000/15)*/,
24427  0 /*offsetRemainder (36000%15)*/,
24428  0 /*deltaMinutes*/,
24429  32767 /*untilYear*/,
24430  1 /*untilMonth*/,
24431  1 /*untilDay*/,
24432  0 /*untilTimeCode (0/15)*/,
24433  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24434  },
24435 
24436 };
24437 
24438 static const char kZoneNameAustralia_Sydney[] ACE_TIME_PROGMEM = "\x07" "Sydney";
24439 
24440 const complete::Info::ZoneInfo kZoneAustralia_Sydney ACE_TIME_PROGMEM = {
24441  kZoneNameAustralia_Sydney /*name*/,
24442  0x4d1e9776 /*zoneId*/,
24443  &kZoneContext /*zoneContext*/,
24444  3 /*numEras*/,
24445  kZoneEraAustralia_Sydney /*eras*/,
24446  nullptr /*targetInfo*/,
24447 };
24448 
24449 //---------------------------------------------------------------------------
24450 // Zone name: Etc/GMT
24451 // Eras: 1
24452 //---------------------------------------------------------------------------
24453 
24454 static const complete::Info::ZoneEra kZoneEraEtc_GMT[] ACE_TIME_PROGMEM = {
24455  // 0 - GMT
24456  {
24457  nullptr /*zonePolicy*/,
24458  "GMT" /*format*/,
24459  0 /*offsetCode (0/15)*/,
24460  0 /*offsetRemainder (0%15)*/,
24461  0 /*deltaMinutes*/,
24462  32767 /*untilYear*/,
24463  1 /*untilMonth*/,
24464  1 /*untilDay*/,
24465  0 /*untilTimeCode (0/15)*/,
24466  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24467  },
24468 
24469 };
24470 
24471 static const char kZoneNameEtc_GMT[] ACE_TIME_PROGMEM = "\x0a" "GMT";
24472 
24473 const complete::Info::ZoneInfo kZoneEtc_GMT ACE_TIME_PROGMEM = {
24474  kZoneNameEtc_GMT /*name*/,
24475  0xd8e2de58 /*zoneId*/,
24476  &kZoneContext /*zoneContext*/,
24477  1 /*numEras*/,
24478  kZoneEraEtc_GMT /*eras*/,
24479  nullptr /*targetInfo*/,
24480 };
24481 
24482 //---------------------------------------------------------------------------
24483 // Zone name: Etc/GMT+1
24484 // Eras: 1
24485 //---------------------------------------------------------------------------
24486 
24487 static const complete::Info::ZoneEra kZoneEraEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = {
24488  // -1 - %z
24489  {
24490  nullptr /*zonePolicy*/,
24491  "" /*format*/,
24492  -240 /*offsetCode (-3600/15)*/,
24493  0 /*offsetRemainder (-3600%15)*/,
24494  0 /*deltaMinutes*/,
24495  32767 /*untilYear*/,
24496  1 /*untilMonth*/,
24497  1 /*untilDay*/,
24498  0 /*untilTimeCode (0/15)*/,
24499  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24500  },
24501 
24502 };
24503 
24504 static const char kZoneNameEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = "\x0a" "GMT+1";
24505 
24506 const complete::Info::ZoneInfo kZoneEtc_GMT_PLUS_1 ACE_TIME_PROGMEM = {
24507  kZoneNameEtc_GMT_PLUS_1 /*name*/,
24508  0x9d13da14 /*zoneId*/,
24509  &kZoneContext /*zoneContext*/,
24510  1 /*numEras*/,
24511  kZoneEraEtc_GMT_PLUS_1 /*eras*/,
24512  nullptr /*targetInfo*/,
24513 };
24514 
24515 //---------------------------------------------------------------------------
24516 // Zone name: Etc/GMT+10
24517 // Eras: 1
24518 //---------------------------------------------------------------------------
24519 
24520 static const complete::Info::ZoneEra kZoneEraEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = {
24521  // -10 - %z
24522  {
24523  nullptr /*zonePolicy*/,
24524  "" /*format*/,
24525  -2400 /*offsetCode (-36000/15)*/,
24526  0 /*offsetRemainder (-36000%15)*/,
24527  0 /*deltaMinutes*/,
24528  32767 /*untilYear*/,
24529  1 /*untilMonth*/,
24530  1 /*untilDay*/,
24531  0 /*untilTimeCode (0/15)*/,
24532  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24533  },
24534 
24535 };
24536 
24537 static const char kZoneNameEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = "\x0a" "GMT+10";
24538 
24539 const complete::Info::ZoneInfo kZoneEtc_GMT_PLUS_10 ACE_TIME_PROGMEM = {
24540  kZoneNameEtc_GMT_PLUS_10 /*name*/,
24541  0x3f8f1cc4 /*zoneId*/,
24542  &kZoneContext /*zoneContext*/,
24543  1 /*numEras*/,
24544  kZoneEraEtc_GMT_PLUS_10 /*eras*/,
24545  nullptr /*targetInfo*/,
24546 };
24547 
24548 //---------------------------------------------------------------------------
24549 // Zone name: Etc/GMT+11
24550 // Eras: 1
24551 //---------------------------------------------------------------------------
24552 
24553 static const complete::Info::ZoneEra kZoneEraEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = {
24554  // -11 - %z
24555  {
24556  nullptr /*zonePolicy*/,
24557  "" /*format*/,
24558  -2640 /*offsetCode (-39600/15)*/,
24559  0 /*offsetRemainder (-39600%15)*/,
24560  0 /*deltaMinutes*/,
24561  32767 /*untilYear*/,
24562  1 /*untilMonth*/,
24563  1 /*untilDay*/,
24564  0 /*untilTimeCode (0/15)*/,
24565  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24566  },
24567 
24568 };
24569 
24570 static const char kZoneNameEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = "\x0a" "GMT+11";
24571 
24572 const complete::Info::ZoneInfo kZoneEtc_GMT_PLUS_11 ACE_TIME_PROGMEM = {
24573  kZoneNameEtc_GMT_PLUS_11 /*name*/,
24574  0x3f8f1cc5 /*zoneId*/,
24575  &kZoneContext /*zoneContext*/,
24576  1 /*numEras*/,
24577  kZoneEraEtc_GMT_PLUS_11 /*eras*/,
24578  nullptr /*targetInfo*/,
24579 };
24580 
24581 //---------------------------------------------------------------------------
24582 // Zone name: Etc/GMT+12
24583 // Eras: 1
24584 //---------------------------------------------------------------------------
24585 
24586 static const complete::Info::ZoneEra kZoneEraEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = {
24587  // -12 - %z
24588  {
24589  nullptr /*zonePolicy*/,
24590  "" /*format*/,
24591  -2880 /*offsetCode (-43200/15)*/,
24592  0 /*offsetRemainder (-43200%15)*/,
24593  0 /*deltaMinutes*/,
24594  32767 /*untilYear*/,
24595  1 /*untilMonth*/,
24596  1 /*untilDay*/,
24597  0 /*untilTimeCode (0/15)*/,
24598  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24599  },
24600 
24601 };
24602 
24603 static const char kZoneNameEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = "\x0a" "GMT+12";
24604 
24605 const complete::Info::ZoneInfo kZoneEtc_GMT_PLUS_12 ACE_TIME_PROGMEM = {
24606  kZoneNameEtc_GMT_PLUS_12 /*name*/,
24607  0x3f8f1cc6 /*zoneId*/,
24608  &kZoneContext /*zoneContext*/,
24609  1 /*numEras*/,
24610  kZoneEraEtc_GMT_PLUS_12 /*eras*/,
24611  nullptr /*targetInfo*/,
24612 };
24613 
24614 //---------------------------------------------------------------------------
24615 // Zone name: Etc/GMT+2
24616 // Eras: 1
24617 //---------------------------------------------------------------------------
24618 
24619 static const complete::Info::ZoneEra kZoneEraEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = {
24620  // -2 - %z
24621  {
24622  nullptr /*zonePolicy*/,
24623  "" /*format*/,
24624  -480 /*offsetCode (-7200/15)*/,
24625  0 /*offsetRemainder (-7200%15)*/,
24626  0 /*deltaMinutes*/,
24627  32767 /*untilYear*/,
24628  1 /*untilMonth*/,
24629  1 /*untilDay*/,
24630  0 /*untilTimeCode (0/15)*/,
24631  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24632  },
24633 
24634 };
24635 
24636 static const char kZoneNameEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = "\x0a" "GMT+2";
24637 
24638 const complete::Info::ZoneInfo kZoneEtc_GMT_PLUS_2 ACE_TIME_PROGMEM = {
24639  kZoneNameEtc_GMT_PLUS_2 /*name*/,
24640  0x9d13da15 /*zoneId*/,
24641  &kZoneContext /*zoneContext*/,
24642  1 /*numEras*/,
24643  kZoneEraEtc_GMT_PLUS_2 /*eras*/,
24644  nullptr /*targetInfo*/,
24645 };
24646 
24647 //---------------------------------------------------------------------------
24648 // Zone name: Etc/GMT+3
24649 // Eras: 1
24650 //---------------------------------------------------------------------------
24651 
24652 static const complete::Info::ZoneEra kZoneEraEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = {
24653  // -3 - %z
24654  {
24655  nullptr /*zonePolicy*/,
24656  "" /*format*/,
24657  -720 /*offsetCode (-10800/15)*/,
24658  0 /*offsetRemainder (-10800%15)*/,
24659  0 /*deltaMinutes*/,
24660  32767 /*untilYear*/,
24661  1 /*untilMonth*/,
24662  1 /*untilDay*/,
24663  0 /*untilTimeCode (0/15)*/,
24664  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24665  },
24666 
24667 };
24668 
24669 static const char kZoneNameEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = "\x0a" "GMT+3";
24670 
24671 const complete::Info::ZoneInfo kZoneEtc_GMT_PLUS_3 ACE_TIME_PROGMEM = {
24672  kZoneNameEtc_GMT_PLUS_3 /*name*/,
24673  0x9d13da16 /*zoneId*/,
24674  &kZoneContext /*zoneContext*/,
24675  1 /*numEras*/,
24676  kZoneEraEtc_GMT_PLUS_3 /*eras*/,
24677  nullptr /*targetInfo*/,
24678 };
24679 
24680 //---------------------------------------------------------------------------
24681 // Zone name: Etc/GMT+4
24682 // Eras: 1
24683 //---------------------------------------------------------------------------
24684 
24685 static const complete::Info::ZoneEra kZoneEraEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = {
24686  // -4 - %z
24687  {
24688  nullptr /*zonePolicy*/,
24689  "" /*format*/,
24690  -960 /*offsetCode (-14400/15)*/,
24691  0 /*offsetRemainder (-14400%15)*/,
24692  0 /*deltaMinutes*/,
24693  32767 /*untilYear*/,
24694  1 /*untilMonth*/,
24695  1 /*untilDay*/,
24696  0 /*untilTimeCode (0/15)*/,
24697  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24698  },
24699 
24700 };
24701 
24702 static const char kZoneNameEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = "\x0a" "GMT+4";
24703 
24704 const complete::Info::ZoneInfo kZoneEtc_GMT_PLUS_4 ACE_TIME_PROGMEM = {
24705  kZoneNameEtc_GMT_PLUS_4 /*name*/,
24706  0x9d13da17 /*zoneId*/,
24707  &kZoneContext /*zoneContext*/,
24708  1 /*numEras*/,
24709  kZoneEraEtc_GMT_PLUS_4 /*eras*/,
24710  nullptr /*targetInfo*/,
24711 };
24712 
24713 //---------------------------------------------------------------------------
24714 // Zone name: Etc/GMT+5
24715 // Eras: 1
24716 //---------------------------------------------------------------------------
24717 
24718 static const complete::Info::ZoneEra kZoneEraEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = {
24719  // -5 - %z
24720  {
24721  nullptr /*zonePolicy*/,
24722  "" /*format*/,
24723  -1200 /*offsetCode (-18000/15)*/,
24724  0 /*offsetRemainder (-18000%15)*/,
24725  0 /*deltaMinutes*/,
24726  32767 /*untilYear*/,
24727  1 /*untilMonth*/,
24728  1 /*untilDay*/,
24729  0 /*untilTimeCode (0/15)*/,
24730  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24731  },
24732 
24733 };
24734 
24735 static const char kZoneNameEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = "\x0a" "GMT+5";
24736 
24737 const complete::Info::ZoneInfo kZoneEtc_GMT_PLUS_5 ACE_TIME_PROGMEM = {
24738  kZoneNameEtc_GMT_PLUS_5 /*name*/,
24739  0x9d13da18 /*zoneId*/,
24740  &kZoneContext /*zoneContext*/,
24741  1 /*numEras*/,
24742  kZoneEraEtc_GMT_PLUS_5 /*eras*/,
24743  nullptr /*targetInfo*/,
24744 };
24745 
24746 //---------------------------------------------------------------------------
24747 // Zone name: Etc/GMT+6
24748 // Eras: 1
24749 //---------------------------------------------------------------------------
24750 
24751 static const complete::Info::ZoneEra kZoneEraEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = {
24752  // -6 - %z
24753  {
24754  nullptr /*zonePolicy*/,
24755  "" /*format*/,
24756  -1440 /*offsetCode (-21600/15)*/,
24757  0 /*offsetRemainder (-21600%15)*/,
24758  0 /*deltaMinutes*/,
24759  32767 /*untilYear*/,
24760  1 /*untilMonth*/,
24761  1 /*untilDay*/,
24762  0 /*untilTimeCode (0/15)*/,
24763  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24764  },
24765 
24766 };
24767 
24768 static const char kZoneNameEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = "\x0a" "GMT+6";
24769 
24770 const complete::Info::ZoneInfo kZoneEtc_GMT_PLUS_6 ACE_TIME_PROGMEM = {
24771  kZoneNameEtc_GMT_PLUS_6 /*name*/,
24772  0x9d13da19 /*zoneId*/,
24773  &kZoneContext /*zoneContext*/,
24774  1 /*numEras*/,
24775  kZoneEraEtc_GMT_PLUS_6 /*eras*/,
24776  nullptr /*targetInfo*/,
24777 };
24778 
24779 //---------------------------------------------------------------------------
24780 // Zone name: Etc/GMT+7
24781 // Eras: 1
24782 //---------------------------------------------------------------------------
24783 
24784 static const complete::Info::ZoneEra kZoneEraEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = {
24785  // -7 - %z
24786  {
24787  nullptr /*zonePolicy*/,
24788  "" /*format*/,
24789  -1680 /*offsetCode (-25200/15)*/,
24790  0 /*offsetRemainder (-25200%15)*/,
24791  0 /*deltaMinutes*/,
24792  32767 /*untilYear*/,
24793  1 /*untilMonth*/,
24794  1 /*untilDay*/,
24795  0 /*untilTimeCode (0/15)*/,
24796  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24797  },
24798 
24799 };
24800 
24801 static const char kZoneNameEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = "\x0a" "GMT+7";
24802 
24803 const complete::Info::ZoneInfo kZoneEtc_GMT_PLUS_7 ACE_TIME_PROGMEM = {
24804  kZoneNameEtc_GMT_PLUS_7 /*name*/,
24805  0x9d13da1a /*zoneId*/,
24806  &kZoneContext /*zoneContext*/,
24807  1 /*numEras*/,
24808  kZoneEraEtc_GMT_PLUS_7 /*eras*/,
24809  nullptr /*targetInfo*/,
24810 };
24811 
24812 //---------------------------------------------------------------------------
24813 // Zone name: Etc/GMT+8
24814 // Eras: 1
24815 //---------------------------------------------------------------------------
24816 
24817 static const complete::Info::ZoneEra kZoneEraEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = {
24818  // -8 - %z
24819  {
24820  nullptr /*zonePolicy*/,
24821  "" /*format*/,
24822  -1920 /*offsetCode (-28800/15)*/,
24823  0 /*offsetRemainder (-28800%15)*/,
24824  0 /*deltaMinutes*/,
24825  32767 /*untilYear*/,
24826  1 /*untilMonth*/,
24827  1 /*untilDay*/,
24828  0 /*untilTimeCode (0/15)*/,
24829  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24830  },
24831 
24832 };
24833 
24834 static const char kZoneNameEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = "\x0a" "GMT+8";
24835 
24836 const complete::Info::ZoneInfo kZoneEtc_GMT_PLUS_8 ACE_TIME_PROGMEM = {
24837  kZoneNameEtc_GMT_PLUS_8 /*name*/,
24838  0x9d13da1b /*zoneId*/,
24839  &kZoneContext /*zoneContext*/,
24840  1 /*numEras*/,
24841  kZoneEraEtc_GMT_PLUS_8 /*eras*/,
24842  nullptr /*targetInfo*/,
24843 };
24844 
24845 //---------------------------------------------------------------------------
24846 // Zone name: Etc/GMT+9
24847 // Eras: 1
24848 //---------------------------------------------------------------------------
24849 
24850 static const complete::Info::ZoneEra kZoneEraEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = {
24851  // -9 - %z
24852  {
24853  nullptr /*zonePolicy*/,
24854  "" /*format*/,
24855  -2160 /*offsetCode (-32400/15)*/,
24856  0 /*offsetRemainder (-32400%15)*/,
24857  0 /*deltaMinutes*/,
24858  32767 /*untilYear*/,
24859  1 /*untilMonth*/,
24860  1 /*untilDay*/,
24861  0 /*untilTimeCode (0/15)*/,
24862  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24863  },
24864 
24865 };
24866 
24867 static const char kZoneNameEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = "\x0a" "GMT+9";
24868 
24869 const complete::Info::ZoneInfo kZoneEtc_GMT_PLUS_9 ACE_TIME_PROGMEM = {
24870  kZoneNameEtc_GMT_PLUS_9 /*name*/,
24871  0x9d13da1c /*zoneId*/,
24872  &kZoneContext /*zoneContext*/,
24873  1 /*numEras*/,
24874  kZoneEraEtc_GMT_PLUS_9 /*eras*/,
24875  nullptr /*targetInfo*/,
24876 };
24877 
24878 //---------------------------------------------------------------------------
24879 // Zone name: Etc/GMT-1
24880 // Eras: 1
24881 //---------------------------------------------------------------------------
24882 
24883 static const complete::Info::ZoneEra kZoneEraEtc_GMT_1[] ACE_TIME_PROGMEM = {
24884  // 1 - %z
24885  {
24886  nullptr /*zonePolicy*/,
24887  "" /*format*/,
24888  240 /*offsetCode (3600/15)*/,
24889  0 /*offsetRemainder (3600%15)*/,
24890  0 /*deltaMinutes*/,
24891  32767 /*untilYear*/,
24892  1 /*untilMonth*/,
24893  1 /*untilDay*/,
24894  0 /*untilTimeCode (0/15)*/,
24895  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24896  },
24897 
24898 };
24899 
24900 static const char kZoneNameEtc_GMT_1[] ACE_TIME_PROGMEM = "\x0a" "GMT-1";
24901 
24902 const complete::Info::ZoneInfo kZoneEtc_GMT_1 ACE_TIME_PROGMEM = {
24903  kZoneNameEtc_GMT_1 /*name*/,
24904  0x9d13da56 /*zoneId*/,
24905  &kZoneContext /*zoneContext*/,
24906  1 /*numEras*/,
24907  kZoneEraEtc_GMT_1 /*eras*/,
24908  nullptr /*targetInfo*/,
24909 };
24910 
24911 //---------------------------------------------------------------------------
24912 // Zone name: Etc/GMT-10
24913 // Eras: 1
24914 //---------------------------------------------------------------------------
24915 
24916 static const complete::Info::ZoneEra kZoneEraEtc_GMT_10[] ACE_TIME_PROGMEM = {
24917  // 10 - %z
24918  {
24919  nullptr /*zonePolicy*/,
24920  "" /*format*/,
24921  2400 /*offsetCode (36000/15)*/,
24922  0 /*offsetRemainder (36000%15)*/,
24923  0 /*deltaMinutes*/,
24924  32767 /*untilYear*/,
24925  1 /*untilMonth*/,
24926  1 /*untilDay*/,
24927  0 /*untilTimeCode (0/15)*/,
24928  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24929  },
24930 
24931 };
24932 
24933 static const char kZoneNameEtc_GMT_10[] ACE_TIME_PROGMEM = "\x0a" "GMT-10";
24934 
24935 const complete::Info::ZoneInfo kZoneEtc_GMT_10 ACE_TIME_PROGMEM = {
24936  kZoneNameEtc_GMT_10 /*name*/,
24937  0x3f8f2546 /*zoneId*/,
24938  &kZoneContext /*zoneContext*/,
24939  1 /*numEras*/,
24940  kZoneEraEtc_GMT_10 /*eras*/,
24941  nullptr /*targetInfo*/,
24942 };
24943 
24944 //---------------------------------------------------------------------------
24945 // Zone name: Etc/GMT-11
24946 // Eras: 1
24947 //---------------------------------------------------------------------------
24948 
24949 static const complete::Info::ZoneEra kZoneEraEtc_GMT_11[] ACE_TIME_PROGMEM = {
24950  // 11 - %z
24951  {
24952  nullptr /*zonePolicy*/,
24953  "" /*format*/,
24954  2640 /*offsetCode (39600/15)*/,
24955  0 /*offsetRemainder (39600%15)*/,
24956  0 /*deltaMinutes*/,
24957  32767 /*untilYear*/,
24958  1 /*untilMonth*/,
24959  1 /*untilDay*/,
24960  0 /*untilTimeCode (0/15)*/,
24961  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24962  },
24963 
24964 };
24965 
24966 static const char kZoneNameEtc_GMT_11[] ACE_TIME_PROGMEM = "\x0a" "GMT-11";
24967 
24968 const complete::Info::ZoneInfo kZoneEtc_GMT_11 ACE_TIME_PROGMEM = {
24969  kZoneNameEtc_GMT_11 /*name*/,
24970  0x3f8f2547 /*zoneId*/,
24971  &kZoneContext /*zoneContext*/,
24972  1 /*numEras*/,
24973  kZoneEraEtc_GMT_11 /*eras*/,
24974  nullptr /*targetInfo*/,
24975 };
24976 
24977 //---------------------------------------------------------------------------
24978 // Zone name: Etc/GMT-12
24979 // Eras: 1
24980 //---------------------------------------------------------------------------
24981 
24982 static const complete::Info::ZoneEra kZoneEraEtc_GMT_12[] ACE_TIME_PROGMEM = {
24983  // 12 - %z
24984  {
24985  nullptr /*zonePolicy*/,
24986  "" /*format*/,
24987  2880 /*offsetCode (43200/15)*/,
24988  0 /*offsetRemainder (43200%15)*/,
24989  0 /*deltaMinutes*/,
24990  32767 /*untilYear*/,
24991  1 /*untilMonth*/,
24992  1 /*untilDay*/,
24993  0 /*untilTimeCode (0/15)*/,
24994  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24995  },
24996 
24997 };
24998 
24999 static const char kZoneNameEtc_GMT_12[] ACE_TIME_PROGMEM = "\x0a" "GMT-12";
25000 
25001 const complete::Info::ZoneInfo kZoneEtc_GMT_12 ACE_TIME_PROGMEM = {
25002  kZoneNameEtc_GMT_12 /*name*/,
25003  0x3f8f2548 /*zoneId*/,
25004  &kZoneContext /*zoneContext*/,
25005  1 /*numEras*/,
25006  kZoneEraEtc_GMT_12 /*eras*/,
25007  nullptr /*targetInfo*/,
25008 };
25009 
25010 //---------------------------------------------------------------------------
25011 // Zone name: Etc/GMT-13
25012 // Eras: 1
25013 //---------------------------------------------------------------------------
25014 
25015 static const complete::Info::ZoneEra kZoneEraEtc_GMT_13[] ACE_TIME_PROGMEM = {
25016  // 13 - %z
25017  {
25018  nullptr /*zonePolicy*/,
25019  "" /*format*/,
25020  3120 /*offsetCode (46800/15)*/,
25021  0 /*offsetRemainder (46800%15)*/,
25022  0 /*deltaMinutes*/,
25023  32767 /*untilYear*/,
25024  1 /*untilMonth*/,
25025  1 /*untilDay*/,
25026  0 /*untilTimeCode (0/15)*/,
25027  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25028  },
25029 
25030 };
25031 
25032 static const char kZoneNameEtc_GMT_13[] ACE_TIME_PROGMEM = "\x0a" "GMT-13";
25033 
25034 const complete::Info::ZoneInfo kZoneEtc_GMT_13 ACE_TIME_PROGMEM = {
25035  kZoneNameEtc_GMT_13 /*name*/,
25036  0x3f8f2549 /*zoneId*/,
25037  &kZoneContext /*zoneContext*/,
25038  1 /*numEras*/,
25039  kZoneEraEtc_GMT_13 /*eras*/,
25040  nullptr /*targetInfo*/,
25041 };
25042 
25043 //---------------------------------------------------------------------------
25044 // Zone name: Etc/GMT-14
25045 // Eras: 1
25046 //---------------------------------------------------------------------------
25047 
25048 static const complete::Info::ZoneEra kZoneEraEtc_GMT_14[] ACE_TIME_PROGMEM = {
25049  // 14 - %z
25050  {
25051  nullptr /*zonePolicy*/,
25052  "" /*format*/,
25053  3360 /*offsetCode (50400/15)*/,
25054  0 /*offsetRemainder (50400%15)*/,
25055  0 /*deltaMinutes*/,
25056  32767 /*untilYear*/,
25057  1 /*untilMonth*/,
25058  1 /*untilDay*/,
25059  0 /*untilTimeCode (0/15)*/,
25060  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25061  },
25062 
25063 };
25064 
25065 static const char kZoneNameEtc_GMT_14[] ACE_TIME_PROGMEM = "\x0a" "GMT-14";
25066 
25067 const complete::Info::ZoneInfo kZoneEtc_GMT_14 ACE_TIME_PROGMEM = {
25068  kZoneNameEtc_GMT_14 /*name*/,
25069  0x3f8f254a /*zoneId*/,
25070  &kZoneContext /*zoneContext*/,
25071  1 /*numEras*/,
25072  kZoneEraEtc_GMT_14 /*eras*/,
25073  nullptr /*targetInfo*/,
25074 };
25075 
25076 //---------------------------------------------------------------------------
25077 // Zone name: Etc/GMT-2
25078 // Eras: 1
25079 //---------------------------------------------------------------------------
25080 
25081 static const complete::Info::ZoneEra kZoneEraEtc_GMT_2[] ACE_TIME_PROGMEM = {
25082  // 2 - %z
25083  {
25084  nullptr /*zonePolicy*/,
25085  "" /*format*/,
25086  480 /*offsetCode (7200/15)*/,
25087  0 /*offsetRemainder (7200%15)*/,
25088  0 /*deltaMinutes*/,
25089  32767 /*untilYear*/,
25090  1 /*untilMonth*/,
25091  1 /*untilDay*/,
25092  0 /*untilTimeCode (0/15)*/,
25093  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25094  },
25095 
25096 };
25097 
25098 static const char kZoneNameEtc_GMT_2[] ACE_TIME_PROGMEM = "\x0a" "GMT-2";
25099 
25100 const complete::Info::ZoneInfo kZoneEtc_GMT_2 ACE_TIME_PROGMEM = {
25101  kZoneNameEtc_GMT_2 /*name*/,
25102  0x9d13da57 /*zoneId*/,
25103  &kZoneContext /*zoneContext*/,
25104  1 /*numEras*/,
25105  kZoneEraEtc_GMT_2 /*eras*/,
25106  nullptr /*targetInfo*/,
25107 };
25108 
25109 //---------------------------------------------------------------------------
25110 // Zone name: Etc/GMT-3
25111 // Eras: 1
25112 //---------------------------------------------------------------------------
25113 
25114 static const complete::Info::ZoneEra kZoneEraEtc_GMT_3[] ACE_TIME_PROGMEM = {
25115  // 3 - %z
25116  {
25117  nullptr /*zonePolicy*/,
25118  "" /*format*/,
25119  720 /*offsetCode (10800/15)*/,
25120  0 /*offsetRemainder (10800%15)*/,
25121  0 /*deltaMinutes*/,
25122  32767 /*untilYear*/,
25123  1 /*untilMonth*/,
25124  1 /*untilDay*/,
25125  0 /*untilTimeCode (0/15)*/,
25126  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25127  },
25128 
25129 };
25130 
25131 static const char kZoneNameEtc_GMT_3[] ACE_TIME_PROGMEM = "\x0a" "GMT-3";
25132 
25133 const complete::Info::ZoneInfo kZoneEtc_GMT_3 ACE_TIME_PROGMEM = {
25134  kZoneNameEtc_GMT_3 /*name*/,
25135  0x9d13da58 /*zoneId*/,
25136  &kZoneContext /*zoneContext*/,
25137  1 /*numEras*/,
25138  kZoneEraEtc_GMT_3 /*eras*/,
25139  nullptr /*targetInfo*/,
25140 };
25141 
25142 //---------------------------------------------------------------------------
25143 // Zone name: Etc/GMT-4
25144 // Eras: 1
25145 //---------------------------------------------------------------------------
25146 
25147 static const complete::Info::ZoneEra kZoneEraEtc_GMT_4[] ACE_TIME_PROGMEM = {
25148  // 4 - %z
25149  {
25150  nullptr /*zonePolicy*/,
25151  "" /*format*/,
25152  960 /*offsetCode (14400/15)*/,
25153  0 /*offsetRemainder (14400%15)*/,
25154  0 /*deltaMinutes*/,
25155  32767 /*untilYear*/,
25156  1 /*untilMonth*/,
25157  1 /*untilDay*/,
25158  0 /*untilTimeCode (0/15)*/,
25159  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25160  },
25161 
25162 };
25163 
25164 static const char kZoneNameEtc_GMT_4[] ACE_TIME_PROGMEM = "\x0a" "GMT-4";
25165 
25166 const complete::Info::ZoneInfo kZoneEtc_GMT_4 ACE_TIME_PROGMEM = {
25167  kZoneNameEtc_GMT_4 /*name*/,
25168  0x9d13da59 /*zoneId*/,
25169  &kZoneContext /*zoneContext*/,
25170  1 /*numEras*/,
25171  kZoneEraEtc_GMT_4 /*eras*/,
25172  nullptr /*targetInfo*/,
25173 };
25174 
25175 //---------------------------------------------------------------------------
25176 // Zone name: Etc/GMT-5
25177 // Eras: 1
25178 //---------------------------------------------------------------------------
25179 
25180 static const complete::Info::ZoneEra kZoneEraEtc_GMT_5[] ACE_TIME_PROGMEM = {
25181  // 5 - %z
25182  {
25183  nullptr /*zonePolicy*/,
25184  "" /*format*/,
25185  1200 /*offsetCode (18000/15)*/,
25186  0 /*offsetRemainder (18000%15)*/,
25187  0 /*deltaMinutes*/,
25188  32767 /*untilYear*/,
25189  1 /*untilMonth*/,
25190  1 /*untilDay*/,
25191  0 /*untilTimeCode (0/15)*/,
25192  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25193  },
25194 
25195 };
25196 
25197 static const char kZoneNameEtc_GMT_5[] ACE_TIME_PROGMEM = "\x0a" "GMT-5";
25198 
25199 const complete::Info::ZoneInfo kZoneEtc_GMT_5 ACE_TIME_PROGMEM = {
25200  kZoneNameEtc_GMT_5 /*name*/,
25201  0x9d13da5a /*zoneId*/,
25202  &kZoneContext /*zoneContext*/,
25203  1 /*numEras*/,
25204  kZoneEraEtc_GMT_5 /*eras*/,
25205  nullptr /*targetInfo*/,
25206 };
25207 
25208 //---------------------------------------------------------------------------
25209 // Zone name: Etc/GMT-6
25210 // Eras: 1
25211 //---------------------------------------------------------------------------
25212 
25213 static const complete::Info::ZoneEra kZoneEraEtc_GMT_6[] ACE_TIME_PROGMEM = {
25214  // 6 - %z
25215  {
25216  nullptr /*zonePolicy*/,
25217  "" /*format*/,
25218  1440 /*offsetCode (21600/15)*/,
25219  0 /*offsetRemainder (21600%15)*/,
25220  0 /*deltaMinutes*/,
25221  32767 /*untilYear*/,
25222  1 /*untilMonth*/,
25223  1 /*untilDay*/,
25224  0 /*untilTimeCode (0/15)*/,
25225  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25226  },
25227 
25228 };
25229 
25230 static const char kZoneNameEtc_GMT_6[] ACE_TIME_PROGMEM = "\x0a" "GMT-6";
25231 
25232 const complete::Info::ZoneInfo kZoneEtc_GMT_6 ACE_TIME_PROGMEM = {
25233  kZoneNameEtc_GMT_6 /*name*/,
25234  0x9d13da5b /*zoneId*/,
25235  &kZoneContext /*zoneContext*/,
25236  1 /*numEras*/,
25237  kZoneEraEtc_GMT_6 /*eras*/,
25238  nullptr /*targetInfo*/,
25239 };
25240 
25241 //---------------------------------------------------------------------------
25242 // Zone name: Etc/GMT-7
25243 // Eras: 1
25244 //---------------------------------------------------------------------------
25245 
25246 static const complete::Info::ZoneEra kZoneEraEtc_GMT_7[] ACE_TIME_PROGMEM = {
25247  // 7 - %z
25248  {
25249  nullptr /*zonePolicy*/,
25250  "" /*format*/,
25251  1680 /*offsetCode (25200/15)*/,
25252  0 /*offsetRemainder (25200%15)*/,
25253  0 /*deltaMinutes*/,
25254  32767 /*untilYear*/,
25255  1 /*untilMonth*/,
25256  1 /*untilDay*/,
25257  0 /*untilTimeCode (0/15)*/,
25258  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25259  },
25260 
25261 };
25262 
25263 static const char kZoneNameEtc_GMT_7[] ACE_TIME_PROGMEM = "\x0a" "GMT-7";
25264 
25265 const complete::Info::ZoneInfo kZoneEtc_GMT_7 ACE_TIME_PROGMEM = {
25266  kZoneNameEtc_GMT_7 /*name*/,
25267  0x9d13da5c /*zoneId*/,
25268  &kZoneContext /*zoneContext*/,
25269  1 /*numEras*/,
25270  kZoneEraEtc_GMT_7 /*eras*/,
25271  nullptr /*targetInfo*/,
25272 };
25273 
25274 //---------------------------------------------------------------------------
25275 // Zone name: Etc/GMT-8
25276 // Eras: 1
25277 //---------------------------------------------------------------------------
25278 
25279 static const complete::Info::ZoneEra kZoneEraEtc_GMT_8[] ACE_TIME_PROGMEM = {
25280  // 8 - %z
25281  {
25282  nullptr /*zonePolicy*/,
25283  "" /*format*/,
25284  1920 /*offsetCode (28800/15)*/,
25285  0 /*offsetRemainder (28800%15)*/,
25286  0 /*deltaMinutes*/,
25287  32767 /*untilYear*/,
25288  1 /*untilMonth*/,
25289  1 /*untilDay*/,
25290  0 /*untilTimeCode (0/15)*/,
25291  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25292  },
25293 
25294 };
25295 
25296 static const char kZoneNameEtc_GMT_8[] ACE_TIME_PROGMEM = "\x0a" "GMT-8";
25297 
25298 const complete::Info::ZoneInfo kZoneEtc_GMT_8 ACE_TIME_PROGMEM = {
25299  kZoneNameEtc_GMT_8 /*name*/,
25300  0x9d13da5d /*zoneId*/,
25301  &kZoneContext /*zoneContext*/,
25302  1 /*numEras*/,
25303  kZoneEraEtc_GMT_8 /*eras*/,
25304  nullptr /*targetInfo*/,
25305 };
25306 
25307 //---------------------------------------------------------------------------
25308 // Zone name: Etc/GMT-9
25309 // Eras: 1
25310 //---------------------------------------------------------------------------
25311 
25312 static const complete::Info::ZoneEra kZoneEraEtc_GMT_9[] ACE_TIME_PROGMEM = {
25313  // 9 - %z
25314  {
25315  nullptr /*zonePolicy*/,
25316  "" /*format*/,
25317  2160 /*offsetCode (32400/15)*/,
25318  0 /*offsetRemainder (32400%15)*/,
25319  0 /*deltaMinutes*/,
25320  32767 /*untilYear*/,
25321  1 /*untilMonth*/,
25322  1 /*untilDay*/,
25323  0 /*untilTimeCode (0/15)*/,
25324  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25325  },
25326 
25327 };
25328 
25329 static const char kZoneNameEtc_GMT_9[] ACE_TIME_PROGMEM = "\x0a" "GMT-9";
25330 
25331 const complete::Info::ZoneInfo kZoneEtc_GMT_9 ACE_TIME_PROGMEM = {
25332  kZoneNameEtc_GMT_9 /*name*/,
25333  0x9d13da5e /*zoneId*/,
25334  &kZoneContext /*zoneContext*/,
25335  1 /*numEras*/,
25336  kZoneEraEtc_GMT_9 /*eras*/,
25337  nullptr /*targetInfo*/,
25338 };
25339 
25340 //---------------------------------------------------------------------------
25341 // Zone name: Etc/UTC
25342 // Eras: 1
25343 //---------------------------------------------------------------------------
25344 
25345 static const complete::Info::ZoneEra kZoneEraEtc_UTC[] ACE_TIME_PROGMEM = {
25346  // 0 - UTC
25347  {
25348  nullptr /*zonePolicy*/,
25349  "UTC" /*format*/,
25350  0 /*offsetCode (0/15)*/,
25351  0 /*offsetRemainder (0%15)*/,
25352  0 /*deltaMinutes*/,
25353  32767 /*untilYear*/,
25354  1 /*untilMonth*/,
25355  1 /*untilDay*/,
25356  0 /*untilTimeCode (0/15)*/,
25357  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25358  },
25359 
25360 };
25361 
25362 static const char kZoneNameEtc_UTC[] ACE_TIME_PROGMEM = "\x0a" "UTC";
25363 
25364 const complete::Info::ZoneInfo kZoneEtc_UTC ACE_TIME_PROGMEM = {
25365  kZoneNameEtc_UTC /*name*/,
25366  0xd8e31abc /*zoneId*/,
25367  &kZoneContext /*zoneContext*/,
25368  1 /*numEras*/,
25369  kZoneEraEtc_UTC /*eras*/,
25370  nullptr /*targetInfo*/,
25371 };
25372 
25373 //---------------------------------------------------------------------------
25374 // Zone name: Europe/Andorra
25375 // Eras: 4
25376 //---------------------------------------------------------------------------
25377 
25378 static const complete::Info::ZoneEra kZoneEraEurope_Andorra[] ACE_TIME_PROGMEM = {
25379  // 0:06:04 - LMT 1901
25380  {
25381  nullptr /*zonePolicy*/,
25382  "LMT" /*format*/,
25383  24 /*offsetCode (364/15)*/,
25384  4 /*offsetRemainder (364%15)*/,
25385  0 /*deltaMinutes*/,
25386  1901 /*untilYear*/,
25387  1 /*untilMonth*/,
25388  1 /*untilDay*/,
25389  0 /*untilTimeCode (0/15)*/,
25390  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25391  },
25392  // 0:00 - WET 1946 Sep 30
25393  {
25394  nullptr /*zonePolicy*/,
25395  "WET" /*format*/,
25396  0 /*offsetCode (0/15)*/,
25397  0 /*offsetRemainder (0%15)*/,
25398  0 /*deltaMinutes*/,
25399  1946 /*untilYear*/,
25400  9 /*untilMonth*/,
25401  30 /*untilDay*/,
25402  0 /*untilTimeCode (0/15)*/,
25403  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25404  },
25405  // 1:00 - CET 1985 Mar 31 2:00
25406  {
25407  nullptr /*zonePolicy*/,
25408  "CET" /*format*/,
25409  240 /*offsetCode (3600/15)*/,
25410  0 /*offsetRemainder (3600%15)*/,
25411  0 /*deltaMinutes*/,
25412  1985 /*untilYear*/,
25413  3 /*untilMonth*/,
25414  31 /*untilDay*/,
25415  480 /*untilTimeCode (7200/15)*/,
25416  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25417  },
25418  // 1:00 EU CE%sT
25419  {
25420  &kZonePolicyEU /*zonePolicy*/,
25421  "CE%T" /*format*/,
25422  240 /*offsetCode (3600/15)*/,
25423  0 /*offsetRemainder (3600%15)*/,
25424  0 /*deltaMinutes*/,
25425  32767 /*untilYear*/,
25426  1 /*untilMonth*/,
25427  1 /*untilDay*/,
25428  0 /*untilTimeCode (0/15)*/,
25429  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25430  },
25431 
25432 };
25433 
25434 static const char kZoneNameEurope_Andorra[] ACE_TIME_PROGMEM = "\x0b" "Andorra";
25435 
25436 const complete::Info::ZoneInfo kZoneEurope_Andorra ACE_TIME_PROGMEM = {
25437  kZoneNameEurope_Andorra /*name*/,
25438  0x97f6764b /*zoneId*/,
25439  &kZoneContext /*zoneContext*/,
25440  4 /*numEras*/,
25441  kZoneEraEurope_Andorra /*eras*/,
25442  nullptr /*targetInfo*/,
25443 };
25444 
25445 //---------------------------------------------------------------------------
25446 // Zone name: Europe/Astrakhan
25447 // Eras: 9
25448 //---------------------------------------------------------------------------
25449 
25450 static const complete::Info::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = {
25451  // 3:12:12 - LMT 1924 May
25452  {
25453  nullptr /*zonePolicy*/,
25454  "LMT" /*format*/,
25455  768 /*offsetCode (11532/15)*/,
25456  12 /*offsetRemainder (11532%15)*/,
25457  0 /*deltaMinutes*/,
25458  1924 /*untilYear*/,
25459  5 /*untilMonth*/,
25460  1 /*untilDay*/,
25461  0 /*untilTimeCode (0/15)*/,
25462  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25463  },
25464  // 3:00 - %z 1930 Jun 21
25465  {
25466  nullptr /*zonePolicy*/,
25467  "" /*format*/,
25468  720 /*offsetCode (10800/15)*/,
25469  0 /*offsetRemainder (10800%15)*/,
25470  0 /*deltaMinutes*/,
25471  1930 /*untilYear*/,
25472  6 /*untilMonth*/,
25473  21 /*untilDay*/,
25474  0 /*untilTimeCode (0/15)*/,
25475  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25476  },
25477  // 4:00 Russia %z 1989 Mar 26 2:00s
25478  {
25479  &kZonePolicyRussia /*zonePolicy*/,
25480  "" /*format*/,
25481  960 /*offsetCode (14400/15)*/,
25482  0 /*offsetRemainder (14400%15)*/,
25483  0 /*deltaMinutes*/,
25484  1989 /*untilYear*/,
25485  3 /*untilMonth*/,
25486  26 /*untilDay*/,
25487  480 /*untilTimeCode (7200/15)*/,
25488  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25489  },
25490  // 3:00 Russia %z 1991 Mar 31 2:00s
25491  {
25492  &kZonePolicyRussia /*zonePolicy*/,
25493  "" /*format*/,
25494  720 /*offsetCode (10800/15)*/,
25495  0 /*offsetRemainder (10800%15)*/,
25496  0 /*deltaMinutes*/,
25497  1991 /*untilYear*/,
25498  3 /*untilMonth*/,
25499  31 /*untilDay*/,
25500  480 /*untilTimeCode (7200/15)*/,
25501  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25502  },
25503  // 4:00 - %z 1992 Mar 29 2:00s
25504  {
25505  nullptr /*zonePolicy*/,
25506  "" /*format*/,
25507  960 /*offsetCode (14400/15)*/,
25508  0 /*offsetRemainder (14400%15)*/,
25509  0 /*deltaMinutes*/,
25510  1992 /*untilYear*/,
25511  3 /*untilMonth*/,
25512  29 /*untilDay*/,
25513  480 /*untilTimeCode (7200/15)*/,
25514  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25515  },
25516  // 3:00 Russia %z 2011 Mar 27 2:00s
25517  {
25518  &kZonePolicyRussia /*zonePolicy*/,
25519  "" /*format*/,
25520  720 /*offsetCode (10800/15)*/,
25521  0 /*offsetRemainder (10800%15)*/,
25522  0 /*deltaMinutes*/,
25523  2011 /*untilYear*/,
25524  3 /*untilMonth*/,
25525  27 /*untilDay*/,
25526  480 /*untilTimeCode (7200/15)*/,
25527  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25528  },
25529  // 4:00 - %z 2014 Oct 26 2:00s
25530  {
25531  nullptr /*zonePolicy*/,
25532  "" /*format*/,
25533  960 /*offsetCode (14400/15)*/,
25534  0 /*offsetRemainder (14400%15)*/,
25535  0 /*deltaMinutes*/,
25536  2014 /*untilYear*/,
25537  10 /*untilMonth*/,
25538  26 /*untilDay*/,
25539  480 /*untilTimeCode (7200/15)*/,
25540  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25541  },
25542  // 3:00 - %z 2016 Mar 27 2:00s
25543  {
25544  nullptr /*zonePolicy*/,
25545  "" /*format*/,
25546  720 /*offsetCode (10800/15)*/,
25547  0 /*offsetRemainder (10800%15)*/,
25548  0 /*deltaMinutes*/,
25549  2016 /*untilYear*/,
25550  3 /*untilMonth*/,
25551  27 /*untilDay*/,
25552  480 /*untilTimeCode (7200/15)*/,
25553  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25554  },
25555  // 4:00 - %z
25556  {
25557  nullptr /*zonePolicy*/,
25558  "" /*format*/,
25559  960 /*offsetCode (14400/15)*/,
25560  0 /*offsetRemainder (14400%15)*/,
25561  0 /*deltaMinutes*/,
25562  32767 /*untilYear*/,
25563  1 /*untilMonth*/,
25564  1 /*untilDay*/,
25565  0 /*untilTimeCode (0/15)*/,
25566  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25567  },
25568 
25569 };
25570 
25571 static const char kZoneNameEurope_Astrakhan[] ACE_TIME_PROGMEM = "\x0b" "Astrakhan";
25572 
25573 const complete::Info::ZoneInfo kZoneEurope_Astrakhan ACE_TIME_PROGMEM = {
25574  kZoneNameEurope_Astrakhan /*name*/,
25575  0xe22256e1 /*zoneId*/,
25576  &kZoneContext /*zoneContext*/,
25577  9 /*numEras*/,
25578  kZoneEraEurope_Astrakhan /*eras*/,
25579  nullptr /*targetInfo*/,
25580 };
25581 
25582 //---------------------------------------------------------------------------
25583 // Zone name: Europe/Athens
25584 // Eras: 6
25585 //---------------------------------------------------------------------------
25586 
25587 static const complete::Info::ZoneEra kZoneEraEurope_Athens[] ACE_TIME_PROGMEM = {
25588  // 1:34:52 - LMT 1895 Sep 14
25589  {
25590  nullptr /*zonePolicy*/,
25591  "LMT" /*format*/,
25592  379 /*offsetCode (5692/15)*/,
25593  7 /*offsetRemainder (5692%15)*/,
25594  0 /*deltaMinutes*/,
25595  1895 /*untilYear*/,
25596  9 /*untilMonth*/,
25597  14 /*untilDay*/,
25598  0 /*untilTimeCode (0/15)*/,
25599  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25600  },
25601  // 1:34:52 - AMT 1916 Jul 28 0:01
25602  {
25603  nullptr /*zonePolicy*/,
25604  "AMT" /*format*/,
25605  379 /*offsetCode (5692/15)*/,
25606  7 /*offsetRemainder (5692%15)*/,
25607  0 /*deltaMinutes*/,
25608  1916 /*untilYear*/,
25609  7 /*untilMonth*/,
25610  28 /*untilDay*/,
25611  4 /*untilTimeCode (60/15)*/,
25612  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25613  },
25614  // 2:00 Greece EE%sT 1941 Apr 30
25615  {
25616  &kZonePolicyGreece /*zonePolicy*/,
25617  "EE%T" /*format*/,
25618  480 /*offsetCode (7200/15)*/,
25619  0 /*offsetRemainder (7200%15)*/,
25620  0 /*deltaMinutes*/,
25621  1941 /*untilYear*/,
25622  4 /*untilMonth*/,
25623  30 /*untilDay*/,
25624  0 /*untilTimeCode (0/15)*/,
25625  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25626  },
25627  // 1:00 Greece CE%sT 1944 Apr 4
25628  {
25629  &kZonePolicyGreece /*zonePolicy*/,
25630  "CE%T" /*format*/,
25631  240 /*offsetCode (3600/15)*/,
25632  0 /*offsetRemainder (3600%15)*/,
25633  0 /*deltaMinutes*/,
25634  1944 /*untilYear*/,
25635  4 /*untilMonth*/,
25636  4 /*untilDay*/,
25637  0 /*untilTimeCode (0/15)*/,
25638  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25639  },
25640  // 2:00 Greece EE%sT 1981
25641  {
25642  &kZonePolicyGreece /*zonePolicy*/,
25643  "EE%T" /*format*/,
25644  480 /*offsetCode (7200/15)*/,
25645  0 /*offsetRemainder (7200%15)*/,
25646  0 /*deltaMinutes*/,
25647  1981 /*untilYear*/,
25648  1 /*untilMonth*/,
25649  1 /*untilDay*/,
25650  0 /*untilTimeCode (0/15)*/,
25651  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25652  },
25653  // 2:00 EU EE%sT
25654  {
25655  &kZonePolicyEU /*zonePolicy*/,
25656  "EE%T" /*format*/,
25657  480 /*offsetCode (7200/15)*/,
25658  0 /*offsetRemainder (7200%15)*/,
25659  0 /*deltaMinutes*/,
25660  32767 /*untilYear*/,
25661  1 /*untilMonth*/,
25662  1 /*untilDay*/,
25663  0 /*untilTimeCode (0/15)*/,
25664  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25665  },
25666 
25667 };
25668 
25669 static const char kZoneNameEurope_Athens[] ACE_TIME_PROGMEM = "\x0b" "Athens";
25670 
25671 const complete::Info::ZoneInfo kZoneEurope_Athens ACE_TIME_PROGMEM = {
25672  kZoneNameEurope_Athens /*name*/,
25673  0x4318fa27 /*zoneId*/,
25674  &kZoneContext /*zoneContext*/,
25675  6 /*numEras*/,
25676  kZoneEraEurope_Athens /*eras*/,
25677  nullptr /*targetInfo*/,
25678 };
25679 
25680 //---------------------------------------------------------------------------
25681 // Zone name: Europe/Belgrade
25682 // Eras: 7
25683 //---------------------------------------------------------------------------
25684 
25685 static const complete::Info::ZoneEra kZoneEraEurope_Belgrade[] ACE_TIME_PROGMEM = {
25686  // 1:22:00 - LMT 1884
25687  {
25688  nullptr /*zonePolicy*/,
25689  "LMT" /*format*/,
25690  328 /*offsetCode (4920/15)*/,
25691  0 /*offsetRemainder (4920%15)*/,
25692  0 /*deltaMinutes*/,
25693  1884 /*untilYear*/,
25694  1 /*untilMonth*/,
25695  1 /*untilDay*/,
25696  0 /*untilTimeCode (0/15)*/,
25697  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25698  },
25699  // 1:00 - CET 1941 Apr 18 23:00
25700  {
25701  nullptr /*zonePolicy*/,
25702  "CET" /*format*/,
25703  240 /*offsetCode (3600/15)*/,
25704  0 /*offsetRemainder (3600%15)*/,
25705  0 /*deltaMinutes*/,
25706  1941 /*untilYear*/,
25707  4 /*untilMonth*/,
25708  18 /*untilDay*/,
25709  5520 /*untilTimeCode (82800/15)*/,
25710  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25711  },
25712  // 1:00 C-Eur CE%sT 1945
25713  {
25714  &kZonePolicyC_Eur /*zonePolicy*/,
25715  "CE%T" /*format*/,
25716  240 /*offsetCode (3600/15)*/,
25717  0 /*offsetRemainder (3600%15)*/,
25718  0 /*deltaMinutes*/,
25719  1945 /*untilYear*/,
25720  1 /*untilMonth*/,
25721  1 /*untilDay*/,
25722  0 /*untilTimeCode (0/15)*/,
25723  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25724  },
25725  // 1:00 - CET 1945 May 8 2:00s
25726  {
25727  nullptr /*zonePolicy*/,
25728  "CET" /*format*/,
25729  240 /*offsetCode (3600/15)*/,
25730  0 /*offsetRemainder (3600%15)*/,
25731  0 /*deltaMinutes*/,
25732  1945 /*untilYear*/,
25733  5 /*untilMonth*/,
25734  8 /*untilDay*/,
25735  480 /*untilTimeCode (7200/15)*/,
25736  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25737  },
25738  // 1:00 1:00 CEST 1945 Sep 16 2:00s
25739  {
25740  nullptr /*zonePolicy*/,
25741  "CEST" /*format*/,
25742  240 /*offsetCode (3600/15)*/,
25743  0 /*offsetRemainder (3600%15)*/,
25744  60 /*deltaMinutes*/,
25745  1945 /*untilYear*/,
25746  9 /*untilMonth*/,
25747  16 /*untilDay*/,
25748  480 /*untilTimeCode (7200/15)*/,
25749  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25750  },
25751  // 1:00 - CET 1982 Nov 27
25752  {
25753  nullptr /*zonePolicy*/,
25754  "CET" /*format*/,
25755  240 /*offsetCode (3600/15)*/,
25756  0 /*offsetRemainder (3600%15)*/,
25757  0 /*deltaMinutes*/,
25758  1982 /*untilYear*/,
25759  11 /*untilMonth*/,
25760  27 /*untilDay*/,
25761  0 /*untilTimeCode (0/15)*/,
25762  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25763  },
25764  // 1:00 EU CE%sT
25765  {
25766  &kZonePolicyEU /*zonePolicy*/,
25767  "CE%T" /*format*/,
25768  240 /*offsetCode (3600/15)*/,
25769  0 /*offsetRemainder (3600%15)*/,
25770  0 /*deltaMinutes*/,
25771  32767 /*untilYear*/,
25772  1 /*untilMonth*/,
25773  1 /*untilDay*/,
25774  0 /*untilTimeCode (0/15)*/,
25775  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25776  },
25777 
25778 };
25779 
25780 static const char kZoneNameEurope_Belgrade[] ACE_TIME_PROGMEM = "\x0b" "Belgrade";
25781 
25782 const complete::Info::ZoneInfo kZoneEurope_Belgrade ACE_TIME_PROGMEM = {
25783  kZoneNameEurope_Belgrade /*name*/,
25784  0xe0532b3a /*zoneId*/,
25785  &kZoneContext /*zoneContext*/,
25786  7 /*numEras*/,
25787  kZoneEraEurope_Belgrade /*eras*/,
25788  nullptr /*targetInfo*/,
25789 };
25790 
25791 //---------------------------------------------------------------------------
25792 // Zone name: Europe/Berlin
25793 // Eras: 5
25794 //---------------------------------------------------------------------------
25795 
25796 static const complete::Info::ZoneEra kZoneEraEurope_Berlin[] ACE_TIME_PROGMEM = {
25797  // 0:53:28 - LMT 1893 Apr
25798  {
25799  nullptr /*zonePolicy*/,
25800  "LMT" /*format*/,
25801  213 /*offsetCode (3208/15)*/,
25802  13 /*offsetRemainder (3208%15)*/,
25803  0 /*deltaMinutes*/,
25804  1893 /*untilYear*/,
25805  4 /*untilMonth*/,
25806  1 /*untilDay*/,
25807  0 /*untilTimeCode (0/15)*/,
25808  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25809  },
25810  // 1:00 C-Eur CE%sT 1945 May 24 2:00
25811  {
25812  &kZonePolicyC_Eur /*zonePolicy*/,
25813  "CE%T" /*format*/,
25814  240 /*offsetCode (3600/15)*/,
25815  0 /*offsetRemainder (3600%15)*/,
25816  0 /*deltaMinutes*/,
25817  1945 /*untilYear*/,
25818  5 /*untilMonth*/,
25819  24 /*untilDay*/,
25820  480 /*untilTimeCode (7200/15)*/,
25821  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25822  },
25823  // 1:00 SovietZone CE%sT 1946
25824  {
25825  &kZonePolicySovietZone /*zonePolicy*/,
25826  "CE%T" /*format*/,
25827  240 /*offsetCode (3600/15)*/,
25828  0 /*offsetRemainder (3600%15)*/,
25829  0 /*deltaMinutes*/,
25830  1946 /*untilYear*/,
25831  1 /*untilMonth*/,
25832  1 /*untilDay*/,
25833  0 /*untilTimeCode (0/15)*/,
25834  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25835  },
25836  // 1:00 Germany CE%sT 1980
25837  {
25838  &kZonePolicyGermany /*zonePolicy*/,
25839  "CE%T" /*format*/,
25840  240 /*offsetCode (3600/15)*/,
25841  0 /*offsetRemainder (3600%15)*/,
25842  0 /*deltaMinutes*/,
25843  1980 /*untilYear*/,
25844  1 /*untilMonth*/,
25845  1 /*untilDay*/,
25846  0 /*untilTimeCode (0/15)*/,
25847  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25848  },
25849  // 1:00 EU CE%sT
25850  {
25851  &kZonePolicyEU /*zonePolicy*/,
25852  "CE%T" /*format*/,
25853  240 /*offsetCode (3600/15)*/,
25854  0 /*offsetRemainder (3600%15)*/,
25855  0 /*deltaMinutes*/,
25856  32767 /*untilYear*/,
25857  1 /*untilMonth*/,
25858  1 /*untilDay*/,
25859  0 /*untilTimeCode (0/15)*/,
25860  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25861  },
25862 
25863 };
25864 
25865 static const char kZoneNameEurope_Berlin[] ACE_TIME_PROGMEM = "\x0b" "Berlin";
25866 
25867 const complete::Info::ZoneInfo kZoneEurope_Berlin ACE_TIME_PROGMEM = {
25868  kZoneNameEurope_Berlin /*name*/,
25869  0x44644c20 /*zoneId*/,
25870  &kZoneContext /*zoneContext*/,
25871  5 /*numEras*/,
25872  kZoneEraEurope_Berlin /*eras*/,
25873  nullptr /*targetInfo*/,
25874 };
25875 
25876 //---------------------------------------------------------------------------
25877 // Zone name: Europe/Brussels
25878 // Eras: 9
25879 //---------------------------------------------------------------------------
25880 
25881 static const complete::Info::ZoneEra kZoneEraEurope_Brussels[] ACE_TIME_PROGMEM = {
25882  // 0:17:30 - LMT 1880
25883  {
25884  nullptr /*zonePolicy*/,
25885  "LMT" /*format*/,
25886  70 /*offsetCode (1050/15)*/,
25887  0 /*offsetRemainder (1050%15)*/,
25888  0 /*deltaMinutes*/,
25889  1880 /*untilYear*/,
25890  1 /*untilMonth*/,
25891  1 /*untilDay*/,
25892  0 /*untilTimeCode (0/15)*/,
25893  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25894  },
25895  // 0:17:30 - BMT 1892 May 1 00:17:30
25896  {
25897  nullptr /*zonePolicy*/,
25898  "BMT" /*format*/,
25899  70 /*offsetCode (1050/15)*/,
25900  0 /*offsetRemainder (1050%15)*/,
25901  0 /*deltaMinutes*/,
25902  1892 /*untilYear*/,
25903  5 /*untilMonth*/,
25904  1 /*untilDay*/,
25905  70 /*untilTimeCode (1050/15)*/,
25906  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25907  },
25908  // 0:00 - WET 1914 Nov 8
25909  {
25910  nullptr /*zonePolicy*/,
25911  "WET" /*format*/,
25912  0 /*offsetCode (0/15)*/,
25913  0 /*offsetRemainder (0%15)*/,
25914  0 /*deltaMinutes*/,
25915  1914 /*untilYear*/,
25916  11 /*untilMonth*/,
25917  8 /*untilDay*/,
25918  0 /*untilTimeCode (0/15)*/,
25919  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25920  },
25921  // 1:00 - CET 1916 May 1 0:00
25922  {
25923  nullptr /*zonePolicy*/,
25924  "CET" /*format*/,
25925  240 /*offsetCode (3600/15)*/,
25926  0 /*offsetRemainder (3600%15)*/,
25927  0 /*deltaMinutes*/,
25928  1916 /*untilYear*/,
25929  5 /*untilMonth*/,
25930  1 /*untilDay*/,
25931  0 /*untilTimeCode (0/15)*/,
25932  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25933  },
25934  // 1:00 C-Eur CE%sT 1918 Nov 11 11:00u
25935  {
25936  &kZonePolicyC_Eur /*zonePolicy*/,
25937  "CE%T" /*format*/,
25938  240 /*offsetCode (3600/15)*/,
25939  0 /*offsetRemainder (3600%15)*/,
25940  0 /*deltaMinutes*/,
25941  1918 /*untilYear*/,
25942  11 /*untilMonth*/,
25943  11 /*untilDay*/,
25944  2640 /*untilTimeCode (39600/15)*/,
25945  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
25946  },
25947  // 0:00 Belgium WE%sT 1940 May 20 2:00s
25948  {
25949  &kZonePolicyBelgium /*zonePolicy*/,
25950  "WE%T" /*format*/,
25951  0 /*offsetCode (0/15)*/,
25952  0 /*offsetRemainder (0%15)*/,
25953  0 /*deltaMinutes*/,
25954  1940 /*untilYear*/,
25955  5 /*untilMonth*/,
25956  20 /*untilDay*/,
25957  480 /*untilTimeCode (7200/15)*/,
25958  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25959  },
25960  // 1:00 C-Eur CE%sT 1944 Sep 3
25961  {
25962  &kZonePolicyC_Eur /*zonePolicy*/,
25963  "CE%T" /*format*/,
25964  240 /*offsetCode (3600/15)*/,
25965  0 /*offsetRemainder (3600%15)*/,
25966  0 /*deltaMinutes*/,
25967  1944 /*untilYear*/,
25968  9 /*untilMonth*/,
25969  3 /*untilDay*/,
25970  0 /*untilTimeCode (0/15)*/,
25971  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25972  },
25973  // 1:00 Belgium CE%sT 1977
25974  {
25975  &kZonePolicyBelgium /*zonePolicy*/,
25976  "CE%T" /*format*/,
25977  240 /*offsetCode (3600/15)*/,
25978  0 /*offsetRemainder (3600%15)*/,
25979  0 /*deltaMinutes*/,
25980  1977 /*untilYear*/,
25981  1 /*untilMonth*/,
25982  1 /*untilDay*/,
25983  0 /*untilTimeCode (0/15)*/,
25984  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25985  },
25986  // 1:00 EU CE%sT
25987  {
25988  &kZonePolicyEU /*zonePolicy*/,
25989  "CE%T" /*format*/,
25990  240 /*offsetCode (3600/15)*/,
25991  0 /*offsetRemainder (3600%15)*/,
25992  0 /*deltaMinutes*/,
25993  32767 /*untilYear*/,
25994  1 /*untilMonth*/,
25995  1 /*untilDay*/,
25996  0 /*untilTimeCode (0/15)*/,
25997  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25998  },
25999 
26000 };
26001 
26002 static const char kZoneNameEurope_Brussels[] ACE_TIME_PROGMEM = "\x0b" "Brussels";
26003 
26004 const complete::Info::ZoneInfo kZoneEurope_Brussels ACE_TIME_PROGMEM = {
26005  kZoneNameEurope_Brussels /*name*/,
26006  0xdee07337 /*zoneId*/,
26007  &kZoneContext /*zoneContext*/,
26008  9 /*numEras*/,
26009  kZoneEraEurope_Brussels /*eras*/,
26010  nullptr /*targetInfo*/,
26011 };
26012 
26013 //---------------------------------------------------------------------------
26014 // Zone name: Europe/Bucharest
26015 // Eras: 7
26016 //---------------------------------------------------------------------------
26017 
26018 static const complete::Info::ZoneEra kZoneEraEurope_Bucharest[] ACE_TIME_PROGMEM = {
26019  // 1:44:24 - LMT 1891 Oct
26020  {
26021  nullptr /*zonePolicy*/,
26022  "LMT" /*format*/,
26023  417 /*offsetCode (6264/15)*/,
26024  9 /*offsetRemainder (6264%15)*/,
26025  0 /*deltaMinutes*/,
26026  1891 /*untilYear*/,
26027  10 /*untilMonth*/,
26028  1 /*untilDay*/,
26029  0 /*untilTimeCode (0/15)*/,
26030  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26031  },
26032  // 1:44:24 - BMT 1931 Jul 24
26033  {
26034  nullptr /*zonePolicy*/,
26035  "BMT" /*format*/,
26036  417 /*offsetCode (6264/15)*/,
26037  9 /*offsetRemainder (6264%15)*/,
26038  0 /*deltaMinutes*/,
26039  1931 /*untilYear*/,
26040  7 /*untilMonth*/,
26041  24 /*untilDay*/,
26042  0 /*untilTimeCode (0/15)*/,
26043  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26044  },
26045  // 2:00 Romania EE%sT 1981 Mar 29 2:00s
26046  {
26047  &kZonePolicyRomania /*zonePolicy*/,
26048  "EE%T" /*format*/,
26049  480 /*offsetCode (7200/15)*/,
26050  0 /*offsetRemainder (7200%15)*/,
26051  0 /*deltaMinutes*/,
26052  1981 /*untilYear*/,
26053  3 /*untilMonth*/,
26054  29 /*untilDay*/,
26055  480 /*untilTimeCode (7200/15)*/,
26056  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26057  },
26058  // 2:00 C-Eur EE%sT 1991
26059  {
26060  &kZonePolicyC_Eur /*zonePolicy*/,
26061  "EE%T" /*format*/,
26062  480 /*offsetCode (7200/15)*/,
26063  0 /*offsetRemainder (7200%15)*/,
26064  0 /*deltaMinutes*/,
26065  1991 /*untilYear*/,
26066  1 /*untilMonth*/,
26067  1 /*untilDay*/,
26068  0 /*untilTimeCode (0/15)*/,
26069  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26070  },
26071  // 2:00 Romania EE%sT 1994
26072  {
26073  &kZonePolicyRomania /*zonePolicy*/,
26074  "EE%T" /*format*/,
26075  480 /*offsetCode (7200/15)*/,
26076  0 /*offsetRemainder (7200%15)*/,
26077  0 /*deltaMinutes*/,
26078  1994 /*untilYear*/,
26079  1 /*untilMonth*/,
26080  1 /*untilDay*/,
26081  0 /*untilTimeCode (0/15)*/,
26082  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26083  },
26084  // 2:00 E-Eur EE%sT 1997
26085  {
26086  &kZonePolicyE_Eur /*zonePolicy*/,
26087  "EE%T" /*format*/,
26088  480 /*offsetCode (7200/15)*/,
26089  0 /*offsetRemainder (7200%15)*/,
26090  0 /*deltaMinutes*/,
26091  1997 /*untilYear*/,
26092  1 /*untilMonth*/,
26093  1 /*untilDay*/,
26094  0 /*untilTimeCode (0/15)*/,
26095  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26096  },
26097  // 2:00 EU EE%sT
26098  {
26099  &kZonePolicyEU /*zonePolicy*/,
26100  "EE%T" /*format*/,
26101  480 /*offsetCode (7200/15)*/,
26102  0 /*offsetRemainder (7200%15)*/,
26103  0 /*deltaMinutes*/,
26104  32767 /*untilYear*/,
26105  1 /*untilMonth*/,
26106  1 /*untilDay*/,
26107  0 /*untilTimeCode (0/15)*/,
26108  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26109  },
26110 
26111 };
26112 
26113 static const char kZoneNameEurope_Bucharest[] ACE_TIME_PROGMEM = "\x0b" "Bucharest";
26114 
26115 const complete::Info::ZoneInfo kZoneEurope_Bucharest ACE_TIME_PROGMEM = {
26116  kZoneNameEurope_Bucharest /*name*/,
26117  0xfb349ec5 /*zoneId*/,
26118  &kZoneContext /*zoneContext*/,
26119  7 /*numEras*/,
26120  kZoneEraEurope_Bucharest /*eras*/,
26121  nullptr /*targetInfo*/,
26122 };
26123 
26124 //---------------------------------------------------------------------------
26125 // Zone name: Europe/Budapest
26126 // Eras: 6
26127 //---------------------------------------------------------------------------
26128 
26129 static const complete::Info::ZoneEra kZoneEraEurope_Budapest[] ACE_TIME_PROGMEM = {
26130  // 1:16:20 - LMT 1890 Nov 1
26131  {
26132  nullptr /*zonePolicy*/,
26133  "LMT" /*format*/,
26134  305 /*offsetCode (4580/15)*/,
26135  5 /*offsetRemainder (4580%15)*/,
26136  0 /*deltaMinutes*/,
26137  1890 /*untilYear*/,
26138  11 /*untilMonth*/,
26139  1 /*untilDay*/,
26140  0 /*untilTimeCode (0/15)*/,
26141  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26142  },
26143  // 1:00 C-Eur CE%sT 1918
26144  {
26145  &kZonePolicyC_Eur /*zonePolicy*/,
26146  "CE%T" /*format*/,
26147  240 /*offsetCode (3600/15)*/,
26148  0 /*offsetRemainder (3600%15)*/,
26149  0 /*deltaMinutes*/,
26150  1918 /*untilYear*/,
26151  1 /*untilMonth*/,
26152  1 /*untilDay*/,
26153  0 /*untilTimeCode (0/15)*/,
26154  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26155  },
26156  // 1:00 Hungary CE%sT 1941 Apr 7 23:00
26157  {
26158  &kZonePolicyHungary /*zonePolicy*/,
26159  "CE%T" /*format*/,
26160  240 /*offsetCode (3600/15)*/,
26161  0 /*offsetRemainder (3600%15)*/,
26162  0 /*deltaMinutes*/,
26163  1941 /*untilYear*/,
26164  4 /*untilMonth*/,
26165  7 /*untilDay*/,
26166  5520 /*untilTimeCode (82800/15)*/,
26167  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26168  },
26169  // 1:00 C-Eur CE%sT 1945
26170  {
26171  &kZonePolicyC_Eur /*zonePolicy*/,
26172  "CE%T" /*format*/,
26173  240 /*offsetCode (3600/15)*/,
26174  0 /*offsetRemainder (3600%15)*/,
26175  0 /*deltaMinutes*/,
26176  1945 /*untilYear*/,
26177  1 /*untilMonth*/,
26178  1 /*untilDay*/,
26179  0 /*untilTimeCode (0/15)*/,
26180  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26181  },
26182  // 1:00 Hungary CE%sT 1984
26183  {
26184  &kZonePolicyHungary /*zonePolicy*/,
26185  "CE%T" /*format*/,
26186  240 /*offsetCode (3600/15)*/,
26187  0 /*offsetRemainder (3600%15)*/,
26188  0 /*deltaMinutes*/,
26189  1984 /*untilYear*/,
26190  1 /*untilMonth*/,
26191  1 /*untilDay*/,
26192  0 /*untilTimeCode (0/15)*/,
26193  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26194  },
26195  // 1:00 EU CE%sT
26196  {
26197  &kZonePolicyEU /*zonePolicy*/,
26198  "CE%T" /*format*/,
26199  240 /*offsetCode (3600/15)*/,
26200  0 /*offsetRemainder (3600%15)*/,
26201  0 /*deltaMinutes*/,
26202  32767 /*untilYear*/,
26203  1 /*untilMonth*/,
26204  1 /*untilDay*/,
26205  0 /*untilTimeCode (0/15)*/,
26206  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26207  },
26208 
26209 };
26210 
26211 static const char kZoneNameEurope_Budapest[] ACE_TIME_PROGMEM = "\x0b" "Budapest";
26212 
26213 const complete::Info::ZoneInfo kZoneEurope_Budapest ACE_TIME_PROGMEM = {
26214  kZoneNameEurope_Budapest /*name*/,
26215  0x9ce0197c /*zoneId*/,
26216  &kZoneContext /*zoneContext*/,
26217  6 /*numEras*/,
26218  kZoneEraEurope_Budapest /*eras*/,
26219  nullptr /*targetInfo*/,
26220 };
26221 
26222 //---------------------------------------------------------------------------
26223 // Zone name: Europe/Chisinau
26224 // Eras: 10
26225 //---------------------------------------------------------------------------
26226 
26227 static const complete::Info::ZoneEra kZoneEraEurope_Chisinau[] ACE_TIME_PROGMEM = {
26228  // 1:55:20 - LMT 1880
26229  {
26230  nullptr /*zonePolicy*/,
26231  "LMT" /*format*/,
26232  461 /*offsetCode (6920/15)*/,
26233  5 /*offsetRemainder (6920%15)*/,
26234  0 /*deltaMinutes*/,
26235  1880 /*untilYear*/,
26236  1 /*untilMonth*/,
26237  1 /*untilDay*/,
26238  0 /*untilTimeCode (0/15)*/,
26239  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26240  },
26241  // 1:55 - CMT 1918 Feb 15
26242  {
26243  nullptr /*zonePolicy*/,
26244  "CMT" /*format*/,
26245  460 /*offsetCode (6900/15)*/,
26246  0 /*offsetRemainder (6900%15)*/,
26247  0 /*deltaMinutes*/,
26248  1918 /*untilYear*/,
26249  2 /*untilMonth*/,
26250  15 /*untilDay*/,
26251  0 /*untilTimeCode (0/15)*/,
26252  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26253  },
26254  // 1:44:24 - BMT 1931 Jul 24
26255  {
26256  nullptr /*zonePolicy*/,
26257  "BMT" /*format*/,
26258  417 /*offsetCode (6264/15)*/,
26259  9 /*offsetRemainder (6264%15)*/,
26260  0 /*deltaMinutes*/,
26261  1931 /*untilYear*/,
26262  7 /*untilMonth*/,
26263  24 /*untilDay*/,
26264  0 /*untilTimeCode (0/15)*/,
26265  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26266  },
26267  // 2:00 Romania EE%sT 1940 Aug 15
26268  {
26269  &kZonePolicyRomania /*zonePolicy*/,
26270  "EE%T" /*format*/,
26271  480 /*offsetCode (7200/15)*/,
26272  0 /*offsetRemainder (7200%15)*/,
26273  0 /*deltaMinutes*/,
26274  1940 /*untilYear*/,
26275  8 /*untilMonth*/,
26276  15 /*untilDay*/,
26277  0 /*untilTimeCode (0/15)*/,
26278  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26279  },
26280  // 2:00 1:00 EEST 1941 Jul 17
26281  {
26282  nullptr /*zonePolicy*/,
26283  "EEST" /*format*/,
26284  480 /*offsetCode (7200/15)*/,
26285  0 /*offsetRemainder (7200%15)*/,
26286  60 /*deltaMinutes*/,
26287  1941 /*untilYear*/,
26288  7 /*untilMonth*/,
26289  17 /*untilDay*/,
26290  0 /*untilTimeCode (0/15)*/,
26291  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26292  },
26293  // 1:00 C-Eur CE%sT 1944 Aug 24
26294  {
26295  &kZonePolicyC_Eur /*zonePolicy*/,
26296  "CE%T" /*format*/,
26297  240 /*offsetCode (3600/15)*/,
26298  0 /*offsetRemainder (3600%15)*/,
26299  0 /*deltaMinutes*/,
26300  1944 /*untilYear*/,
26301  8 /*untilMonth*/,
26302  24 /*untilDay*/,
26303  0 /*untilTimeCode (0/15)*/,
26304  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26305  },
26306  // 3:00 Russia MSK/MSD 1990 May 6 2:00
26307  {
26308  &kZonePolicyRussia /*zonePolicy*/,
26309  "MSK/MSD" /*format*/,
26310  720 /*offsetCode (10800/15)*/,
26311  0 /*offsetRemainder (10800%15)*/,
26312  0 /*deltaMinutes*/,
26313  1990 /*untilYear*/,
26314  5 /*untilMonth*/,
26315  6 /*untilDay*/,
26316  480 /*untilTimeCode (7200/15)*/,
26317  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26318  },
26319  // 2:00 Russia EE%sT 1992
26320  {
26321  &kZonePolicyRussia /*zonePolicy*/,
26322  "EE%T" /*format*/,
26323  480 /*offsetCode (7200/15)*/,
26324  0 /*offsetRemainder (7200%15)*/,
26325  0 /*deltaMinutes*/,
26326  1992 /*untilYear*/,
26327  1 /*untilMonth*/,
26328  1 /*untilDay*/,
26329  0 /*untilTimeCode (0/15)*/,
26330  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26331  },
26332  // 2:00 E-Eur EE%sT 1997
26333  {
26334  &kZonePolicyE_Eur /*zonePolicy*/,
26335  "EE%T" /*format*/,
26336  480 /*offsetCode (7200/15)*/,
26337  0 /*offsetRemainder (7200%15)*/,
26338  0 /*deltaMinutes*/,
26339  1997 /*untilYear*/,
26340  1 /*untilMonth*/,
26341  1 /*untilDay*/,
26342  0 /*untilTimeCode (0/15)*/,
26343  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26344  },
26345  // 2:00 Moldova EE%sT
26346  {
26347  &kZonePolicyMoldova /*zonePolicy*/,
26348  "EE%T" /*format*/,
26349  480 /*offsetCode (7200/15)*/,
26350  0 /*offsetRemainder (7200%15)*/,
26351  0 /*deltaMinutes*/,
26352  32767 /*untilYear*/,
26353  1 /*untilMonth*/,
26354  1 /*untilDay*/,
26355  0 /*untilTimeCode (0/15)*/,
26356  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26357  },
26358 
26359 };
26360 
26361 static const char kZoneNameEurope_Chisinau[] ACE_TIME_PROGMEM = "\x0b" "Chisinau";
26362 
26363 const complete::Info::ZoneInfo kZoneEurope_Chisinau ACE_TIME_PROGMEM = {
26364  kZoneNameEurope_Chisinau /*name*/,
26365  0xad58aa18 /*zoneId*/,
26366  &kZoneContext /*zoneContext*/,
26367  10 /*numEras*/,
26368  kZoneEraEurope_Chisinau /*eras*/,
26369  nullptr /*targetInfo*/,
26370 };
26371 
26372 //---------------------------------------------------------------------------
26373 // Zone name: Europe/Dublin
26374 // Eras: 11
26375 //---------------------------------------------------------------------------
26376 
26377 static const complete::Info::ZoneEra kZoneEraEurope_Dublin[] ACE_TIME_PROGMEM = {
26378  // -0:25:21 - LMT 1880 Aug 2
26379  {
26380  nullptr /*zonePolicy*/,
26381  "LMT" /*format*/,
26382  -102 /*offsetCode (-1521/15)*/,
26383  9 /*offsetRemainder (-1521%15)*/,
26384  0 /*deltaMinutes*/,
26385  1880 /*untilYear*/,
26386  8 /*untilMonth*/,
26387  2 /*untilDay*/,
26388  0 /*untilTimeCode (0/15)*/,
26389  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26390  },
26391  // -0:25:21 - DMT 1916 May 21 2:00s
26392  {
26393  nullptr /*zonePolicy*/,
26394  "DMT" /*format*/,
26395  -102 /*offsetCode (-1521/15)*/,
26396  9 /*offsetRemainder (-1521%15)*/,
26397  0 /*deltaMinutes*/,
26398  1916 /*untilYear*/,
26399  5 /*untilMonth*/,
26400  21 /*untilDay*/,
26401  480 /*untilTimeCode (7200/15)*/,
26402  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26403  },
26404  // -0:25:21 1:00 IST 1916 Oct 1 2:00s
26405  {
26406  nullptr /*zonePolicy*/,
26407  "IST" /*format*/,
26408  -102 /*offsetCode (-1521/15)*/,
26409  9 /*offsetRemainder (-1521%15)*/,
26410  60 /*deltaMinutes*/,
26411  1916 /*untilYear*/,
26412  10 /*untilMonth*/,
26413  1 /*untilDay*/,
26414  480 /*untilTimeCode (7200/15)*/,
26415  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26416  },
26417  // 0:00 GB-Eire %s 1921 Dec 6
26418  {
26419  &kZonePolicyGB_Eire /*zonePolicy*/,
26420  "%" /*format*/,
26421  0 /*offsetCode (0/15)*/,
26422  0 /*offsetRemainder (0%15)*/,
26423  0 /*deltaMinutes*/,
26424  1921 /*untilYear*/,
26425  12 /*untilMonth*/,
26426  6 /*untilDay*/,
26427  0 /*untilTimeCode (0/15)*/,
26428  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26429  },
26430  // 0:00 GB-Eire GMT/IST 1940 Feb 25 2:00s
26431  {
26432  &kZonePolicyGB_Eire /*zonePolicy*/,
26433  "GMT/IST" /*format*/,
26434  0 /*offsetCode (0/15)*/,
26435  0 /*offsetRemainder (0%15)*/,
26436  0 /*deltaMinutes*/,
26437  1940 /*untilYear*/,
26438  2 /*untilMonth*/,
26439  25 /*untilDay*/,
26440  480 /*untilTimeCode (7200/15)*/,
26441  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26442  },
26443  // 0:00 1:00 IST 1946 Oct 6 2:00s
26444  {
26445  nullptr /*zonePolicy*/,
26446  "IST" /*format*/,
26447  0 /*offsetCode (0/15)*/,
26448  0 /*offsetRemainder (0%15)*/,
26449  60 /*deltaMinutes*/,
26450  1946 /*untilYear*/,
26451  10 /*untilMonth*/,
26452  6 /*untilDay*/,
26453  480 /*untilTimeCode (7200/15)*/,
26454  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26455  },
26456  // 0:00 - GMT 1947 Mar 16 2:00s
26457  {
26458  nullptr /*zonePolicy*/,
26459  "GMT" /*format*/,
26460  0 /*offsetCode (0/15)*/,
26461  0 /*offsetRemainder (0%15)*/,
26462  0 /*deltaMinutes*/,
26463  1947 /*untilYear*/,
26464  3 /*untilMonth*/,
26465  16 /*untilDay*/,
26466  480 /*untilTimeCode (7200/15)*/,
26467  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26468  },
26469  // 0:00 1:00 IST 1947 Nov 2 2:00s
26470  {
26471  nullptr /*zonePolicy*/,
26472  "IST" /*format*/,
26473  0 /*offsetCode (0/15)*/,
26474  0 /*offsetRemainder (0%15)*/,
26475  60 /*deltaMinutes*/,
26476  1947 /*untilYear*/,
26477  11 /*untilMonth*/,
26478  2 /*untilDay*/,
26479  480 /*untilTimeCode (7200/15)*/,
26480  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26481  },
26482  // 0:00 - GMT 1948 Apr 18 2:00s
26483  {
26484  nullptr /*zonePolicy*/,
26485  "GMT" /*format*/,
26486  0 /*offsetCode (0/15)*/,
26487  0 /*offsetRemainder (0%15)*/,
26488  0 /*deltaMinutes*/,
26489  1948 /*untilYear*/,
26490  4 /*untilMonth*/,
26491  18 /*untilDay*/,
26492  480 /*untilTimeCode (7200/15)*/,
26493  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26494  },
26495  // 0:00 GB-Eire GMT/IST 1968 Oct 27
26496  {
26497  &kZonePolicyGB_Eire /*zonePolicy*/,
26498  "GMT/IST" /*format*/,
26499  0 /*offsetCode (0/15)*/,
26500  0 /*offsetRemainder (0%15)*/,
26501  0 /*deltaMinutes*/,
26502  1968 /*untilYear*/,
26503  10 /*untilMonth*/,
26504  27 /*untilDay*/,
26505  0 /*untilTimeCode (0/15)*/,
26506  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26507  },
26508  // 1:00 Eire IST/GMT
26509  {
26510  &kZonePolicyEire /*zonePolicy*/,
26511  "IST/GMT" /*format*/,
26512  240 /*offsetCode (3600/15)*/,
26513  0 /*offsetRemainder (3600%15)*/,
26514  0 /*deltaMinutes*/,
26515  32767 /*untilYear*/,
26516  1 /*untilMonth*/,
26517  1 /*untilDay*/,
26518  0 /*untilTimeCode (0/15)*/,
26519  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26520  },
26521 
26522 };
26523 
26524 static const char kZoneNameEurope_Dublin[] ACE_TIME_PROGMEM = "\x0b" "Dublin";
26525 
26526 const complete::Info::ZoneInfo kZoneEurope_Dublin ACE_TIME_PROGMEM = {
26527  kZoneNameEurope_Dublin /*name*/,
26528  0x4a275f62 /*zoneId*/,
26529  &kZoneContext /*zoneContext*/,
26530  11 /*numEras*/,
26531  kZoneEraEurope_Dublin /*eras*/,
26532  nullptr /*targetInfo*/,
26533 };
26534 
26535 //---------------------------------------------------------------------------
26536 // Zone name: Europe/Gibraltar
26537 // Eras: 4
26538 //---------------------------------------------------------------------------
26539 
26540 static const complete::Info::ZoneEra kZoneEraEurope_Gibraltar[] ACE_TIME_PROGMEM = {
26541  // -0:21:24 - LMT 1880 Aug 2
26542  {
26543  nullptr /*zonePolicy*/,
26544  "LMT" /*format*/,
26545  -86 /*offsetCode (-1284/15)*/,
26546  6 /*offsetRemainder (-1284%15)*/,
26547  0 /*deltaMinutes*/,
26548  1880 /*untilYear*/,
26549  8 /*untilMonth*/,
26550  2 /*untilDay*/,
26551  0 /*untilTimeCode (0/15)*/,
26552  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26553  },
26554  // 0:00 GB-Eire %s 1957 Apr 14 2:00
26555  {
26556  &kZonePolicyGB_Eire /*zonePolicy*/,
26557  "%" /*format*/,
26558  0 /*offsetCode (0/15)*/,
26559  0 /*offsetRemainder (0%15)*/,
26560  0 /*deltaMinutes*/,
26561  1957 /*untilYear*/,
26562  4 /*untilMonth*/,
26563  14 /*untilDay*/,
26564  480 /*untilTimeCode (7200/15)*/,
26565  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26566  },
26567  // 1:00 - CET 1982
26568  {
26569  nullptr /*zonePolicy*/,
26570  "CET" /*format*/,
26571  240 /*offsetCode (3600/15)*/,
26572  0 /*offsetRemainder (3600%15)*/,
26573  0 /*deltaMinutes*/,
26574  1982 /*untilYear*/,
26575  1 /*untilMonth*/,
26576  1 /*untilDay*/,
26577  0 /*untilTimeCode (0/15)*/,
26578  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26579  },
26580  // 1:00 EU CE%sT
26581  {
26582  &kZonePolicyEU /*zonePolicy*/,
26583  "CE%T" /*format*/,
26584  240 /*offsetCode (3600/15)*/,
26585  0 /*offsetRemainder (3600%15)*/,
26586  0 /*deltaMinutes*/,
26587  32767 /*untilYear*/,
26588  1 /*untilMonth*/,
26589  1 /*untilDay*/,
26590  0 /*untilTimeCode (0/15)*/,
26591  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26592  },
26593 
26594 };
26595 
26596 static const char kZoneNameEurope_Gibraltar[] ACE_TIME_PROGMEM = "\x0b" "Gibraltar";
26597 
26598 const complete::Info::ZoneInfo kZoneEurope_Gibraltar ACE_TIME_PROGMEM = {
26599  kZoneNameEurope_Gibraltar /*name*/,
26600  0xf8e325fc /*zoneId*/,
26601  &kZoneContext /*zoneContext*/,
26602  4 /*numEras*/,
26603  kZoneEraEurope_Gibraltar /*eras*/,
26604  nullptr /*targetInfo*/,
26605 };
26606 
26607 //---------------------------------------------------------------------------
26608 // Zone name: Europe/Helsinki
26609 // Eras: 4
26610 //---------------------------------------------------------------------------
26611 
26612 static const complete::Info::ZoneEra kZoneEraEurope_Helsinki[] ACE_TIME_PROGMEM = {
26613  // 1:39:49 - LMT 1878 May 31
26614  {
26615  nullptr /*zonePolicy*/,
26616  "LMT" /*format*/,
26617  399 /*offsetCode (5989/15)*/,
26618  4 /*offsetRemainder (5989%15)*/,
26619  0 /*deltaMinutes*/,
26620  1878 /*untilYear*/,
26621  5 /*untilMonth*/,
26622  31 /*untilDay*/,
26623  0 /*untilTimeCode (0/15)*/,
26624  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26625  },
26626  // 1:39:49 - HMT 1921 May
26627  {
26628  nullptr /*zonePolicy*/,
26629  "HMT" /*format*/,
26630  399 /*offsetCode (5989/15)*/,
26631  4 /*offsetRemainder (5989%15)*/,
26632  0 /*deltaMinutes*/,
26633  1921 /*untilYear*/,
26634  5 /*untilMonth*/,
26635  1 /*untilDay*/,
26636  0 /*untilTimeCode (0/15)*/,
26637  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26638  },
26639  // 2:00 Finland EE%sT 1983
26640  {
26641  &kZonePolicyFinland /*zonePolicy*/,
26642  "EE%T" /*format*/,
26643  480 /*offsetCode (7200/15)*/,
26644  0 /*offsetRemainder (7200%15)*/,
26645  0 /*deltaMinutes*/,
26646  1983 /*untilYear*/,
26647  1 /*untilMonth*/,
26648  1 /*untilDay*/,
26649  0 /*untilTimeCode (0/15)*/,
26650  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26651  },
26652  // 2:00 EU EE%sT
26653  {
26654  &kZonePolicyEU /*zonePolicy*/,
26655  "EE%T" /*format*/,
26656  480 /*offsetCode (7200/15)*/,
26657  0 /*offsetRemainder (7200%15)*/,
26658  0 /*deltaMinutes*/,
26659  32767 /*untilYear*/,
26660  1 /*untilMonth*/,
26661  1 /*untilDay*/,
26662  0 /*untilTimeCode (0/15)*/,
26663  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26664  },
26665 
26666 };
26667 
26668 static const char kZoneNameEurope_Helsinki[] ACE_TIME_PROGMEM = "\x0b" "Helsinki";
26669 
26670 const complete::Info::ZoneInfo kZoneEurope_Helsinki ACE_TIME_PROGMEM = {
26671  kZoneNameEurope_Helsinki /*name*/,
26672  0x6ab2975b /*zoneId*/,
26673  &kZoneContext /*zoneContext*/,
26674  4 /*numEras*/,
26675  kZoneEraEurope_Helsinki /*eras*/,
26676  nullptr /*targetInfo*/,
26677 };
26678 
26679 //---------------------------------------------------------------------------
26680 // Zone name: Europe/Istanbul
26681 // Eras: 13
26682 //---------------------------------------------------------------------------
26683 
26684 static const complete::Info::ZoneEra kZoneEraEurope_Istanbul[] ACE_TIME_PROGMEM = {
26685  // 1:55:52 - LMT 1880
26686  {
26687  nullptr /*zonePolicy*/,
26688  "LMT" /*format*/,
26689  463 /*offsetCode (6952/15)*/,
26690  7 /*offsetRemainder (6952%15)*/,
26691  0 /*deltaMinutes*/,
26692  1880 /*untilYear*/,
26693  1 /*untilMonth*/,
26694  1 /*untilDay*/,
26695  0 /*untilTimeCode (0/15)*/,
26696  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26697  },
26698  // 1:56:56 - IMT 1910 Oct
26699  {
26700  nullptr /*zonePolicy*/,
26701  "IMT" /*format*/,
26702  467 /*offsetCode (7016/15)*/,
26703  11 /*offsetRemainder (7016%15)*/,
26704  0 /*deltaMinutes*/,
26705  1910 /*untilYear*/,
26706  10 /*untilMonth*/,
26707  1 /*untilDay*/,
26708  0 /*untilTimeCode (0/15)*/,
26709  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26710  },
26711  // 2:00 Turkey EE%sT 1978 Jun 29
26712  {
26713  &kZonePolicyTurkey /*zonePolicy*/,
26714  "EE%T" /*format*/,
26715  480 /*offsetCode (7200/15)*/,
26716  0 /*offsetRemainder (7200%15)*/,
26717  0 /*deltaMinutes*/,
26718  1978 /*untilYear*/,
26719  6 /*untilMonth*/,
26720  29 /*untilDay*/,
26721  0 /*untilTimeCode (0/15)*/,
26722  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26723  },
26724  // 3:00 Turkey %z 1984 Nov 1 2:00
26725  {
26726  &kZonePolicyTurkey /*zonePolicy*/,
26727  "" /*format*/,
26728  720 /*offsetCode (10800/15)*/,
26729  0 /*offsetRemainder (10800%15)*/,
26730  0 /*deltaMinutes*/,
26731  1984 /*untilYear*/,
26732  11 /*untilMonth*/,
26733  1 /*untilDay*/,
26734  480 /*untilTimeCode (7200/15)*/,
26735  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26736  },
26737  // 2:00 Turkey EE%sT 2007
26738  {
26739  &kZonePolicyTurkey /*zonePolicy*/,
26740  "EE%T" /*format*/,
26741  480 /*offsetCode (7200/15)*/,
26742  0 /*offsetRemainder (7200%15)*/,
26743  0 /*deltaMinutes*/,
26744  2007 /*untilYear*/,
26745  1 /*untilMonth*/,
26746  1 /*untilDay*/,
26747  0 /*untilTimeCode (0/15)*/,
26748  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26749  },
26750  // 2:00 EU EE%sT 2011 Mar 27 1:00u
26751  {
26752  &kZonePolicyEU /*zonePolicy*/,
26753  "EE%T" /*format*/,
26754  480 /*offsetCode (7200/15)*/,
26755  0 /*offsetRemainder (7200%15)*/,
26756  0 /*deltaMinutes*/,
26757  2011 /*untilYear*/,
26758  3 /*untilMonth*/,
26759  27 /*untilDay*/,
26760  240 /*untilTimeCode (3600/15)*/,
26761  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26762  },
26763  // 2:00 - EET 2011 Mar 28 1:00u
26764  {
26765  nullptr /*zonePolicy*/,
26766  "EET" /*format*/,
26767  480 /*offsetCode (7200/15)*/,
26768  0 /*offsetRemainder (7200%15)*/,
26769  0 /*deltaMinutes*/,
26770  2011 /*untilYear*/,
26771  3 /*untilMonth*/,
26772  28 /*untilDay*/,
26773  240 /*untilTimeCode (3600/15)*/,
26774  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26775  },
26776  // 2:00 EU EE%sT 2014 Mar 30 1:00u
26777  {
26778  &kZonePolicyEU /*zonePolicy*/,
26779  "EE%T" /*format*/,
26780  480 /*offsetCode (7200/15)*/,
26781  0 /*offsetRemainder (7200%15)*/,
26782  0 /*deltaMinutes*/,
26783  2014 /*untilYear*/,
26784  3 /*untilMonth*/,
26785  30 /*untilDay*/,
26786  240 /*untilTimeCode (3600/15)*/,
26787  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26788  },
26789  // 2:00 - EET 2014 Mar 31 1:00u
26790  {
26791  nullptr /*zonePolicy*/,
26792  "EET" /*format*/,
26793  480 /*offsetCode (7200/15)*/,
26794  0 /*offsetRemainder (7200%15)*/,
26795  0 /*deltaMinutes*/,
26796  2014 /*untilYear*/,
26797  3 /*untilMonth*/,
26798  31 /*untilDay*/,
26799  240 /*untilTimeCode (3600/15)*/,
26800  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26801  },
26802  // 2:00 EU EE%sT 2015 Oct 25 1:00u
26803  {
26804  &kZonePolicyEU /*zonePolicy*/,
26805  "EE%T" /*format*/,
26806  480 /*offsetCode (7200/15)*/,
26807  0 /*offsetRemainder (7200%15)*/,
26808  0 /*deltaMinutes*/,
26809  2015 /*untilYear*/,
26810  10 /*untilMonth*/,
26811  25 /*untilDay*/,
26812  240 /*untilTimeCode (3600/15)*/,
26813  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26814  },
26815  // 2:00 1:00 EEST 2015 Nov 8 1:00u
26816  {
26817  nullptr /*zonePolicy*/,
26818  "EEST" /*format*/,
26819  480 /*offsetCode (7200/15)*/,
26820  0 /*offsetRemainder (7200%15)*/,
26821  60 /*deltaMinutes*/,
26822  2015 /*untilYear*/,
26823  11 /*untilMonth*/,
26824  8 /*untilDay*/,
26825  240 /*untilTimeCode (3600/15)*/,
26826  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26827  },
26828  // 2:00 EU EE%sT 2016 Sep 7
26829  {
26830  &kZonePolicyEU /*zonePolicy*/,
26831  "EE%T" /*format*/,
26832  480 /*offsetCode (7200/15)*/,
26833  0 /*offsetRemainder (7200%15)*/,
26834  0 /*deltaMinutes*/,
26835  2016 /*untilYear*/,
26836  9 /*untilMonth*/,
26837  7 /*untilDay*/,
26838  0 /*untilTimeCode (0/15)*/,
26839  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26840  },
26841  // 3:00 - %z
26842  {
26843  nullptr /*zonePolicy*/,
26844  "" /*format*/,
26845  720 /*offsetCode (10800/15)*/,
26846  0 /*offsetRemainder (10800%15)*/,
26847  0 /*deltaMinutes*/,
26848  32767 /*untilYear*/,
26849  1 /*untilMonth*/,
26850  1 /*untilDay*/,
26851  0 /*untilTimeCode (0/15)*/,
26852  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26853  },
26854 
26855 };
26856 
26857 static const char kZoneNameEurope_Istanbul[] ACE_TIME_PROGMEM = "\x0b" "Istanbul";
26858 
26859 const complete::Info::ZoneInfo kZoneEurope_Istanbul ACE_TIME_PROGMEM = {
26860  kZoneNameEurope_Istanbul /*name*/,
26861  0x9e09d6e6 /*zoneId*/,
26862  &kZoneContext /*zoneContext*/,
26863  13 /*numEras*/,
26864  kZoneEraEurope_Istanbul /*eras*/,
26865  nullptr /*targetInfo*/,
26866 };
26867 
26868 //---------------------------------------------------------------------------
26869 // Zone name: Europe/Kaliningrad
26870 // Eras: 7
26871 //---------------------------------------------------------------------------
26872 
26873 static const complete::Info::ZoneEra kZoneEraEurope_Kaliningrad[] ACE_TIME_PROGMEM = {
26874  // 1:22:00 - LMT 1893 Apr
26875  {
26876  nullptr /*zonePolicy*/,
26877  "LMT" /*format*/,
26878  328 /*offsetCode (4920/15)*/,
26879  0 /*offsetRemainder (4920%15)*/,
26880  0 /*deltaMinutes*/,
26881  1893 /*untilYear*/,
26882  4 /*untilMonth*/,
26883  1 /*untilDay*/,
26884  0 /*untilTimeCode (0/15)*/,
26885  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26886  },
26887  // 1:00 C-Eur CE%sT 1945 Apr 10
26888  {
26889  &kZonePolicyC_Eur /*zonePolicy*/,
26890  "CE%T" /*format*/,
26891  240 /*offsetCode (3600/15)*/,
26892  0 /*offsetRemainder (3600%15)*/,
26893  0 /*deltaMinutes*/,
26894  1945 /*untilYear*/,
26895  4 /*untilMonth*/,
26896  10 /*untilDay*/,
26897  0 /*untilTimeCode (0/15)*/,
26898  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26899  },
26900  // 2:00 Poland EE%sT 1946 Apr 7
26901  {
26902  &kZonePolicyPoland /*zonePolicy*/,
26903  "EE%T" /*format*/,
26904  480 /*offsetCode (7200/15)*/,
26905  0 /*offsetRemainder (7200%15)*/,
26906  0 /*deltaMinutes*/,
26907  1946 /*untilYear*/,
26908  4 /*untilMonth*/,
26909  7 /*untilDay*/,
26910  0 /*untilTimeCode (0/15)*/,
26911  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26912  },
26913  // 3:00 Russia MSK/MSD 1989 Mar 26 2:00s
26914  {
26915  &kZonePolicyRussia /*zonePolicy*/,
26916  "MSK/MSD" /*format*/,
26917  720 /*offsetCode (10800/15)*/,
26918  0 /*offsetRemainder (10800%15)*/,
26919  0 /*deltaMinutes*/,
26920  1989 /*untilYear*/,
26921  3 /*untilMonth*/,
26922  26 /*untilDay*/,
26923  480 /*untilTimeCode (7200/15)*/,
26924  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26925  },
26926  // 2:00 Russia EE%sT 2011 Mar 27 2:00s
26927  {
26928  &kZonePolicyRussia /*zonePolicy*/,
26929  "EE%T" /*format*/,
26930  480 /*offsetCode (7200/15)*/,
26931  0 /*offsetRemainder (7200%15)*/,
26932  0 /*deltaMinutes*/,
26933  2011 /*untilYear*/,
26934  3 /*untilMonth*/,
26935  27 /*untilDay*/,
26936  480 /*untilTimeCode (7200/15)*/,
26937  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26938  },
26939  // 3:00 - %z 2014 Oct 26 2:00s
26940  {
26941  nullptr /*zonePolicy*/,
26942  "" /*format*/,
26943  720 /*offsetCode (10800/15)*/,
26944  0 /*offsetRemainder (10800%15)*/,
26945  0 /*deltaMinutes*/,
26946  2014 /*untilYear*/,
26947  10 /*untilMonth*/,
26948  26 /*untilDay*/,
26949  480 /*untilTimeCode (7200/15)*/,
26950  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26951  },
26952  // 2:00 - EET
26953  {
26954  nullptr /*zonePolicy*/,
26955  "EET" /*format*/,
26956  480 /*offsetCode (7200/15)*/,
26957  0 /*offsetRemainder (7200%15)*/,
26958  0 /*deltaMinutes*/,
26959  32767 /*untilYear*/,
26960  1 /*untilMonth*/,
26961  1 /*untilDay*/,
26962  0 /*untilTimeCode (0/15)*/,
26963  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26964  },
26965 
26966 };
26967 
26968 static const char kZoneNameEurope_Kaliningrad[] ACE_TIME_PROGMEM = "\x0b" "Kaliningrad";
26969 
26970 const complete::Info::ZoneInfo kZoneEurope_Kaliningrad ACE_TIME_PROGMEM = {
26971  kZoneNameEurope_Kaliningrad /*name*/,
26972  0xd33b2f28 /*zoneId*/,
26973  &kZoneContext /*zoneContext*/,
26974  7 /*numEras*/,
26975  kZoneEraEurope_Kaliningrad /*eras*/,
26976  nullptr /*targetInfo*/,
26977 };
26978 
26979 //---------------------------------------------------------------------------
26980 // Zone name: Europe/Kirov
26981 // Eras: 8
26982 //---------------------------------------------------------------------------
26983 
26984 static const complete::Info::ZoneEra kZoneEraEurope_Kirov[] ACE_TIME_PROGMEM = {
26985  // 3:18:48 - LMT 1919 Jul 1 0:00u
26986  {
26987  nullptr /*zonePolicy*/,
26988  "LMT" /*format*/,
26989  795 /*offsetCode (11928/15)*/,
26990  3 /*offsetRemainder (11928%15)*/,
26991  0 /*deltaMinutes*/,
26992  1919 /*untilYear*/,
26993  7 /*untilMonth*/,
26994  1 /*untilDay*/,
26995  0 /*untilTimeCode (0/15)*/,
26996  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26997  },
26998  // 3:00 - %z 1930 Jun 21
26999  {
27000  nullptr /*zonePolicy*/,
27001  "" /*format*/,
27002  720 /*offsetCode (10800/15)*/,
27003  0 /*offsetRemainder (10800%15)*/,
27004  0 /*deltaMinutes*/,
27005  1930 /*untilYear*/,
27006  6 /*untilMonth*/,
27007  21 /*untilDay*/,
27008  0 /*untilTimeCode (0/15)*/,
27009  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27010  },
27011  // 4:00 Russia %z 1989 Mar 26 2:00s
27012  {
27013  &kZonePolicyRussia /*zonePolicy*/,
27014  "" /*format*/,
27015  960 /*offsetCode (14400/15)*/,
27016  0 /*offsetRemainder (14400%15)*/,
27017  0 /*deltaMinutes*/,
27018  1989 /*untilYear*/,
27019  3 /*untilMonth*/,
27020  26 /*untilDay*/,
27021  480 /*untilTimeCode (7200/15)*/,
27022  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27023  },
27024  // 3:00 Russia MSK/MSD 1991 Mar 31 2:00s
27025  {
27026  &kZonePolicyRussia /*zonePolicy*/,
27027  "MSK/MSD" /*format*/,
27028  720 /*offsetCode (10800/15)*/,
27029  0 /*offsetRemainder (10800%15)*/,
27030  0 /*deltaMinutes*/,
27031  1991 /*untilYear*/,
27032  3 /*untilMonth*/,
27033  31 /*untilDay*/,
27034  480 /*untilTimeCode (7200/15)*/,
27035  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27036  },
27037  // 4:00 - %z 1992 Mar 29 2:00s
27038  {
27039  nullptr /*zonePolicy*/,
27040  "" /*format*/,
27041  960 /*offsetCode (14400/15)*/,
27042  0 /*offsetRemainder (14400%15)*/,
27043  0 /*deltaMinutes*/,
27044  1992 /*untilYear*/,
27045  3 /*untilMonth*/,
27046  29 /*untilDay*/,
27047  480 /*untilTimeCode (7200/15)*/,
27048  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27049  },
27050  // 3:00 Russia MSK/MSD 2011 Mar 27 2:00s
27051  {
27052  &kZonePolicyRussia /*zonePolicy*/,
27053  "MSK/MSD" /*format*/,
27054  720 /*offsetCode (10800/15)*/,
27055  0 /*offsetRemainder (10800%15)*/,
27056  0 /*deltaMinutes*/,
27057  2011 /*untilYear*/,
27058  3 /*untilMonth*/,
27059  27 /*untilDay*/,
27060  480 /*untilTimeCode (7200/15)*/,
27061  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27062  },
27063  // 4:00 - MSK 2014 Oct 26 2:00s
27064  {
27065  nullptr /*zonePolicy*/,
27066  "MSK" /*format*/,
27067  960 /*offsetCode (14400/15)*/,
27068  0 /*offsetRemainder (14400%15)*/,
27069  0 /*deltaMinutes*/,
27070  2014 /*untilYear*/,
27071  10 /*untilMonth*/,
27072  26 /*untilDay*/,
27073  480 /*untilTimeCode (7200/15)*/,
27074  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27075  },
27076  // 3:00 - MSK
27077  {
27078  nullptr /*zonePolicy*/,
27079  "MSK" /*format*/,
27080  720 /*offsetCode (10800/15)*/,
27081  0 /*offsetRemainder (10800%15)*/,
27082  0 /*deltaMinutes*/,
27083  32767 /*untilYear*/,
27084  1 /*untilMonth*/,
27085  1 /*untilDay*/,
27086  0 /*untilTimeCode (0/15)*/,
27087  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27088  },
27089 
27090 };
27091 
27092 static const char kZoneNameEurope_Kirov[] ACE_TIME_PROGMEM = "\x0b" "Kirov";
27093 
27094 const complete::Info::ZoneInfo kZoneEurope_Kirov ACE_TIME_PROGMEM = {
27095  kZoneNameEurope_Kirov /*name*/,
27096  0xfaf5abef /*zoneId*/,
27097  &kZoneContext /*zoneContext*/,
27098  8 /*numEras*/,
27099  kZoneEraEurope_Kirov /*eras*/,
27100  nullptr /*targetInfo*/,
27101 };
27102 
27103 //---------------------------------------------------------------------------
27104 // Zone name: Europe/Kyiv
27105 // Eras: 9
27106 //---------------------------------------------------------------------------
27107 
27108 static const complete::Info::ZoneEra kZoneEraEurope_Kyiv[] ACE_TIME_PROGMEM = {
27109  // 2:02:04 - LMT 1880
27110  {
27111  nullptr /*zonePolicy*/,
27112  "LMT" /*format*/,
27113  488 /*offsetCode (7324/15)*/,
27114  4 /*offsetRemainder (7324%15)*/,
27115  0 /*deltaMinutes*/,
27116  1880 /*untilYear*/,
27117  1 /*untilMonth*/,
27118  1 /*untilDay*/,
27119  0 /*untilTimeCode (0/15)*/,
27120  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27121  },
27122  // 2:02:04 - KMT 1924 May 2
27123  {
27124  nullptr /*zonePolicy*/,
27125  "KMT" /*format*/,
27126  488 /*offsetCode (7324/15)*/,
27127  4 /*offsetRemainder (7324%15)*/,
27128  0 /*deltaMinutes*/,
27129  1924 /*untilYear*/,
27130  5 /*untilMonth*/,
27131  2 /*untilDay*/,
27132  0 /*untilTimeCode (0/15)*/,
27133  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27134  },
27135  // 2:00 - EET 1930 Jun 21
27136  {
27137  nullptr /*zonePolicy*/,
27138  "EET" /*format*/,
27139  480 /*offsetCode (7200/15)*/,
27140  0 /*offsetRemainder (7200%15)*/,
27141  0 /*deltaMinutes*/,
27142  1930 /*untilYear*/,
27143  6 /*untilMonth*/,
27144  21 /*untilDay*/,
27145  0 /*untilTimeCode (0/15)*/,
27146  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27147  },
27148  // 3:00 - MSK 1941 Sep 20
27149  {
27150  nullptr /*zonePolicy*/,
27151  "MSK" /*format*/,
27152  720 /*offsetCode (10800/15)*/,
27153  0 /*offsetRemainder (10800%15)*/,
27154  0 /*deltaMinutes*/,
27155  1941 /*untilYear*/,
27156  9 /*untilMonth*/,
27157  20 /*untilDay*/,
27158  0 /*untilTimeCode (0/15)*/,
27159  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27160  },
27161  // 1:00 C-Eur CE%sT 1943 Nov 6
27162  {
27163  &kZonePolicyC_Eur /*zonePolicy*/,
27164  "CE%T" /*format*/,
27165  240 /*offsetCode (3600/15)*/,
27166  0 /*offsetRemainder (3600%15)*/,
27167  0 /*deltaMinutes*/,
27168  1943 /*untilYear*/,
27169  11 /*untilMonth*/,
27170  6 /*untilDay*/,
27171  0 /*untilTimeCode (0/15)*/,
27172  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27173  },
27174  // 3:00 Russia MSK/MSD 1990 Jul 1 2:00
27175  {
27176  &kZonePolicyRussia /*zonePolicy*/,
27177  "MSK/MSD" /*format*/,
27178  720 /*offsetCode (10800/15)*/,
27179  0 /*offsetRemainder (10800%15)*/,
27180  0 /*deltaMinutes*/,
27181  1990 /*untilYear*/,
27182  7 /*untilMonth*/,
27183  1 /*untilDay*/,
27184  480 /*untilTimeCode (7200/15)*/,
27185  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27186  },
27187  // 2:00 1:00 EEST 1991 Sep 29 3:00
27188  {
27189  nullptr /*zonePolicy*/,
27190  "EEST" /*format*/,
27191  480 /*offsetCode (7200/15)*/,
27192  0 /*offsetRemainder (7200%15)*/,
27193  60 /*deltaMinutes*/,
27194  1991 /*untilYear*/,
27195  9 /*untilMonth*/,
27196  29 /*untilDay*/,
27197  720 /*untilTimeCode (10800/15)*/,
27198  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27199  },
27200  // 2:00 C-Eur EE%sT 1996 May 13
27201  {
27202  &kZonePolicyC_Eur /*zonePolicy*/,
27203  "EE%T" /*format*/,
27204  480 /*offsetCode (7200/15)*/,
27205  0 /*offsetRemainder (7200%15)*/,
27206  0 /*deltaMinutes*/,
27207  1996 /*untilYear*/,
27208  5 /*untilMonth*/,
27209  13 /*untilDay*/,
27210  0 /*untilTimeCode (0/15)*/,
27211  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27212  },
27213  // 2:00 EU EE%sT
27214  {
27215  &kZonePolicyEU /*zonePolicy*/,
27216  "EE%T" /*format*/,
27217  480 /*offsetCode (7200/15)*/,
27218  0 /*offsetRemainder (7200%15)*/,
27219  0 /*deltaMinutes*/,
27220  32767 /*untilYear*/,
27221  1 /*untilMonth*/,
27222  1 /*untilDay*/,
27223  0 /*untilTimeCode (0/15)*/,
27224  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27225  },
27226 
27227 };
27228 
27229 static const char kZoneNameEurope_Kyiv[] ACE_TIME_PROGMEM = "\x0b" "Kyiv";
27230 
27231 const complete::Info::ZoneInfo kZoneEurope_Kyiv ACE_TIME_PROGMEM = {
27232  kZoneNameEurope_Kyiv /*name*/,
27233  0xa2c1e347 /*zoneId*/,
27234  &kZoneContext /*zoneContext*/,
27235  9 /*numEras*/,
27236  kZoneEraEurope_Kyiv /*eras*/,
27237  nullptr /*targetInfo*/,
27238 };
27239 
27240 //---------------------------------------------------------------------------
27241 // Zone name: Europe/Lisbon
27242 // Eras: 8
27243 //---------------------------------------------------------------------------
27244 
27245 static const complete::Info::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = {
27246  // -0:36:45 - LMT 1884
27247  {
27248  nullptr /*zonePolicy*/,
27249  "LMT" /*format*/,
27250  -147 /*offsetCode (-2205/15)*/,
27251  0 /*offsetRemainder (-2205%15)*/,
27252  0 /*deltaMinutes*/,
27253  1884 /*untilYear*/,
27254  1 /*untilMonth*/,
27255  1 /*untilDay*/,
27256  0 /*untilTimeCode (0/15)*/,
27257  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27258  },
27259  // -0:36:45 - LMT 1912 Jan 1 0:00u
27260  {
27261  nullptr /*zonePolicy*/,
27262  "LMT" /*format*/,
27263  -147 /*offsetCode (-2205/15)*/,
27264  0 /*offsetRemainder (-2205%15)*/,
27265  0 /*deltaMinutes*/,
27266  1912 /*untilYear*/,
27267  1 /*untilMonth*/,
27268  1 /*untilDay*/,
27269  0 /*untilTimeCode (0/15)*/,
27270  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27271  },
27272  // 0:00 Port WE%sT 1966 Oct 2 2:00s
27273  {
27274  &kZonePolicyPort /*zonePolicy*/,
27275  "WE%T" /*format*/,
27276  0 /*offsetCode (0/15)*/,
27277  0 /*offsetRemainder (0%15)*/,
27278  0 /*deltaMinutes*/,
27279  1966 /*untilYear*/,
27280  10 /*untilMonth*/,
27281  2 /*untilDay*/,
27282  480 /*untilTimeCode (7200/15)*/,
27283  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27284  },
27285  // 1:00 - CET 1976 Sep 26 1:00
27286  {
27287  nullptr /*zonePolicy*/,
27288  "CET" /*format*/,
27289  240 /*offsetCode (3600/15)*/,
27290  0 /*offsetRemainder (3600%15)*/,
27291  0 /*deltaMinutes*/,
27292  1976 /*untilYear*/,
27293  9 /*untilMonth*/,
27294  26 /*untilDay*/,
27295  240 /*untilTimeCode (3600/15)*/,
27296  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27297  },
27298  // 0:00 Port WE%sT 1986
27299  {
27300  &kZonePolicyPort /*zonePolicy*/,
27301  "WE%T" /*format*/,
27302  0 /*offsetCode (0/15)*/,
27303  0 /*offsetRemainder (0%15)*/,
27304  0 /*deltaMinutes*/,
27305  1986 /*untilYear*/,
27306  1 /*untilMonth*/,
27307  1 /*untilDay*/,
27308  0 /*untilTimeCode (0/15)*/,
27309  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27310  },
27311  // 0:00 EU WE%sT 1992 Sep 27 1:00u
27312  {
27313  &kZonePolicyEU /*zonePolicy*/,
27314  "WE%T" /*format*/,
27315  0 /*offsetCode (0/15)*/,
27316  0 /*offsetRemainder (0%15)*/,
27317  0 /*deltaMinutes*/,
27318  1992 /*untilYear*/,
27319  9 /*untilMonth*/,
27320  27 /*untilDay*/,
27321  240 /*untilTimeCode (3600/15)*/,
27322  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27323  },
27324  // 1:00 EU CE%sT 1996 Mar 31 1:00u
27325  {
27326  &kZonePolicyEU /*zonePolicy*/,
27327  "CE%T" /*format*/,
27328  240 /*offsetCode (3600/15)*/,
27329  0 /*offsetRemainder (3600%15)*/,
27330  0 /*deltaMinutes*/,
27331  1996 /*untilYear*/,
27332  3 /*untilMonth*/,
27333  31 /*untilDay*/,
27334  240 /*untilTimeCode (3600/15)*/,
27335  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27336  },
27337  // 0:00 EU WE%sT
27338  {
27339  &kZonePolicyEU /*zonePolicy*/,
27340  "WE%T" /*format*/,
27341  0 /*offsetCode (0/15)*/,
27342  0 /*offsetRemainder (0%15)*/,
27343  0 /*deltaMinutes*/,
27344  32767 /*untilYear*/,
27345  1 /*untilMonth*/,
27346  1 /*untilDay*/,
27347  0 /*untilTimeCode (0/15)*/,
27348  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27349  },
27350 
27351 };
27352 
27353 static const char kZoneNameEurope_Lisbon[] ACE_TIME_PROGMEM = "\x0b" "Lisbon";
27354 
27355 const complete::Info::ZoneInfo kZoneEurope_Lisbon ACE_TIME_PROGMEM = {
27356  kZoneNameEurope_Lisbon /*name*/,
27357  0x5c00a70b /*zoneId*/,
27358  &kZoneContext /*zoneContext*/,
27359  8 /*numEras*/,
27360  kZoneEraEurope_Lisbon /*eras*/,
27361  nullptr /*targetInfo*/,
27362 };
27363 
27364 //---------------------------------------------------------------------------
27365 // Zone name: Europe/London
27366 // Eras: 5
27367 //---------------------------------------------------------------------------
27368 
27369 static const complete::Info::ZoneEra kZoneEraEurope_London[] ACE_TIME_PROGMEM = {
27370  // -0:01:15 - LMT 1847 Dec 1
27371  {
27372  nullptr /*zonePolicy*/,
27373  "LMT" /*format*/,
27374  -5 /*offsetCode (-75/15)*/,
27375  0 /*offsetRemainder (-75%15)*/,
27376  0 /*deltaMinutes*/,
27377  1847 /*untilYear*/,
27378  12 /*untilMonth*/,
27379  1 /*untilDay*/,
27380  0 /*untilTimeCode (0/15)*/,
27381  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27382  },
27383  // 0:00 GB-Eire %s 1968 Oct 27
27384  {
27385  &kZonePolicyGB_Eire /*zonePolicy*/,
27386  "%" /*format*/,
27387  0 /*offsetCode (0/15)*/,
27388  0 /*offsetRemainder (0%15)*/,
27389  0 /*deltaMinutes*/,
27390  1968 /*untilYear*/,
27391  10 /*untilMonth*/,
27392  27 /*untilDay*/,
27393  0 /*untilTimeCode (0/15)*/,
27394  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27395  },
27396  // 1:00 - BST 1971 Oct 31 2:00u
27397  {
27398  nullptr /*zonePolicy*/,
27399  "BST" /*format*/,
27400  240 /*offsetCode (3600/15)*/,
27401  0 /*offsetRemainder (3600%15)*/,
27402  0 /*deltaMinutes*/,
27403  1971 /*untilYear*/,
27404  10 /*untilMonth*/,
27405  31 /*untilDay*/,
27406  480 /*untilTimeCode (7200/15)*/,
27407  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27408  },
27409  // 0:00 GB-Eire %s 1996
27410  {
27411  &kZonePolicyGB_Eire /*zonePolicy*/,
27412  "%" /*format*/,
27413  0 /*offsetCode (0/15)*/,
27414  0 /*offsetRemainder (0%15)*/,
27415  0 /*deltaMinutes*/,
27416  1996 /*untilYear*/,
27417  1 /*untilMonth*/,
27418  1 /*untilDay*/,
27419  0 /*untilTimeCode (0/15)*/,
27420  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27421  },
27422  // 0:00 EU GMT/BST
27423  {
27424  &kZonePolicyEU /*zonePolicy*/,
27425  "GMT/BST" /*format*/,
27426  0 /*offsetCode (0/15)*/,
27427  0 /*offsetRemainder (0%15)*/,
27428  0 /*deltaMinutes*/,
27429  32767 /*untilYear*/,
27430  1 /*untilMonth*/,
27431  1 /*untilDay*/,
27432  0 /*untilTimeCode (0/15)*/,
27433  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27434  },
27435 
27436 };
27437 
27438 static const char kZoneNameEurope_London[] ACE_TIME_PROGMEM = "\x0b" "London";
27439 
27440 const complete::Info::ZoneInfo kZoneEurope_London ACE_TIME_PROGMEM = {
27441  kZoneNameEurope_London /*name*/,
27442  0x5c6a84ae /*zoneId*/,
27443  &kZoneContext /*zoneContext*/,
27444  5 /*numEras*/,
27445  kZoneEraEurope_London /*eras*/,
27446  nullptr /*targetInfo*/,
27447 };
27448 
27449 //---------------------------------------------------------------------------
27450 // Zone name: Europe/Madrid
27451 // Eras: 4
27452 //---------------------------------------------------------------------------
27453 
27454 static const complete::Info::ZoneEra kZoneEraEurope_Madrid[] ACE_TIME_PROGMEM = {
27455  // -0:14:44 - LMT 1901 Jan 1 0:00u
27456  {
27457  nullptr /*zonePolicy*/,
27458  "LMT" /*format*/,
27459  -59 /*offsetCode (-884/15)*/,
27460  1 /*offsetRemainder (-884%15)*/,
27461  0 /*deltaMinutes*/,
27462  1901 /*untilYear*/,
27463  1 /*untilMonth*/,
27464  1 /*untilDay*/,
27465  0 /*untilTimeCode (0/15)*/,
27466  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27467  },
27468  // 0:00 Spain WE%sT 1940 Mar 16 23:00
27469  {
27470  &kZonePolicySpain /*zonePolicy*/,
27471  "WE%T" /*format*/,
27472  0 /*offsetCode (0/15)*/,
27473  0 /*offsetRemainder (0%15)*/,
27474  0 /*deltaMinutes*/,
27475  1940 /*untilYear*/,
27476  3 /*untilMonth*/,
27477  16 /*untilDay*/,
27478  5520 /*untilTimeCode (82800/15)*/,
27479  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27480  },
27481  // 1:00 Spain CE%sT 1979
27482  {
27483  &kZonePolicySpain /*zonePolicy*/,
27484  "CE%T" /*format*/,
27485  240 /*offsetCode (3600/15)*/,
27486  0 /*offsetRemainder (3600%15)*/,
27487  0 /*deltaMinutes*/,
27488  1979 /*untilYear*/,
27489  1 /*untilMonth*/,
27490  1 /*untilDay*/,
27491  0 /*untilTimeCode (0/15)*/,
27492  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27493  },
27494  // 1:00 EU CE%sT
27495  {
27496  &kZonePolicyEU /*zonePolicy*/,
27497  "CE%T" /*format*/,
27498  240 /*offsetCode (3600/15)*/,
27499  0 /*offsetRemainder (3600%15)*/,
27500  0 /*deltaMinutes*/,
27501  32767 /*untilYear*/,
27502  1 /*untilMonth*/,
27503  1 /*untilDay*/,
27504  0 /*untilTimeCode (0/15)*/,
27505  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27506  },
27507 
27508 };
27509 
27510 static const char kZoneNameEurope_Madrid[] ACE_TIME_PROGMEM = "\x0b" "Madrid";
27511 
27512 const complete::Info::ZoneInfo kZoneEurope_Madrid ACE_TIME_PROGMEM = {
27513  kZoneNameEurope_Madrid /*name*/,
27514  0x5dbd1535 /*zoneId*/,
27515  &kZoneContext /*zoneContext*/,
27516  4 /*numEras*/,
27517  kZoneEraEurope_Madrid /*eras*/,
27518  nullptr /*targetInfo*/,
27519 };
27520 
27521 //---------------------------------------------------------------------------
27522 // Zone name: Europe/Malta
27523 // Eras: 4
27524 //---------------------------------------------------------------------------
27525 
27526 static const complete::Info::ZoneEra kZoneEraEurope_Malta[] ACE_TIME_PROGMEM = {
27527  // 0:58:04 - LMT 1893 Nov 2
27528  {
27529  nullptr /*zonePolicy*/,
27530  "LMT" /*format*/,
27531  232 /*offsetCode (3484/15)*/,
27532  4 /*offsetRemainder (3484%15)*/,
27533  0 /*deltaMinutes*/,
27534  1893 /*untilYear*/,
27535  11 /*untilMonth*/,
27536  2 /*untilDay*/,
27537  0 /*untilTimeCode (0/15)*/,
27538  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27539  },
27540  // 1:00 Italy CE%sT 1973 Mar 31
27541  {
27542  &kZonePolicyItaly /*zonePolicy*/,
27543  "CE%T" /*format*/,
27544  240 /*offsetCode (3600/15)*/,
27545  0 /*offsetRemainder (3600%15)*/,
27546  0 /*deltaMinutes*/,
27547  1973 /*untilYear*/,
27548  3 /*untilMonth*/,
27549  31 /*untilDay*/,
27550  0 /*untilTimeCode (0/15)*/,
27551  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27552  },
27553  // 1:00 Malta CE%sT 1981
27554  {
27555  &kZonePolicyMalta /*zonePolicy*/,
27556  "CE%T" /*format*/,
27557  240 /*offsetCode (3600/15)*/,
27558  0 /*offsetRemainder (3600%15)*/,
27559  0 /*deltaMinutes*/,
27560  1981 /*untilYear*/,
27561  1 /*untilMonth*/,
27562  1 /*untilDay*/,
27563  0 /*untilTimeCode (0/15)*/,
27564  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27565  },
27566  // 1:00 EU CE%sT
27567  {
27568  &kZonePolicyEU /*zonePolicy*/,
27569  "CE%T" /*format*/,
27570  240 /*offsetCode (3600/15)*/,
27571  0 /*offsetRemainder (3600%15)*/,
27572  0 /*deltaMinutes*/,
27573  32767 /*untilYear*/,
27574  1 /*untilMonth*/,
27575  1 /*untilDay*/,
27576  0 /*untilTimeCode (0/15)*/,
27577  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27578  },
27579 
27580 };
27581 
27582 static const char kZoneNameEurope_Malta[] ACE_TIME_PROGMEM = "\x0b" "Malta";
27583 
27584 const complete::Info::ZoneInfo kZoneEurope_Malta ACE_TIME_PROGMEM = {
27585  kZoneNameEurope_Malta /*name*/,
27586  0xfb1560f3 /*zoneId*/,
27587  &kZoneContext /*zoneContext*/,
27588  4 /*numEras*/,
27589  kZoneEraEurope_Malta /*eras*/,
27590  nullptr /*targetInfo*/,
27591 };
27592 
27593 //---------------------------------------------------------------------------
27594 // Zone name: Europe/Minsk
27595 // Eras: 9
27596 //---------------------------------------------------------------------------
27597 
27598 static const complete::Info::ZoneEra kZoneEraEurope_Minsk[] ACE_TIME_PROGMEM = {
27599  // 1:50:16 - LMT 1880
27600  {
27601  nullptr /*zonePolicy*/,
27602  "LMT" /*format*/,
27603  441 /*offsetCode (6616/15)*/,
27604  1 /*offsetRemainder (6616%15)*/,
27605  0 /*deltaMinutes*/,
27606  1880 /*untilYear*/,
27607  1 /*untilMonth*/,
27608  1 /*untilDay*/,
27609  0 /*untilTimeCode (0/15)*/,
27610  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27611  },
27612  // 1:50 - MMT 1924 May 2
27613  {
27614  nullptr /*zonePolicy*/,
27615  "MMT" /*format*/,
27616  440 /*offsetCode (6600/15)*/,
27617  0 /*offsetRemainder (6600%15)*/,
27618  0 /*deltaMinutes*/,
27619  1924 /*untilYear*/,
27620  5 /*untilMonth*/,
27621  2 /*untilDay*/,
27622  0 /*untilTimeCode (0/15)*/,
27623  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27624  },
27625  // 2:00 - EET 1930 Jun 21
27626  {
27627  nullptr /*zonePolicy*/,
27628  "EET" /*format*/,
27629  480 /*offsetCode (7200/15)*/,
27630  0 /*offsetRemainder (7200%15)*/,
27631  0 /*deltaMinutes*/,
27632  1930 /*untilYear*/,
27633  6 /*untilMonth*/,
27634  21 /*untilDay*/,
27635  0 /*untilTimeCode (0/15)*/,
27636  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27637  },
27638  // 3:00 - MSK 1941 Jun 28
27639  {
27640  nullptr /*zonePolicy*/,
27641  "MSK" /*format*/,
27642  720 /*offsetCode (10800/15)*/,
27643  0 /*offsetRemainder (10800%15)*/,
27644  0 /*deltaMinutes*/,
27645  1941 /*untilYear*/,
27646  6 /*untilMonth*/,
27647  28 /*untilDay*/,
27648  0 /*untilTimeCode (0/15)*/,
27649  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27650  },
27651  // 1:00 C-Eur CE%sT 1944 Jul 3
27652  {
27653  &kZonePolicyC_Eur /*zonePolicy*/,
27654  "CE%T" /*format*/,
27655  240 /*offsetCode (3600/15)*/,
27656  0 /*offsetRemainder (3600%15)*/,
27657  0 /*deltaMinutes*/,
27658  1944 /*untilYear*/,
27659  7 /*untilMonth*/,
27660  3 /*untilDay*/,
27661  0 /*untilTimeCode (0/15)*/,
27662  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27663  },
27664  // 3:00 Russia MSK/MSD 1990
27665  {
27666  &kZonePolicyRussia /*zonePolicy*/,
27667  "MSK/MSD" /*format*/,
27668  720 /*offsetCode (10800/15)*/,
27669  0 /*offsetRemainder (10800%15)*/,
27670  0 /*deltaMinutes*/,
27671  1990 /*untilYear*/,
27672  1 /*untilMonth*/,
27673  1 /*untilDay*/,
27674  0 /*untilTimeCode (0/15)*/,
27675  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27676  },
27677  // 3:00 - MSK 1991 Mar 31 2:00s
27678  {
27679  nullptr /*zonePolicy*/,
27680  "MSK" /*format*/,
27681  720 /*offsetCode (10800/15)*/,
27682  0 /*offsetRemainder (10800%15)*/,
27683  0 /*deltaMinutes*/,
27684  1991 /*untilYear*/,
27685  3 /*untilMonth*/,
27686  31 /*untilDay*/,
27687  480 /*untilTimeCode (7200/15)*/,
27688  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27689  },
27690  // 2:00 Russia EE%sT 2011 Mar 27 2:00s
27691  {
27692  &kZonePolicyRussia /*zonePolicy*/,
27693  "EE%T" /*format*/,
27694  480 /*offsetCode (7200/15)*/,
27695  0 /*offsetRemainder (7200%15)*/,
27696  0 /*deltaMinutes*/,
27697  2011 /*untilYear*/,
27698  3 /*untilMonth*/,
27699  27 /*untilDay*/,
27700  480 /*untilTimeCode (7200/15)*/,
27701  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27702  },
27703  // 3:00 - %z
27704  {
27705  nullptr /*zonePolicy*/,
27706  "" /*format*/,
27707  720 /*offsetCode (10800/15)*/,
27708  0 /*offsetRemainder (10800%15)*/,
27709  0 /*deltaMinutes*/,
27710  32767 /*untilYear*/,
27711  1 /*untilMonth*/,
27712  1 /*untilDay*/,
27713  0 /*untilTimeCode (0/15)*/,
27714  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27715  },
27716 
27717 };
27718 
27719 static const char kZoneNameEurope_Minsk[] ACE_TIME_PROGMEM = "\x0b" "Minsk";
27720 
27721 const complete::Info::ZoneInfo kZoneEurope_Minsk ACE_TIME_PROGMEM = {
27722  kZoneNameEurope_Minsk /*name*/,
27723  0xfb19cc66 /*zoneId*/,
27724  &kZoneContext /*zoneContext*/,
27725  9 /*numEras*/,
27726  kZoneEraEurope_Minsk /*eras*/,
27727  nullptr /*targetInfo*/,
27728 };
27729 
27730 //---------------------------------------------------------------------------
27731 // Zone name: Europe/Moscow
27732 // Eras: 11
27733 //---------------------------------------------------------------------------
27734 
27735 static const complete::Info::ZoneEra kZoneEraEurope_Moscow[] ACE_TIME_PROGMEM = {
27736  // 2:30:17 - LMT 1880
27737  {
27738  nullptr /*zonePolicy*/,
27739  "LMT" /*format*/,
27740  601 /*offsetCode (9017/15)*/,
27741  2 /*offsetRemainder (9017%15)*/,
27742  0 /*deltaMinutes*/,
27743  1880 /*untilYear*/,
27744  1 /*untilMonth*/,
27745  1 /*untilDay*/,
27746  0 /*untilTimeCode (0/15)*/,
27747  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27748  },
27749  // 2:30:17 - MMT 1916 Jul 3
27750  {
27751  nullptr /*zonePolicy*/,
27752  "MMT" /*format*/,
27753  601 /*offsetCode (9017/15)*/,
27754  2 /*offsetRemainder (9017%15)*/,
27755  0 /*deltaMinutes*/,
27756  1916 /*untilYear*/,
27757  7 /*untilMonth*/,
27758  3 /*untilDay*/,
27759  0 /*untilTimeCode (0/15)*/,
27760  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27761  },
27762  // 2:31:19 Russia %s 1919 Jul 1 0:00u
27763  {
27764  &kZonePolicyRussia /*zonePolicy*/,
27765  "%" /*format*/,
27766  605 /*offsetCode (9079/15)*/,
27767  4 /*offsetRemainder (9079%15)*/,
27768  0 /*deltaMinutes*/,
27769  1919 /*untilYear*/,
27770  7 /*untilMonth*/,
27771  1 /*untilDay*/,
27772  0 /*untilTimeCode (0/15)*/,
27773  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27774  },
27775  // 3:00 Russia %s 1921 Oct
27776  {
27777  &kZonePolicyRussia /*zonePolicy*/,
27778  "%" /*format*/,
27779  720 /*offsetCode (10800/15)*/,
27780  0 /*offsetRemainder (10800%15)*/,
27781  0 /*deltaMinutes*/,
27782  1921 /*untilYear*/,
27783  10 /*untilMonth*/,
27784  1 /*untilDay*/,
27785  0 /*untilTimeCode (0/15)*/,
27786  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27787  },
27788  // 3:00 Russia MSK/MSD 1922 Oct
27789  {
27790  &kZonePolicyRussia /*zonePolicy*/,
27791  "MSK/MSD" /*format*/,
27792  720 /*offsetCode (10800/15)*/,
27793  0 /*offsetRemainder (10800%15)*/,
27794  0 /*deltaMinutes*/,
27795  1922 /*untilYear*/,
27796  10 /*untilMonth*/,
27797  1 /*untilDay*/,
27798  0 /*untilTimeCode (0/15)*/,
27799  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27800  },
27801  // 2:00 - EET 1930 Jun 21
27802  {
27803  nullptr /*zonePolicy*/,
27804  "EET" /*format*/,
27805  480 /*offsetCode (7200/15)*/,
27806  0 /*offsetRemainder (7200%15)*/,
27807  0 /*deltaMinutes*/,
27808  1930 /*untilYear*/,
27809  6 /*untilMonth*/,
27810  21 /*untilDay*/,
27811  0 /*untilTimeCode (0/15)*/,
27812  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27813  },
27814  // 3:00 Russia MSK/MSD 1991 Mar 31 2:00s
27815  {
27816  &kZonePolicyRussia /*zonePolicy*/,
27817  "MSK/MSD" /*format*/,
27818  720 /*offsetCode (10800/15)*/,
27819  0 /*offsetRemainder (10800%15)*/,
27820  0 /*deltaMinutes*/,
27821  1991 /*untilYear*/,
27822  3 /*untilMonth*/,
27823  31 /*untilDay*/,
27824  480 /*untilTimeCode (7200/15)*/,
27825  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27826  },
27827  // 2:00 Russia EE%sT 1992 Jan 19 2:00s
27828  {
27829  &kZonePolicyRussia /*zonePolicy*/,
27830  "EE%T" /*format*/,
27831  480 /*offsetCode (7200/15)*/,
27832  0 /*offsetRemainder (7200%15)*/,
27833  0 /*deltaMinutes*/,
27834  1992 /*untilYear*/,
27835  1 /*untilMonth*/,
27836  19 /*untilDay*/,
27837  480 /*untilTimeCode (7200/15)*/,
27838  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27839  },
27840  // 3:00 Russia MSK/MSD 2011 Mar 27 2:00s
27841  {
27842  &kZonePolicyRussia /*zonePolicy*/,
27843  "MSK/MSD" /*format*/,
27844  720 /*offsetCode (10800/15)*/,
27845  0 /*offsetRemainder (10800%15)*/,
27846  0 /*deltaMinutes*/,
27847  2011 /*untilYear*/,
27848  3 /*untilMonth*/,
27849  27 /*untilDay*/,
27850  480 /*untilTimeCode (7200/15)*/,
27851  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27852  },
27853  // 4:00 - MSK 2014 Oct 26 2:00s
27854  {
27855  nullptr /*zonePolicy*/,
27856  "MSK" /*format*/,
27857  960 /*offsetCode (14400/15)*/,
27858  0 /*offsetRemainder (14400%15)*/,
27859  0 /*deltaMinutes*/,
27860  2014 /*untilYear*/,
27861  10 /*untilMonth*/,
27862  26 /*untilDay*/,
27863  480 /*untilTimeCode (7200/15)*/,
27864  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27865  },
27866  // 3:00 - MSK
27867  {
27868  nullptr /*zonePolicy*/,
27869  "MSK" /*format*/,
27870  720 /*offsetCode (10800/15)*/,
27871  0 /*offsetRemainder (10800%15)*/,
27872  0 /*deltaMinutes*/,
27873  32767 /*untilYear*/,
27874  1 /*untilMonth*/,
27875  1 /*untilDay*/,
27876  0 /*untilTimeCode (0/15)*/,
27877  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27878  },
27879 
27880 };
27881 
27882 static const char kZoneNameEurope_Moscow[] ACE_TIME_PROGMEM = "\x0b" "Moscow";
27883 
27884 const complete::Info::ZoneInfo kZoneEurope_Moscow ACE_TIME_PROGMEM = {
27885  kZoneNameEurope_Moscow /*name*/,
27886  0x5ec266fc /*zoneId*/,
27887  &kZoneContext /*zoneContext*/,
27888  11 /*numEras*/,
27889  kZoneEraEurope_Moscow /*eras*/,
27890  nullptr /*targetInfo*/,
27891 };
27892 
27893 //---------------------------------------------------------------------------
27894 // Zone name: Europe/Paris
27895 // Eras: 7
27896 //---------------------------------------------------------------------------
27897 
27898 static const complete::Info::ZoneEra kZoneEraEurope_Paris[] ACE_TIME_PROGMEM = {
27899  // 0:09:21 - LMT 1891 Mar 16
27900  {
27901  nullptr /*zonePolicy*/,
27902  "LMT" /*format*/,
27903  37 /*offsetCode (561/15)*/,
27904  6 /*offsetRemainder (561%15)*/,
27905  0 /*deltaMinutes*/,
27906  1891 /*untilYear*/,
27907  3 /*untilMonth*/,
27908  16 /*untilDay*/,
27909  0 /*untilTimeCode (0/15)*/,
27910  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27911  },
27912  // 0:09:21 - PMT 1911 Mar 11
27913  {
27914  nullptr /*zonePolicy*/,
27915  "PMT" /*format*/,
27916  37 /*offsetCode (561/15)*/,
27917  6 /*offsetRemainder (561%15)*/,
27918  0 /*deltaMinutes*/,
27919  1911 /*untilYear*/,
27920  3 /*untilMonth*/,
27921  11 /*untilDay*/,
27922  0 /*untilTimeCode (0/15)*/,
27923  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27924  },
27925  // 0:00 France WE%sT 1940 Jun 14 23:00
27926  {
27927  &kZonePolicyFrance /*zonePolicy*/,
27928  "WE%T" /*format*/,
27929  0 /*offsetCode (0/15)*/,
27930  0 /*offsetRemainder (0%15)*/,
27931  0 /*deltaMinutes*/,
27932  1940 /*untilYear*/,
27933  6 /*untilMonth*/,
27934  14 /*untilDay*/,
27935  5520 /*untilTimeCode (82800/15)*/,
27936  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27937  },
27938  // 1:00 C-Eur CE%sT 1944 Aug 25
27939  {
27940  &kZonePolicyC_Eur /*zonePolicy*/,
27941  "CE%T" /*format*/,
27942  240 /*offsetCode (3600/15)*/,
27943  0 /*offsetRemainder (3600%15)*/,
27944  0 /*deltaMinutes*/,
27945  1944 /*untilYear*/,
27946  8 /*untilMonth*/,
27947  25 /*untilDay*/,
27948  0 /*untilTimeCode (0/15)*/,
27949  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27950  },
27951  // 0:00 France WE%sT 1945 Sep 16 3:00
27952  {
27953  &kZonePolicyFrance /*zonePolicy*/,
27954  "WE%T" /*format*/,
27955  0 /*offsetCode (0/15)*/,
27956  0 /*offsetRemainder (0%15)*/,
27957  0 /*deltaMinutes*/,
27958  1945 /*untilYear*/,
27959  9 /*untilMonth*/,
27960  16 /*untilDay*/,
27961  720 /*untilTimeCode (10800/15)*/,
27962  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27963  },
27964  // 1:00 France CE%sT 1977
27965  {
27966  &kZonePolicyFrance /*zonePolicy*/,
27967  "CE%T" /*format*/,
27968  240 /*offsetCode (3600/15)*/,
27969  0 /*offsetRemainder (3600%15)*/,
27970  0 /*deltaMinutes*/,
27971  1977 /*untilYear*/,
27972  1 /*untilMonth*/,
27973  1 /*untilDay*/,
27974  0 /*untilTimeCode (0/15)*/,
27975  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27976  },
27977  // 1:00 EU CE%sT
27978  {
27979  &kZonePolicyEU /*zonePolicy*/,
27980  "CE%T" /*format*/,
27981  240 /*offsetCode (3600/15)*/,
27982  0 /*offsetRemainder (3600%15)*/,
27983  0 /*deltaMinutes*/,
27984  32767 /*untilYear*/,
27985  1 /*untilMonth*/,
27986  1 /*untilDay*/,
27987  0 /*untilTimeCode (0/15)*/,
27988  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27989  },
27990 
27991 };
27992 
27993 static const char kZoneNameEurope_Paris[] ACE_TIME_PROGMEM = "\x0b" "Paris";
27994 
27995 const complete::Info::ZoneInfo kZoneEurope_Paris ACE_TIME_PROGMEM = {
27996  kZoneNameEurope_Paris /*name*/,
27997  0xfb4bc2a3 /*zoneId*/,
27998  &kZoneContext /*zoneContext*/,
27999  7 /*numEras*/,
28000  kZoneEraEurope_Paris /*eras*/,
28001  nullptr /*targetInfo*/,
28002 };
28003 
28004 //---------------------------------------------------------------------------
28005 // Zone name: Europe/Prague
28006 // Eras: 7
28007 //---------------------------------------------------------------------------
28008 
28009 static const complete::Info::ZoneEra kZoneEraEurope_Prague[] ACE_TIME_PROGMEM = {
28010  // 0:57:44 - LMT 1850
28011  {
28012  nullptr /*zonePolicy*/,
28013  "LMT" /*format*/,
28014  230 /*offsetCode (3464/15)*/,
28015  14 /*offsetRemainder (3464%15)*/,
28016  0 /*deltaMinutes*/,
28017  1850 /*untilYear*/,
28018  1 /*untilMonth*/,
28019  1 /*untilDay*/,
28020  0 /*untilTimeCode (0/15)*/,
28021  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28022  },
28023  // 0:57:44 - PMT 1891 Oct
28024  {
28025  nullptr /*zonePolicy*/,
28026  "PMT" /*format*/,
28027  230 /*offsetCode (3464/15)*/,
28028  14 /*offsetRemainder (3464%15)*/,
28029  0 /*deltaMinutes*/,
28030  1891 /*untilYear*/,
28031  10 /*untilMonth*/,
28032  1 /*untilDay*/,
28033  0 /*untilTimeCode (0/15)*/,
28034  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28035  },
28036  // 1:00 C-Eur CE%sT 1945 May 9
28037  {
28038  &kZonePolicyC_Eur /*zonePolicy*/,
28039  "CE%T" /*format*/,
28040  240 /*offsetCode (3600/15)*/,
28041  0 /*offsetRemainder (3600%15)*/,
28042  0 /*deltaMinutes*/,
28043  1945 /*untilYear*/,
28044  5 /*untilMonth*/,
28045  9 /*untilDay*/,
28046  0 /*untilTimeCode (0/15)*/,
28047  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28048  },
28049  // 1:00 Czech CE%sT 1946 Dec 1 3:00
28050  {
28051  &kZonePolicyCzech /*zonePolicy*/,
28052  "CE%T" /*format*/,
28053  240 /*offsetCode (3600/15)*/,
28054  0 /*offsetRemainder (3600%15)*/,
28055  0 /*deltaMinutes*/,
28056  1946 /*untilYear*/,
28057  12 /*untilMonth*/,
28058  1 /*untilDay*/,
28059  720 /*untilTimeCode (10800/15)*/,
28060  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28061  },
28062  // 1:00 -1:00 GMT 1947 Feb 23 2:00
28063  {
28064  nullptr /*zonePolicy*/,
28065  "GMT" /*format*/,
28066  240 /*offsetCode (3600/15)*/,
28067  0 /*offsetRemainder (3600%15)*/,
28068  -60 /*deltaMinutes*/,
28069  1947 /*untilYear*/,
28070  2 /*untilMonth*/,
28071  23 /*untilDay*/,
28072  480 /*untilTimeCode (7200/15)*/,
28073  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28074  },
28075  // 1:00 Czech CE%sT 1979
28076  {
28077  &kZonePolicyCzech /*zonePolicy*/,
28078  "CE%T" /*format*/,
28079  240 /*offsetCode (3600/15)*/,
28080  0 /*offsetRemainder (3600%15)*/,
28081  0 /*deltaMinutes*/,
28082  1979 /*untilYear*/,
28083  1 /*untilMonth*/,
28084  1 /*untilDay*/,
28085  0 /*untilTimeCode (0/15)*/,
28086  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28087  },
28088  // 1:00 EU CE%sT
28089  {
28090  &kZonePolicyEU /*zonePolicy*/,
28091  "CE%T" /*format*/,
28092  240 /*offsetCode (3600/15)*/,
28093  0 /*offsetRemainder (3600%15)*/,
28094  0 /*deltaMinutes*/,
28095  32767 /*untilYear*/,
28096  1 /*untilMonth*/,
28097  1 /*untilDay*/,
28098  0 /*untilTimeCode (0/15)*/,
28099  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28100  },
28101 
28102 };
28103 
28104 static const char kZoneNameEurope_Prague[] ACE_TIME_PROGMEM = "\x0b" "Prague";
28105 
28106 const complete::Info::ZoneInfo kZoneEurope_Prague ACE_TIME_PROGMEM = {
28107  kZoneNameEurope_Prague /*name*/,
28108  0x65ee5d48 /*zoneId*/,
28109  &kZoneContext /*zoneContext*/,
28110  7 /*numEras*/,
28111  kZoneEraEurope_Prague /*eras*/,
28112  nullptr /*targetInfo*/,
28113 };
28114 
28115 //---------------------------------------------------------------------------
28116 // Zone name: Europe/Riga
28117 // Eras: 15
28118 //---------------------------------------------------------------------------
28119 
28120 static const complete::Info::ZoneEra kZoneEraEurope_Riga[] ACE_TIME_PROGMEM = {
28121  // 1:36:34 - LMT 1880
28122  {
28123  nullptr /*zonePolicy*/,
28124  "LMT" /*format*/,
28125  386 /*offsetCode (5794/15)*/,
28126  4 /*offsetRemainder (5794%15)*/,
28127  0 /*deltaMinutes*/,
28128  1880 /*untilYear*/,
28129  1 /*untilMonth*/,
28130  1 /*untilDay*/,
28131  0 /*untilTimeCode (0/15)*/,
28132  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28133  },
28134  // 1:36:34 - RMT 1918 Apr 15 2:00
28135  {
28136  nullptr /*zonePolicy*/,
28137  "RMT" /*format*/,
28138  386 /*offsetCode (5794/15)*/,
28139  4 /*offsetRemainder (5794%15)*/,
28140  0 /*deltaMinutes*/,
28141  1918 /*untilYear*/,
28142  4 /*untilMonth*/,
28143  15 /*untilDay*/,
28144  480 /*untilTimeCode (7200/15)*/,
28145  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28146  },
28147  // 1:36:34 1:00 LST 1918 Sep 16 3:00
28148  {
28149  nullptr /*zonePolicy*/,
28150  "LST" /*format*/,
28151  386 /*offsetCode (5794/15)*/,
28152  4 /*offsetRemainder (5794%15)*/,
28153  60 /*deltaMinutes*/,
28154  1918 /*untilYear*/,
28155  9 /*untilMonth*/,
28156  16 /*untilDay*/,
28157  720 /*untilTimeCode (10800/15)*/,
28158  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28159  },
28160  // 1:36:34 - RMT 1919 Apr 1 2:00
28161  {
28162  nullptr /*zonePolicy*/,
28163  "RMT" /*format*/,
28164  386 /*offsetCode (5794/15)*/,
28165  4 /*offsetRemainder (5794%15)*/,
28166  0 /*deltaMinutes*/,
28167  1919 /*untilYear*/,
28168  4 /*untilMonth*/,
28169  1 /*untilDay*/,
28170  480 /*untilTimeCode (7200/15)*/,
28171  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28172  },
28173  // 1:36:34 1:00 LST 1919 May 22 3:00
28174  {
28175  nullptr /*zonePolicy*/,
28176  "LST" /*format*/,
28177  386 /*offsetCode (5794/15)*/,
28178  4 /*offsetRemainder (5794%15)*/,
28179  60 /*deltaMinutes*/,
28180  1919 /*untilYear*/,
28181  5 /*untilMonth*/,
28182  22 /*untilDay*/,
28183  720 /*untilTimeCode (10800/15)*/,
28184  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28185  },
28186  // 1:36:34 - RMT 1926 May 11
28187  {
28188  nullptr /*zonePolicy*/,
28189  "RMT" /*format*/,
28190  386 /*offsetCode (5794/15)*/,
28191  4 /*offsetRemainder (5794%15)*/,
28192  0 /*deltaMinutes*/,
28193  1926 /*untilYear*/,
28194  5 /*untilMonth*/,
28195  11 /*untilDay*/,
28196  0 /*untilTimeCode (0/15)*/,
28197  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28198  },
28199  // 2:00 - EET 1940 Aug 5
28200  {
28201  nullptr /*zonePolicy*/,
28202  "EET" /*format*/,
28203  480 /*offsetCode (7200/15)*/,
28204  0 /*offsetRemainder (7200%15)*/,
28205  0 /*deltaMinutes*/,
28206  1940 /*untilYear*/,
28207  8 /*untilMonth*/,
28208  5 /*untilDay*/,
28209  0 /*untilTimeCode (0/15)*/,
28210  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28211  },
28212  // 3:00 - MSK 1941 Jul
28213  {
28214  nullptr /*zonePolicy*/,
28215  "MSK" /*format*/,
28216  720 /*offsetCode (10800/15)*/,
28217  0 /*offsetRemainder (10800%15)*/,
28218  0 /*deltaMinutes*/,
28219  1941 /*untilYear*/,
28220  7 /*untilMonth*/,
28221  1 /*untilDay*/,
28222  0 /*untilTimeCode (0/15)*/,
28223  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28224  },
28225  // 1:00 C-Eur CE%sT 1944 Oct 13
28226  {
28227  &kZonePolicyC_Eur /*zonePolicy*/,
28228  "CE%T" /*format*/,
28229  240 /*offsetCode (3600/15)*/,
28230  0 /*offsetRemainder (3600%15)*/,
28231  0 /*deltaMinutes*/,
28232  1944 /*untilYear*/,
28233  10 /*untilMonth*/,
28234  13 /*untilDay*/,
28235  0 /*untilTimeCode (0/15)*/,
28236  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28237  },
28238  // 3:00 Russia MSK/MSD 1989 Mar lastSun 2:00s
28239  {
28240  &kZonePolicyRussia /*zonePolicy*/,
28241  "MSK/MSD" /*format*/,
28242  720 /*offsetCode (10800/15)*/,
28243  0 /*offsetRemainder (10800%15)*/,
28244  0 /*deltaMinutes*/,
28245  1989 /*untilYear*/,
28246  3 /*untilMonth*/,
28247  26 /*untilDay*/,
28248  480 /*untilTimeCode (7200/15)*/,
28249  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28250  },
28251  // 2:00 1:00 EEST 1989 Sep lastSun 2:00s
28252  {
28253  nullptr /*zonePolicy*/,
28254  "EEST" /*format*/,
28255  480 /*offsetCode (7200/15)*/,
28256  0 /*offsetRemainder (7200%15)*/,
28257  60 /*deltaMinutes*/,
28258  1989 /*untilYear*/,
28259  9 /*untilMonth*/,
28260  24 /*untilDay*/,
28261  480 /*untilTimeCode (7200/15)*/,
28262  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28263  },
28264  // 2:00 Latvia EE%sT 1997 Jan 21
28265  {
28266  &kZonePolicyLatvia /*zonePolicy*/,
28267  "EE%T" /*format*/,
28268  480 /*offsetCode (7200/15)*/,
28269  0 /*offsetRemainder (7200%15)*/,
28270  0 /*deltaMinutes*/,
28271  1997 /*untilYear*/,
28272  1 /*untilMonth*/,
28273  21 /*untilDay*/,
28274  0 /*untilTimeCode (0/15)*/,
28275  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28276  },
28277  // 2:00 EU EE%sT 2000 Feb 29
28278  {
28279  &kZonePolicyEU /*zonePolicy*/,
28280  "EE%T" /*format*/,
28281  480 /*offsetCode (7200/15)*/,
28282  0 /*offsetRemainder (7200%15)*/,
28283  0 /*deltaMinutes*/,
28284  2000 /*untilYear*/,
28285  2 /*untilMonth*/,
28286  29 /*untilDay*/,
28287  0 /*untilTimeCode (0/15)*/,
28288  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28289  },
28290  // 2:00 - EET 2001 Jan 2
28291  {
28292  nullptr /*zonePolicy*/,
28293  "EET" /*format*/,
28294  480 /*offsetCode (7200/15)*/,
28295  0 /*offsetRemainder (7200%15)*/,
28296  0 /*deltaMinutes*/,
28297  2001 /*untilYear*/,
28298  1 /*untilMonth*/,
28299  2 /*untilDay*/,
28300  0 /*untilTimeCode (0/15)*/,
28301  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28302  },
28303  // 2:00 EU EE%sT
28304  {
28305  &kZonePolicyEU /*zonePolicy*/,
28306  "EE%T" /*format*/,
28307  480 /*offsetCode (7200/15)*/,
28308  0 /*offsetRemainder (7200%15)*/,
28309  0 /*deltaMinutes*/,
28310  32767 /*untilYear*/,
28311  1 /*untilMonth*/,
28312  1 /*untilDay*/,
28313  0 /*untilTimeCode (0/15)*/,
28314  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28315  },
28316 
28317 };
28318 
28319 static const char kZoneNameEurope_Riga[] ACE_TIME_PROGMEM = "\x0b" "Riga";
28320 
28321 const complete::Info::ZoneInfo kZoneEurope_Riga ACE_TIME_PROGMEM = {
28322  kZoneNameEurope_Riga /*name*/,
28323  0xa2c57587 /*zoneId*/,
28324  &kZoneContext /*zoneContext*/,
28325  15 /*numEras*/,
28326  kZoneEraEurope_Riga /*eras*/,
28327  nullptr /*targetInfo*/,
28328 };
28329 
28330 //---------------------------------------------------------------------------
28331 // Zone name: Europe/Rome
28332 // Eras: 6
28333 //---------------------------------------------------------------------------
28334 
28335 static const complete::Info::ZoneEra kZoneEraEurope_Rome[] ACE_TIME_PROGMEM = {
28336  // 0:49:56 - LMT 1866 Dec 12
28337  {
28338  nullptr /*zonePolicy*/,
28339  "LMT" /*format*/,
28340  199 /*offsetCode (2996/15)*/,
28341  11 /*offsetRemainder (2996%15)*/,
28342  0 /*deltaMinutes*/,
28343  1866 /*untilYear*/,
28344  12 /*untilMonth*/,
28345  12 /*untilDay*/,
28346  0 /*untilTimeCode (0/15)*/,
28347  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28348  },
28349  // 0:49:56 - RMT 1893 Oct 31 23:00u
28350  {
28351  nullptr /*zonePolicy*/,
28352  "RMT" /*format*/,
28353  199 /*offsetCode (2996/15)*/,
28354  11 /*offsetRemainder (2996%15)*/,
28355  0 /*deltaMinutes*/,
28356  1893 /*untilYear*/,
28357  10 /*untilMonth*/,
28358  31 /*untilDay*/,
28359  5520 /*untilTimeCode (82800/15)*/,
28360  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
28361  },
28362  // 1:00 Italy CE%sT 1943 Sep 10
28363  {
28364  &kZonePolicyItaly /*zonePolicy*/,
28365  "CE%T" /*format*/,
28366  240 /*offsetCode (3600/15)*/,
28367  0 /*offsetRemainder (3600%15)*/,
28368  0 /*deltaMinutes*/,
28369  1943 /*untilYear*/,
28370  9 /*untilMonth*/,
28371  10 /*untilDay*/,
28372  0 /*untilTimeCode (0/15)*/,
28373  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28374  },
28375  // 1:00 C-Eur CE%sT 1944 Jun 4
28376  {
28377  &kZonePolicyC_Eur /*zonePolicy*/,
28378  "CE%T" /*format*/,
28379  240 /*offsetCode (3600/15)*/,
28380  0 /*offsetRemainder (3600%15)*/,
28381  0 /*deltaMinutes*/,
28382  1944 /*untilYear*/,
28383  6 /*untilMonth*/,
28384  4 /*untilDay*/,
28385  0 /*untilTimeCode (0/15)*/,
28386  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28387  },
28388  // 1:00 Italy CE%sT 1980
28389  {
28390  &kZonePolicyItaly /*zonePolicy*/,
28391  "CE%T" /*format*/,
28392  240 /*offsetCode (3600/15)*/,
28393  0 /*offsetRemainder (3600%15)*/,
28394  0 /*deltaMinutes*/,
28395  1980 /*untilYear*/,
28396  1 /*untilMonth*/,
28397  1 /*untilDay*/,
28398  0 /*untilTimeCode (0/15)*/,
28399  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28400  },
28401  // 1:00 EU CE%sT
28402  {
28403  &kZonePolicyEU /*zonePolicy*/,
28404  "CE%T" /*format*/,
28405  240 /*offsetCode (3600/15)*/,
28406  0 /*offsetRemainder (3600%15)*/,
28407  0 /*deltaMinutes*/,
28408  32767 /*untilYear*/,
28409  1 /*untilMonth*/,
28410  1 /*untilDay*/,
28411  0 /*untilTimeCode (0/15)*/,
28412  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28413  },
28414 
28415 };
28416 
28417 static const char kZoneNameEurope_Rome[] ACE_TIME_PROGMEM = "\x0b" "Rome";
28418 
28419 const complete::Info::ZoneInfo kZoneEurope_Rome ACE_TIME_PROGMEM = {
28420  kZoneNameEurope_Rome /*name*/,
28421  0xa2c58fd7 /*zoneId*/,
28422  &kZoneContext /*zoneContext*/,
28423  6 /*numEras*/,
28424  kZoneEraEurope_Rome /*eras*/,
28425  nullptr /*targetInfo*/,
28426 };
28427 
28428 //---------------------------------------------------------------------------
28429 // Zone name: Europe/Samara
28430 // Eras: 10
28431 //---------------------------------------------------------------------------
28432 
28433 static const complete::Info::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = {
28434  // 3:20:20 - LMT 1919 Jul 1 0:00u
28435  {
28436  nullptr /*zonePolicy*/,
28437  "LMT" /*format*/,
28438  801 /*offsetCode (12020/15)*/,
28439  5 /*offsetRemainder (12020%15)*/,
28440  0 /*deltaMinutes*/,
28441  1919 /*untilYear*/,
28442  7 /*untilMonth*/,
28443  1 /*untilDay*/,
28444  0 /*untilTimeCode (0/15)*/,
28445  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
28446  },
28447  // 3:00 - %z 1930 Jun 21
28448  {
28449  nullptr /*zonePolicy*/,
28450  "" /*format*/,
28451  720 /*offsetCode (10800/15)*/,
28452  0 /*offsetRemainder (10800%15)*/,
28453  0 /*deltaMinutes*/,
28454  1930 /*untilYear*/,
28455  6 /*untilMonth*/,
28456  21 /*untilDay*/,
28457  0 /*untilTimeCode (0/15)*/,
28458  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28459  },
28460  // 4:00 - %z 1935 Jan 27
28461  {
28462  nullptr /*zonePolicy*/,
28463  "" /*format*/,
28464  960 /*offsetCode (14400/15)*/,
28465  0 /*offsetRemainder (14400%15)*/,
28466  0 /*deltaMinutes*/,
28467  1935 /*untilYear*/,
28468  1 /*untilMonth*/,
28469  27 /*untilDay*/,
28470  0 /*untilTimeCode (0/15)*/,
28471  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28472  },
28473  // 4:00 Russia %z 1989 Mar 26 2:00s
28474  {
28475  &kZonePolicyRussia /*zonePolicy*/,
28476  "" /*format*/,
28477  960 /*offsetCode (14400/15)*/,
28478  0 /*offsetRemainder (14400%15)*/,
28479  0 /*deltaMinutes*/,
28480  1989 /*untilYear*/,
28481  3 /*untilMonth*/,
28482  26 /*untilDay*/,
28483  480 /*untilTimeCode (7200/15)*/,
28484  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28485  },
28486  // 3:00 Russia %z 1991 Mar 31 2:00s
28487  {
28488  &kZonePolicyRussia /*zonePolicy*/,
28489  "" /*format*/,
28490  720 /*offsetCode (10800/15)*/,
28491  0 /*offsetRemainder (10800%15)*/,
28492  0 /*deltaMinutes*/,
28493  1991 /*untilYear*/,
28494  3 /*untilMonth*/,
28495  31 /*untilDay*/,
28496  480 /*untilTimeCode (7200/15)*/,
28497  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28498  },
28499  // 2:00 Russia %z 1991 Sep 29 2:00s
28500  {
28501  &kZonePolicyRussia /*zonePolicy*/,
28502  "" /*format*/,
28503  480 /*offsetCode (7200/15)*/,
28504  0 /*offsetRemainder (7200%15)*/,
28505  0 /*deltaMinutes*/,
28506  1991 /*untilYear*/,
28507  9 /*untilMonth*/,
28508  29 /*untilDay*/,
28509  480 /*untilTimeCode (7200/15)*/,
28510  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28511  },
28512  // 3:00 - %z 1991 Oct 20 3:00
28513  {
28514  nullptr /*zonePolicy*/,
28515  "" /*format*/,
28516  720 /*offsetCode (10800/15)*/,
28517  0 /*offsetRemainder (10800%15)*/,
28518  0 /*deltaMinutes*/,
28519  1991 /*untilYear*/,
28520  10 /*untilMonth*/,
28521  20 /*untilDay*/,
28522  720 /*untilTimeCode (10800/15)*/,
28523  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28524  },
28525  // 4:00 Russia %z 2010 Mar 28 2:00s
28526  {
28527  &kZonePolicyRussia /*zonePolicy*/,
28528  "" /*format*/,
28529  960 /*offsetCode (14400/15)*/,
28530  0 /*offsetRemainder (14400%15)*/,
28531  0 /*deltaMinutes*/,
28532  2010 /*untilYear*/,
28533  3 /*untilMonth*/,
28534  28 /*untilDay*/,
28535  480 /*untilTimeCode (7200/15)*/,
28536  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28537  },
28538  // 3:00 Russia %z 2011 Mar 27 2:00s
28539  {
28540  &kZonePolicyRussia /*zonePolicy*/,
28541  "" /*format*/,
28542  720 /*offsetCode (10800/15)*/,
28543  0 /*offsetRemainder (10800%15)*/,
28544  0 /*deltaMinutes*/,
28545  2011 /*untilYear*/,
28546  3 /*untilMonth*/,
28547  27 /*untilDay*/,
28548  480 /*untilTimeCode (7200/15)*/,
28549  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28550  },
28551  // 4:00 - %z
28552  {
28553  nullptr /*zonePolicy*/,
28554  "" /*format*/,
28555  960 /*offsetCode (14400/15)*/,
28556  0 /*offsetRemainder (14400%15)*/,
28557  0 /*deltaMinutes*/,
28558  32767 /*untilYear*/,
28559  1 /*untilMonth*/,
28560  1 /*untilDay*/,
28561  0 /*untilTimeCode (0/15)*/,
28562  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28563  },
28564 
28565 };
28566 
28567 static const char kZoneNameEurope_Samara[] ACE_TIME_PROGMEM = "\x0b" "Samara";
28568 
28569 const complete::Info::ZoneInfo kZoneEurope_Samara ACE_TIME_PROGMEM = {
28570  kZoneNameEurope_Samara /*name*/,
28571  0x6bc0b139 /*zoneId*/,
28572  &kZoneContext /*zoneContext*/,
28573  10 /*numEras*/,
28574  kZoneEraEurope_Samara /*eras*/,
28575  nullptr /*targetInfo*/,
28576 };
28577 
28578 //---------------------------------------------------------------------------
28579 // Zone name: Europe/Saratov
28580 // Eras: 9
28581 //---------------------------------------------------------------------------
28582 
28583 static const complete::Info::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = {
28584  // 3:04:18 - LMT 1919 Jul 1 0:00u
28585  {
28586  nullptr /*zonePolicy*/,
28587  "LMT" /*format*/,
28588  737 /*offsetCode (11058/15)*/,
28589  3 /*offsetRemainder (11058%15)*/,
28590  0 /*deltaMinutes*/,
28591  1919 /*untilYear*/,
28592  7 /*untilMonth*/,
28593  1 /*untilDay*/,
28594  0 /*untilTimeCode (0/15)*/,
28595  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
28596  },
28597  // 3:00 - %z 1930 Jun 21
28598  {
28599  nullptr /*zonePolicy*/,
28600  "" /*format*/,
28601  720 /*offsetCode (10800/15)*/,
28602  0 /*offsetRemainder (10800%15)*/,
28603  0 /*deltaMinutes*/,
28604  1930 /*untilYear*/,
28605  6 /*untilMonth*/,
28606  21 /*untilDay*/,
28607  0 /*untilTimeCode (0/15)*/,
28608  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28609  },
28610  // 4:00 Russia %z 1988 Mar 27 2:00s
28611  {
28612  &kZonePolicyRussia /*zonePolicy*/,
28613  "" /*format*/,
28614  960 /*offsetCode (14400/15)*/,
28615  0 /*offsetRemainder (14400%15)*/,
28616  0 /*deltaMinutes*/,
28617  1988 /*untilYear*/,
28618  3 /*untilMonth*/,
28619  27 /*untilDay*/,
28620  480 /*untilTimeCode (7200/15)*/,
28621  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28622  },
28623  // 3:00 Russia %z 1991 Mar 31 2:00s
28624  {
28625  &kZonePolicyRussia /*zonePolicy*/,
28626  "" /*format*/,
28627  720 /*offsetCode (10800/15)*/,
28628  0 /*offsetRemainder (10800%15)*/,
28629  0 /*deltaMinutes*/,
28630  1991 /*untilYear*/,
28631  3 /*untilMonth*/,
28632  31 /*untilDay*/,
28633  480 /*untilTimeCode (7200/15)*/,
28634  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28635  },
28636  // 4:00 - %z 1992 Mar 29 2:00s
28637  {
28638  nullptr /*zonePolicy*/,
28639  "" /*format*/,
28640  960 /*offsetCode (14400/15)*/,
28641  0 /*offsetRemainder (14400%15)*/,
28642  0 /*deltaMinutes*/,
28643  1992 /*untilYear*/,
28644  3 /*untilMonth*/,
28645  29 /*untilDay*/,
28646  480 /*untilTimeCode (7200/15)*/,
28647  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28648  },
28649  // 3:00 Russia %z 2011 Mar 27 2:00s
28650  {
28651  &kZonePolicyRussia /*zonePolicy*/,
28652  "" /*format*/,
28653  720 /*offsetCode (10800/15)*/,
28654  0 /*offsetRemainder (10800%15)*/,
28655  0 /*deltaMinutes*/,
28656  2011 /*untilYear*/,
28657  3 /*untilMonth*/,
28658  27 /*untilDay*/,
28659  480 /*untilTimeCode (7200/15)*/,
28660  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28661  },
28662  // 4:00 - %z 2014 Oct 26 2:00s
28663  {
28664  nullptr /*zonePolicy*/,
28665  "" /*format*/,
28666  960 /*offsetCode (14400/15)*/,
28667  0 /*offsetRemainder (14400%15)*/,
28668  0 /*deltaMinutes*/,
28669  2014 /*untilYear*/,
28670  10 /*untilMonth*/,
28671  26 /*untilDay*/,
28672  480 /*untilTimeCode (7200/15)*/,
28673  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28674  },
28675  // 3:00 - %z 2016 Dec 4 2:00s
28676  {
28677  nullptr /*zonePolicy*/,
28678  "" /*format*/,
28679  720 /*offsetCode (10800/15)*/,
28680  0 /*offsetRemainder (10800%15)*/,
28681  0 /*deltaMinutes*/,
28682  2016 /*untilYear*/,
28683  12 /*untilMonth*/,
28684  4 /*untilDay*/,
28685  480 /*untilTimeCode (7200/15)*/,
28686  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28687  },
28688  // 4:00 - %z
28689  {
28690  nullptr /*zonePolicy*/,
28691  "" /*format*/,
28692  960 /*offsetCode (14400/15)*/,
28693  0 /*offsetRemainder (14400%15)*/,
28694  0 /*deltaMinutes*/,
28695  32767 /*untilYear*/,
28696  1 /*untilMonth*/,
28697  1 /*untilDay*/,
28698  0 /*untilTimeCode (0/15)*/,
28699  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28700  },
28701 
28702 };
28703 
28704 static const char kZoneNameEurope_Saratov[] ACE_TIME_PROGMEM = "\x0b" "Saratov";
28705 
28706 const complete::Info::ZoneInfo kZoneEurope_Saratov ACE_TIME_PROGMEM = {
28707  kZoneNameEurope_Saratov /*name*/,
28708  0xe4315da4 /*zoneId*/,
28709  &kZoneContext /*zoneContext*/,
28710  9 /*numEras*/,
28711  kZoneEraEurope_Saratov /*eras*/,
28712  nullptr /*targetInfo*/,
28713 };
28714 
28715 //---------------------------------------------------------------------------
28716 // Zone name: Europe/Simferopol
28717 // Eras: 15
28718 //---------------------------------------------------------------------------
28719 
28720 static const complete::Info::ZoneEra kZoneEraEurope_Simferopol[] ACE_TIME_PROGMEM = {
28721  // 2:16:24 - LMT 1880
28722  {
28723  nullptr /*zonePolicy*/,
28724  "LMT" /*format*/,
28725  545 /*offsetCode (8184/15)*/,
28726  9 /*offsetRemainder (8184%15)*/,
28727  0 /*deltaMinutes*/,
28728  1880 /*untilYear*/,
28729  1 /*untilMonth*/,
28730  1 /*untilDay*/,
28731  0 /*untilTimeCode (0/15)*/,
28732  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28733  },
28734  // 2:16 - SMT 1924 May 2
28735  {
28736  nullptr /*zonePolicy*/,
28737  "SMT" /*format*/,
28738  544 /*offsetCode (8160/15)*/,
28739  0 /*offsetRemainder (8160%15)*/,
28740  0 /*deltaMinutes*/,
28741  1924 /*untilYear*/,
28742  5 /*untilMonth*/,
28743  2 /*untilDay*/,
28744  0 /*untilTimeCode (0/15)*/,
28745  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28746  },
28747  // 2:00 - EET 1930 Jun 21
28748  {
28749  nullptr /*zonePolicy*/,
28750  "EET" /*format*/,
28751  480 /*offsetCode (7200/15)*/,
28752  0 /*offsetRemainder (7200%15)*/,
28753  0 /*deltaMinutes*/,
28754  1930 /*untilYear*/,
28755  6 /*untilMonth*/,
28756  21 /*untilDay*/,
28757  0 /*untilTimeCode (0/15)*/,
28758  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28759  },
28760  // 3:00 - MSK 1941 Nov
28761  {
28762  nullptr /*zonePolicy*/,
28763  "MSK" /*format*/,
28764  720 /*offsetCode (10800/15)*/,
28765  0 /*offsetRemainder (10800%15)*/,
28766  0 /*deltaMinutes*/,
28767  1941 /*untilYear*/,
28768  11 /*untilMonth*/,
28769  1 /*untilDay*/,
28770  0 /*untilTimeCode (0/15)*/,
28771  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28772  },
28773  // 1:00 C-Eur CE%sT 1944 Apr 13
28774  {
28775  &kZonePolicyC_Eur /*zonePolicy*/,
28776  "CE%T" /*format*/,
28777  240 /*offsetCode (3600/15)*/,
28778  0 /*offsetRemainder (3600%15)*/,
28779  0 /*deltaMinutes*/,
28780  1944 /*untilYear*/,
28781  4 /*untilMonth*/,
28782  13 /*untilDay*/,
28783  0 /*untilTimeCode (0/15)*/,
28784  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28785  },
28786  // 3:00 Russia MSK/MSD 1990
28787  {
28788  &kZonePolicyRussia /*zonePolicy*/,
28789  "MSK/MSD" /*format*/,
28790  720 /*offsetCode (10800/15)*/,
28791  0 /*offsetRemainder (10800%15)*/,
28792  0 /*deltaMinutes*/,
28793  1990 /*untilYear*/,
28794  1 /*untilMonth*/,
28795  1 /*untilDay*/,
28796  0 /*untilTimeCode (0/15)*/,
28797  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28798  },
28799  // 3:00 - MSK 1990 Jul 1 2:00
28800  {
28801  nullptr /*zonePolicy*/,
28802  "MSK" /*format*/,
28803  720 /*offsetCode (10800/15)*/,
28804  0 /*offsetRemainder (10800%15)*/,
28805  0 /*deltaMinutes*/,
28806  1990 /*untilYear*/,
28807  7 /*untilMonth*/,
28808  1 /*untilDay*/,
28809  480 /*untilTimeCode (7200/15)*/,
28810  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28811  },
28812  // 2:00 - EET 1992 Mar 20
28813  {
28814  nullptr /*zonePolicy*/,
28815  "EET" /*format*/,
28816  480 /*offsetCode (7200/15)*/,
28817  0 /*offsetRemainder (7200%15)*/,
28818  0 /*deltaMinutes*/,
28819  1992 /*untilYear*/,
28820  3 /*untilMonth*/,
28821  20 /*untilDay*/,
28822  0 /*untilTimeCode (0/15)*/,
28823  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28824  },
28825  // 2:00 C-Eur EE%sT 1994 May
28826  {
28827  &kZonePolicyC_Eur /*zonePolicy*/,
28828  "EE%T" /*format*/,
28829  480 /*offsetCode (7200/15)*/,
28830  0 /*offsetRemainder (7200%15)*/,
28831  0 /*deltaMinutes*/,
28832  1994 /*untilYear*/,
28833  5 /*untilMonth*/,
28834  1 /*untilDay*/,
28835  0 /*untilTimeCode (0/15)*/,
28836  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28837  },
28838  // 3:00 C-Eur MSK/MSD 1996 Mar 31 0:00s
28839  {
28840  &kZonePolicyC_Eur /*zonePolicy*/,
28841  "MSK/MSD" /*format*/,
28842  720 /*offsetCode (10800/15)*/,
28843  0 /*offsetRemainder (10800%15)*/,
28844  0 /*deltaMinutes*/,
28845  1996 /*untilYear*/,
28846  3 /*untilMonth*/,
28847  31 /*untilDay*/,
28848  0 /*untilTimeCode (0/15)*/,
28849  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28850  },
28851  // 3:00 1:00 MSD 1996 Oct 27 3:00s
28852  {
28853  nullptr /*zonePolicy*/,
28854  "MSD" /*format*/,
28855  720 /*offsetCode (10800/15)*/,
28856  0 /*offsetRemainder (10800%15)*/,
28857  60 /*deltaMinutes*/,
28858  1996 /*untilYear*/,
28859  10 /*untilMonth*/,
28860  27 /*untilDay*/,
28861  720 /*untilTimeCode (10800/15)*/,
28862  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28863  },
28864  // 3:00 - MSK 1997 Mar lastSun 1:00u
28865  {
28866  nullptr /*zonePolicy*/,
28867  "MSK" /*format*/,
28868  720 /*offsetCode (10800/15)*/,
28869  0 /*offsetRemainder (10800%15)*/,
28870  0 /*deltaMinutes*/,
28871  1997 /*untilYear*/,
28872  3 /*untilMonth*/,
28873  30 /*untilDay*/,
28874  240 /*untilTimeCode (3600/15)*/,
28875  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
28876  },
28877  // 2:00 EU EE%sT 2014 Mar 30 2:00
28878  {
28879  &kZonePolicyEU /*zonePolicy*/,
28880  "EE%T" /*format*/,
28881  480 /*offsetCode (7200/15)*/,
28882  0 /*offsetRemainder (7200%15)*/,
28883  0 /*deltaMinutes*/,
28884  2014 /*untilYear*/,
28885  3 /*untilMonth*/,
28886  30 /*untilDay*/,
28887  480 /*untilTimeCode (7200/15)*/,
28888  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28889  },
28890  // 4:00 - MSK 2014 Oct 26 2:00s
28891  {
28892  nullptr /*zonePolicy*/,
28893  "MSK" /*format*/,
28894  960 /*offsetCode (14400/15)*/,
28895  0 /*offsetRemainder (14400%15)*/,
28896  0 /*deltaMinutes*/,
28897  2014 /*untilYear*/,
28898  10 /*untilMonth*/,
28899  26 /*untilDay*/,
28900  480 /*untilTimeCode (7200/15)*/,
28901  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28902  },
28903  // 3:00 - MSK
28904  {
28905  nullptr /*zonePolicy*/,
28906  "MSK" /*format*/,
28907  720 /*offsetCode (10800/15)*/,
28908  0 /*offsetRemainder (10800%15)*/,
28909  0 /*deltaMinutes*/,
28910  32767 /*untilYear*/,
28911  1 /*untilMonth*/,
28912  1 /*untilDay*/,
28913  0 /*untilTimeCode (0/15)*/,
28914  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28915  },
28916 
28917 };
28918 
28919 static const char kZoneNameEurope_Simferopol[] ACE_TIME_PROGMEM = "\x0b" "Simferopol";
28920 
28921 const complete::Info::ZoneInfo kZoneEurope_Simferopol ACE_TIME_PROGMEM = {
28922  kZoneNameEurope_Simferopol /*name*/,
28923  0xda9eb724 /*zoneId*/,
28924  &kZoneContext /*zoneContext*/,
28925  15 /*numEras*/,
28926  kZoneEraEurope_Simferopol /*eras*/,
28927  nullptr /*targetInfo*/,
28928 };
28929 
28930 //---------------------------------------------------------------------------
28931 // Zone name: Europe/Sofia
28932 // Eras: 10
28933 //---------------------------------------------------------------------------
28934 
28935 static const complete::Info::ZoneEra kZoneEraEurope_Sofia[] ACE_TIME_PROGMEM = {
28936  // 1:33:16 - LMT 1880
28937  {
28938  nullptr /*zonePolicy*/,
28939  "LMT" /*format*/,
28940  373 /*offsetCode (5596/15)*/,
28941  1 /*offsetRemainder (5596%15)*/,
28942  0 /*deltaMinutes*/,
28943  1880 /*untilYear*/,
28944  1 /*untilMonth*/,
28945  1 /*untilDay*/,
28946  0 /*untilTimeCode (0/15)*/,
28947  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28948  },
28949  // 1:56:56 - IMT 1894 Nov 30
28950  {
28951  nullptr /*zonePolicy*/,
28952  "IMT" /*format*/,
28953  467 /*offsetCode (7016/15)*/,
28954  11 /*offsetRemainder (7016%15)*/,
28955  0 /*deltaMinutes*/,
28956  1894 /*untilYear*/,
28957  11 /*untilMonth*/,
28958  30 /*untilDay*/,
28959  0 /*untilTimeCode (0/15)*/,
28960  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28961  },
28962  // 2:00 - EET 1942 Nov 2 3:00
28963  {
28964  nullptr /*zonePolicy*/,
28965  "EET" /*format*/,
28966  480 /*offsetCode (7200/15)*/,
28967  0 /*offsetRemainder (7200%15)*/,
28968  0 /*deltaMinutes*/,
28969  1942 /*untilYear*/,
28970  11 /*untilMonth*/,
28971  2 /*untilDay*/,
28972  720 /*untilTimeCode (10800/15)*/,
28973  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28974  },
28975  // 1:00 C-Eur CE%sT 1945
28976  {
28977  &kZonePolicyC_Eur /*zonePolicy*/,
28978  "CE%T" /*format*/,
28979  240 /*offsetCode (3600/15)*/,
28980  0 /*offsetRemainder (3600%15)*/,
28981  0 /*deltaMinutes*/,
28982  1945 /*untilYear*/,
28983  1 /*untilMonth*/,
28984  1 /*untilDay*/,
28985  0 /*untilTimeCode (0/15)*/,
28986  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28987  },
28988  // 1:00 - CET 1945 Apr 2 3:00
28989  {
28990  nullptr /*zonePolicy*/,
28991  "CET" /*format*/,
28992  240 /*offsetCode (3600/15)*/,
28993  0 /*offsetRemainder (3600%15)*/,
28994  0 /*deltaMinutes*/,
28995  1945 /*untilYear*/,
28996  4 /*untilMonth*/,
28997  2 /*untilDay*/,
28998  720 /*untilTimeCode (10800/15)*/,
28999  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29000  },
29001  // 2:00 - EET 1979 Mar 31 23:00
29002  {
29003  nullptr /*zonePolicy*/,
29004  "EET" /*format*/,
29005  480 /*offsetCode (7200/15)*/,
29006  0 /*offsetRemainder (7200%15)*/,
29007  0 /*deltaMinutes*/,
29008  1979 /*untilYear*/,
29009  3 /*untilMonth*/,
29010  31 /*untilDay*/,
29011  5520 /*untilTimeCode (82800/15)*/,
29012  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29013  },
29014  // 2:00 Bulg EE%sT 1982 Sep 26 3:00
29015  {
29016  &kZonePolicyBulg /*zonePolicy*/,
29017  "EE%T" /*format*/,
29018  480 /*offsetCode (7200/15)*/,
29019  0 /*offsetRemainder (7200%15)*/,
29020  0 /*deltaMinutes*/,
29021  1982 /*untilYear*/,
29022  9 /*untilMonth*/,
29023  26 /*untilDay*/,
29024  720 /*untilTimeCode (10800/15)*/,
29025  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29026  },
29027  // 2:00 C-Eur EE%sT 1991
29028  {
29029  &kZonePolicyC_Eur /*zonePolicy*/,
29030  "EE%T" /*format*/,
29031  480 /*offsetCode (7200/15)*/,
29032  0 /*offsetRemainder (7200%15)*/,
29033  0 /*deltaMinutes*/,
29034  1991 /*untilYear*/,
29035  1 /*untilMonth*/,
29036  1 /*untilDay*/,
29037  0 /*untilTimeCode (0/15)*/,
29038  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29039  },
29040  // 2:00 E-Eur EE%sT 1997
29041  {
29042  &kZonePolicyE_Eur /*zonePolicy*/,
29043  "EE%T" /*format*/,
29044  480 /*offsetCode (7200/15)*/,
29045  0 /*offsetRemainder (7200%15)*/,
29046  0 /*deltaMinutes*/,
29047  1997 /*untilYear*/,
29048  1 /*untilMonth*/,
29049  1 /*untilDay*/,
29050  0 /*untilTimeCode (0/15)*/,
29051  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29052  },
29053  // 2:00 EU EE%sT
29054  {
29055  &kZonePolicyEU /*zonePolicy*/,
29056  "EE%T" /*format*/,
29057  480 /*offsetCode (7200/15)*/,
29058  0 /*offsetRemainder (7200%15)*/,
29059  0 /*deltaMinutes*/,
29060  32767 /*untilYear*/,
29061  1 /*untilMonth*/,
29062  1 /*untilDay*/,
29063  0 /*untilTimeCode (0/15)*/,
29064  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29065  },
29066 
29067 };
29068 
29069 static const char kZoneNameEurope_Sofia[] ACE_TIME_PROGMEM = "\x0b" "Sofia";
29070 
29071 const complete::Info::ZoneInfo kZoneEurope_Sofia ACE_TIME_PROGMEM = {
29072  kZoneNameEurope_Sofia /*name*/,
29073  0xfb898656 /*zoneId*/,
29074  &kZoneContext /*zoneContext*/,
29075  10 /*numEras*/,
29076  kZoneEraEurope_Sofia /*eras*/,
29077  nullptr /*targetInfo*/,
29078 };
29079 
29080 //---------------------------------------------------------------------------
29081 // Zone name: Europe/Tallinn
29082 // Eras: 13
29083 //---------------------------------------------------------------------------
29084 
29085 static const complete::Info::ZoneEra kZoneEraEurope_Tallinn[] ACE_TIME_PROGMEM = {
29086  // 1:39:00 - LMT 1880
29087  {
29088  nullptr /*zonePolicy*/,
29089  "LMT" /*format*/,
29090  396 /*offsetCode (5940/15)*/,
29091  0 /*offsetRemainder (5940%15)*/,
29092  0 /*deltaMinutes*/,
29093  1880 /*untilYear*/,
29094  1 /*untilMonth*/,
29095  1 /*untilDay*/,
29096  0 /*untilTimeCode (0/15)*/,
29097  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29098  },
29099  // 1:39:00 - TMT 1918 Feb
29100  {
29101  nullptr /*zonePolicy*/,
29102  "TMT" /*format*/,
29103  396 /*offsetCode (5940/15)*/,
29104  0 /*offsetRemainder (5940%15)*/,
29105  0 /*deltaMinutes*/,
29106  1918 /*untilYear*/,
29107  2 /*untilMonth*/,
29108  1 /*untilDay*/,
29109  0 /*untilTimeCode (0/15)*/,
29110  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29111  },
29112  // 1:00 C-Eur CE%sT 1919 Jul
29113  {
29114  &kZonePolicyC_Eur /*zonePolicy*/,
29115  "CE%T" /*format*/,
29116  240 /*offsetCode (3600/15)*/,
29117  0 /*offsetRemainder (3600%15)*/,
29118  0 /*deltaMinutes*/,
29119  1919 /*untilYear*/,
29120  7 /*untilMonth*/,
29121  1 /*untilDay*/,
29122  0 /*untilTimeCode (0/15)*/,
29123  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29124  },
29125  // 1:39:00 - TMT 1921 May
29126  {
29127  nullptr /*zonePolicy*/,
29128  "TMT" /*format*/,
29129  396 /*offsetCode (5940/15)*/,
29130  0 /*offsetRemainder (5940%15)*/,
29131  0 /*deltaMinutes*/,
29132  1921 /*untilYear*/,
29133  5 /*untilMonth*/,
29134  1 /*untilDay*/,
29135  0 /*untilTimeCode (0/15)*/,
29136  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29137  },
29138  // 2:00 - EET 1940 Aug 6
29139  {
29140  nullptr /*zonePolicy*/,
29141  "EET" /*format*/,
29142  480 /*offsetCode (7200/15)*/,
29143  0 /*offsetRemainder (7200%15)*/,
29144  0 /*deltaMinutes*/,
29145  1940 /*untilYear*/,
29146  8 /*untilMonth*/,
29147  6 /*untilDay*/,
29148  0 /*untilTimeCode (0/15)*/,
29149  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29150  },
29151  // 3:00 - MSK 1941 Sep 15
29152  {
29153  nullptr /*zonePolicy*/,
29154  "MSK" /*format*/,
29155  720 /*offsetCode (10800/15)*/,
29156  0 /*offsetRemainder (10800%15)*/,
29157  0 /*deltaMinutes*/,
29158  1941 /*untilYear*/,
29159  9 /*untilMonth*/,
29160  15 /*untilDay*/,
29161  0 /*untilTimeCode (0/15)*/,
29162  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29163  },
29164  // 1:00 C-Eur CE%sT 1944 Sep 22
29165  {
29166  &kZonePolicyC_Eur /*zonePolicy*/,
29167  "CE%T" /*format*/,
29168  240 /*offsetCode (3600/15)*/,
29169  0 /*offsetRemainder (3600%15)*/,
29170  0 /*deltaMinutes*/,
29171  1944 /*untilYear*/,
29172  9 /*untilMonth*/,
29173  22 /*untilDay*/,
29174  0 /*untilTimeCode (0/15)*/,
29175  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29176  },
29177  // 3:00 Russia MSK/MSD 1989 Mar 26 2:00s
29178  {
29179  &kZonePolicyRussia /*zonePolicy*/,
29180  "MSK/MSD" /*format*/,
29181  720 /*offsetCode (10800/15)*/,
29182  0 /*offsetRemainder (10800%15)*/,
29183  0 /*deltaMinutes*/,
29184  1989 /*untilYear*/,
29185  3 /*untilMonth*/,
29186  26 /*untilDay*/,
29187  480 /*untilTimeCode (7200/15)*/,
29188  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29189  },
29190  // 2:00 1:00 EEST 1989 Sep 24 2:00s
29191  {
29192  nullptr /*zonePolicy*/,
29193  "EEST" /*format*/,
29194  480 /*offsetCode (7200/15)*/,
29195  0 /*offsetRemainder (7200%15)*/,
29196  60 /*deltaMinutes*/,
29197  1989 /*untilYear*/,
29198  9 /*untilMonth*/,
29199  24 /*untilDay*/,
29200  480 /*untilTimeCode (7200/15)*/,
29201  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29202  },
29203  // 2:00 C-Eur EE%sT 1998 Sep 22
29204  {
29205  &kZonePolicyC_Eur /*zonePolicy*/,
29206  "EE%T" /*format*/,
29207  480 /*offsetCode (7200/15)*/,
29208  0 /*offsetRemainder (7200%15)*/,
29209  0 /*deltaMinutes*/,
29210  1998 /*untilYear*/,
29211  9 /*untilMonth*/,
29212  22 /*untilDay*/,
29213  0 /*untilTimeCode (0/15)*/,
29214  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29215  },
29216  // 2:00 EU EE%sT 1999 Oct 31 4:00
29217  {
29218  &kZonePolicyEU /*zonePolicy*/,
29219  "EE%T" /*format*/,
29220  480 /*offsetCode (7200/15)*/,
29221  0 /*offsetRemainder (7200%15)*/,
29222  0 /*deltaMinutes*/,
29223  1999 /*untilYear*/,
29224  10 /*untilMonth*/,
29225  31 /*untilDay*/,
29226  960 /*untilTimeCode (14400/15)*/,
29227  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29228  },
29229  // 2:00 - EET 2002 Feb 21
29230  {
29231  nullptr /*zonePolicy*/,
29232  "EET" /*format*/,
29233  480 /*offsetCode (7200/15)*/,
29234  0 /*offsetRemainder (7200%15)*/,
29235  0 /*deltaMinutes*/,
29236  2002 /*untilYear*/,
29237  2 /*untilMonth*/,
29238  21 /*untilDay*/,
29239  0 /*untilTimeCode (0/15)*/,
29240  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29241  },
29242  // 2:00 EU EE%sT
29243  {
29244  &kZonePolicyEU /*zonePolicy*/,
29245  "EE%T" /*format*/,
29246  480 /*offsetCode (7200/15)*/,
29247  0 /*offsetRemainder (7200%15)*/,
29248  0 /*deltaMinutes*/,
29249  32767 /*untilYear*/,
29250  1 /*untilMonth*/,
29251  1 /*untilDay*/,
29252  0 /*untilTimeCode (0/15)*/,
29253  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29254  },
29255 
29256 };
29257 
29258 static const char kZoneNameEurope_Tallinn[] ACE_TIME_PROGMEM = "\x0b" "Tallinn";
29259 
29260 const complete::Info::ZoneInfo kZoneEurope_Tallinn ACE_TIME_PROGMEM = {
29261  kZoneNameEurope_Tallinn /*name*/,
29262  0x30c4e096 /*zoneId*/,
29263  &kZoneContext /*zoneContext*/,
29264  13 /*numEras*/,
29265  kZoneEraEurope_Tallinn /*eras*/,
29266  nullptr /*targetInfo*/,
29267 };
29268 
29269 //---------------------------------------------------------------------------
29270 // Zone name: Europe/Tirane
29271 // Eras: 4
29272 //---------------------------------------------------------------------------
29273 
29274 static const complete::Info::ZoneEra kZoneEraEurope_Tirane[] ACE_TIME_PROGMEM = {
29275  // 1:19:20 - LMT 1914
29276  {
29277  nullptr /*zonePolicy*/,
29278  "LMT" /*format*/,
29279  317 /*offsetCode (4760/15)*/,
29280  5 /*offsetRemainder (4760%15)*/,
29281  0 /*deltaMinutes*/,
29282  1914 /*untilYear*/,
29283  1 /*untilMonth*/,
29284  1 /*untilDay*/,
29285  0 /*untilTimeCode (0/15)*/,
29286  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29287  },
29288  // 1:00 - CET 1940 Jun 16
29289  {
29290  nullptr /*zonePolicy*/,
29291  "CET" /*format*/,
29292  240 /*offsetCode (3600/15)*/,
29293  0 /*offsetRemainder (3600%15)*/,
29294  0 /*deltaMinutes*/,
29295  1940 /*untilYear*/,
29296  6 /*untilMonth*/,
29297  16 /*untilDay*/,
29298  0 /*untilTimeCode (0/15)*/,
29299  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29300  },
29301  // 1:00 Albania CE%sT 1984 Jul
29302  {
29303  &kZonePolicyAlbania /*zonePolicy*/,
29304  "CE%T" /*format*/,
29305  240 /*offsetCode (3600/15)*/,
29306  0 /*offsetRemainder (3600%15)*/,
29307  0 /*deltaMinutes*/,
29308  1984 /*untilYear*/,
29309  7 /*untilMonth*/,
29310  1 /*untilDay*/,
29311  0 /*untilTimeCode (0/15)*/,
29312  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29313  },
29314  // 1:00 EU CE%sT
29315  {
29316  &kZonePolicyEU /*zonePolicy*/,
29317  "CE%T" /*format*/,
29318  240 /*offsetCode (3600/15)*/,
29319  0 /*offsetRemainder (3600%15)*/,
29320  0 /*deltaMinutes*/,
29321  32767 /*untilYear*/,
29322  1 /*untilMonth*/,
29323  1 /*untilDay*/,
29324  0 /*untilTimeCode (0/15)*/,
29325  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29326  },
29327 
29328 };
29329 
29330 static const char kZoneNameEurope_Tirane[] ACE_TIME_PROGMEM = "\x0b" "Tirane";
29331 
29332 const complete::Info::ZoneInfo kZoneEurope_Tirane ACE_TIME_PROGMEM = {
29333  kZoneNameEurope_Tirane /*name*/,
29334  0x6ea95b47 /*zoneId*/,
29335  &kZoneContext /*zoneContext*/,
29336  4 /*numEras*/,
29337  kZoneEraEurope_Tirane /*eras*/,
29338  nullptr /*targetInfo*/,
29339 };
29340 
29341 //---------------------------------------------------------------------------
29342 // Zone name: Europe/Ulyanovsk
29343 // Eras: 9
29344 //---------------------------------------------------------------------------
29345 
29346 static const complete::Info::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = {
29347  // 3:13:36 - LMT 1919 Jul 1 0:00u
29348  {
29349  nullptr /*zonePolicy*/,
29350  "LMT" /*format*/,
29351  774 /*offsetCode (11616/15)*/,
29352  6 /*offsetRemainder (11616%15)*/,
29353  0 /*deltaMinutes*/,
29354  1919 /*untilYear*/,
29355  7 /*untilMonth*/,
29356  1 /*untilDay*/,
29357  0 /*untilTimeCode (0/15)*/,
29358  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
29359  },
29360  // 3:00 - %z 1930 Jun 21
29361  {
29362  nullptr /*zonePolicy*/,
29363  "" /*format*/,
29364  720 /*offsetCode (10800/15)*/,
29365  0 /*offsetRemainder (10800%15)*/,
29366  0 /*deltaMinutes*/,
29367  1930 /*untilYear*/,
29368  6 /*untilMonth*/,
29369  21 /*untilDay*/,
29370  0 /*untilTimeCode (0/15)*/,
29371  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29372  },
29373  // 4:00 Russia %z 1989 Mar 26 2:00s
29374  {
29375  &kZonePolicyRussia /*zonePolicy*/,
29376  "" /*format*/,
29377  960 /*offsetCode (14400/15)*/,
29378  0 /*offsetRemainder (14400%15)*/,
29379  0 /*deltaMinutes*/,
29380  1989 /*untilYear*/,
29381  3 /*untilMonth*/,
29382  26 /*untilDay*/,
29383  480 /*untilTimeCode (7200/15)*/,
29384  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29385  },
29386  // 3:00 Russia %z 1991 Mar 31 2:00s
29387  {
29388  &kZonePolicyRussia /*zonePolicy*/,
29389  "" /*format*/,
29390  720 /*offsetCode (10800/15)*/,
29391  0 /*offsetRemainder (10800%15)*/,
29392  0 /*deltaMinutes*/,
29393  1991 /*untilYear*/,
29394  3 /*untilMonth*/,
29395  31 /*untilDay*/,
29396  480 /*untilTimeCode (7200/15)*/,
29397  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29398  },
29399  // 2:00 Russia %z 1992 Jan 19 2:00s
29400  {
29401  &kZonePolicyRussia /*zonePolicy*/,
29402  "" /*format*/,
29403  480 /*offsetCode (7200/15)*/,
29404  0 /*offsetRemainder (7200%15)*/,
29405  0 /*deltaMinutes*/,
29406  1992 /*untilYear*/,
29407  1 /*untilMonth*/,
29408  19 /*untilDay*/,
29409  480 /*untilTimeCode (7200/15)*/,
29410  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29411  },
29412  // 3:00 Russia %z 2011 Mar 27 2:00s
29413  {
29414  &kZonePolicyRussia /*zonePolicy*/,
29415  "" /*format*/,
29416  720 /*offsetCode (10800/15)*/,
29417  0 /*offsetRemainder (10800%15)*/,
29418  0 /*deltaMinutes*/,
29419  2011 /*untilYear*/,
29420  3 /*untilMonth*/,
29421  27 /*untilDay*/,
29422  480 /*untilTimeCode (7200/15)*/,
29423  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29424  },
29425  // 4:00 - %z 2014 Oct 26 2:00s
29426  {
29427  nullptr /*zonePolicy*/,
29428  "" /*format*/,
29429  960 /*offsetCode (14400/15)*/,
29430  0 /*offsetRemainder (14400%15)*/,
29431  0 /*deltaMinutes*/,
29432  2014 /*untilYear*/,
29433  10 /*untilMonth*/,
29434  26 /*untilDay*/,
29435  480 /*untilTimeCode (7200/15)*/,
29436  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29437  },
29438  // 3:00 - %z 2016 Mar 27 2:00s
29439  {
29440  nullptr /*zonePolicy*/,
29441  "" /*format*/,
29442  720 /*offsetCode (10800/15)*/,
29443  0 /*offsetRemainder (10800%15)*/,
29444  0 /*deltaMinutes*/,
29445  2016 /*untilYear*/,
29446  3 /*untilMonth*/,
29447  27 /*untilDay*/,
29448  480 /*untilTimeCode (7200/15)*/,
29449  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29450  },
29451  // 4:00 - %z
29452  {
29453  nullptr /*zonePolicy*/,
29454  "" /*format*/,
29455  960 /*offsetCode (14400/15)*/,
29456  0 /*offsetRemainder (14400%15)*/,
29457  0 /*deltaMinutes*/,
29458  32767 /*untilYear*/,
29459  1 /*untilMonth*/,
29460  1 /*untilDay*/,
29461  0 /*untilTimeCode (0/15)*/,
29462  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29463  },
29464 
29465 };
29466 
29467 static const char kZoneNameEurope_Ulyanovsk[] ACE_TIME_PROGMEM = "\x0b" "Ulyanovsk";
29468 
29469 const complete::Info::ZoneInfo kZoneEurope_Ulyanovsk ACE_TIME_PROGMEM = {
29470  kZoneNameEurope_Ulyanovsk /*name*/,
29471  0xe03783d0 /*zoneId*/,
29472  &kZoneContext /*zoneContext*/,
29473  9 /*numEras*/,
29474  kZoneEraEurope_Ulyanovsk /*eras*/,
29475  nullptr /*targetInfo*/,
29476 };
29477 
29478 //---------------------------------------------------------------------------
29479 // Zone name: Europe/Vienna
29480 // Eras: 8
29481 //---------------------------------------------------------------------------
29482 
29483 static const complete::Info::ZoneEra kZoneEraEurope_Vienna[] ACE_TIME_PROGMEM = {
29484  // 1:05:21 - LMT 1893 Apr
29485  {
29486  nullptr /*zonePolicy*/,
29487  "LMT" /*format*/,
29488  261 /*offsetCode (3921/15)*/,
29489  6 /*offsetRemainder (3921%15)*/,
29490  0 /*deltaMinutes*/,
29491  1893 /*untilYear*/,
29492  4 /*untilMonth*/,
29493  1 /*untilDay*/,
29494  0 /*untilTimeCode (0/15)*/,
29495  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29496  },
29497  // 1:00 C-Eur CE%sT 1920
29498  {
29499  &kZonePolicyC_Eur /*zonePolicy*/,
29500  "CE%T" /*format*/,
29501  240 /*offsetCode (3600/15)*/,
29502  0 /*offsetRemainder (3600%15)*/,
29503  0 /*deltaMinutes*/,
29504  1920 /*untilYear*/,
29505  1 /*untilMonth*/,
29506  1 /*untilDay*/,
29507  0 /*untilTimeCode (0/15)*/,
29508  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29509  },
29510  // 1:00 Austria CE%sT 1940 Apr 1 2:00s
29511  {
29512  &kZonePolicyAustria /*zonePolicy*/,
29513  "CE%T" /*format*/,
29514  240 /*offsetCode (3600/15)*/,
29515  0 /*offsetRemainder (3600%15)*/,
29516  0 /*deltaMinutes*/,
29517  1940 /*untilYear*/,
29518  4 /*untilMonth*/,
29519  1 /*untilDay*/,
29520  480 /*untilTimeCode (7200/15)*/,
29521  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29522  },
29523  // 1:00 C-Eur CE%sT 1945 Apr 2 2:00s
29524  {
29525  &kZonePolicyC_Eur /*zonePolicy*/,
29526  "CE%T" /*format*/,
29527  240 /*offsetCode (3600/15)*/,
29528  0 /*offsetRemainder (3600%15)*/,
29529  0 /*deltaMinutes*/,
29530  1945 /*untilYear*/,
29531  4 /*untilMonth*/,
29532  2 /*untilDay*/,
29533  480 /*untilTimeCode (7200/15)*/,
29534  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29535  },
29536  // 1:00 1:00 CEST 1945 Apr 12 2:00s
29537  {
29538  nullptr /*zonePolicy*/,
29539  "CEST" /*format*/,
29540  240 /*offsetCode (3600/15)*/,
29541  0 /*offsetRemainder (3600%15)*/,
29542  60 /*deltaMinutes*/,
29543  1945 /*untilYear*/,
29544  4 /*untilMonth*/,
29545  12 /*untilDay*/,
29546  480 /*untilTimeCode (7200/15)*/,
29547  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29548  },
29549  // 1:00 - CET 1946
29550  {
29551  nullptr /*zonePolicy*/,
29552  "CET" /*format*/,
29553  240 /*offsetCode (3600/15)*/,
29554  0 /*offsetRemainder (3600%15)*/,
29555  0 /*deltaMinutes*/,
29556  1946 /*untilYear*/,
29557  1 /*untilMonth*/,
29558  1 /*untilDay*/,
29559  0 /*untilTimeCode (0/15)*/,
29560  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29561  },
29562  // 1:00 Austria CE%sT 1981
29563  {
29564  &kZonePolicyAustria /*zonePolicy*/,
29565  "CE%T" /*format*/,
29566  240 /*offsetCode (3600/15)*/,
29567  0 /*offsetRemainder (3600%15)*/,
29568  0 /*deltaMinutes*/,
29569  1981 /*untilYear*/,
29570  1 /*untilMonth*/,
29571  1 /*untilDay*/,
29572  0 /*untilTimeCode (0/15)*/,
29573  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29574  },
29575  // 1:00 EU CE%sT
29576  {
29577  &kZonePolicyEU /*zonePolicy*/,
29578  "CE%T" /*format*/,
29579  240 /*offsetCode (3600/15)*/,
29580  0 /*offsetRemainder (3600%15)*/,
29581  0 /*deltaMinutes*/,
29582  32767 /*untilYear*/,
29583  1 /*untilMonth*/,
29584  1 /*untilDay*/,
29585  0 /*untilTimeCode (0/15)*/,
29586  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29587  },
29588 
29589 };
29590 
29591 static const char kZoneNameEurope_Vienna[] ACE_TIME_PROGMEM = "\x0b" "Vienna";
29592 
29593 const complete::Info::ZoneInfo kZoneEurope_Vienna ACE_TIME_PROGMEM = {
29594  kZoneNameEurope_Vienna /*name*/,
29595  0x734cc2e5 /*zoneId*/,
29596  &kZoneContext /*zoneContext*/,
29597  8 /*numEras*/,
29598  kZoneEraEurope_Vienna /*eras*/,
29599  nullptr /*targetInfo*/,
29600 };
29601 
29602 //---------------------------------------------------------------------------
29603 // Zone name: Europe/Vilnius
29604 // Eras: 15
29605 //---------------------------------------------------------------------------
29606 
29607 static const complete::Info::ZoneEra kZoneEraEurope_Vilnius[] ACE_TIME_PROGMEM = {
29608  // 1:41:16 - LMT 1880
29609  {
29610  nullptr /*zonePolicy*/,
29611  "LMT" /*format*/,
29612  405 /*offsetCode (6076/15)*/,
29613  1 /*offsetRemainder (6076%15)*/,
29614  0 /*deltaMinutes*/,
29615  1880 /*untilYear*/,
29616  1 /*untilMonth*/,
29617  1 /*untilDay*/,
29618  0 /*untilTimeCode (0/15)*/,
29619  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29620  },
29621  // 1:24:00 - WMT 1917
29622  {
29623  nullptr /*zonePolicy*/,
29624  "WMT" /*format*/,
29625  336 /*offsetCode (5040/15)*/,
29626  0 /*offsetRemainder (5040%15)*/,
29627  0 /*deltaMinutes*/,
29628  1917 /*untilYear*/,
29629  1 /*untilMonth*/,
29630  1 /*untilDay*/,
29631  0 /*untilTimeCode (0/15)*/,
29632  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29633  },
29634  // 1:35:36 - KMT 1919 Oct 10
29635  {
29636  nullptr /*zonePolicy*/,
29637  "KMT" /*format*/,
29638  382 /*offsetCode (5736/15)*/,
29639  6 /*offsetRemainder (5736%15)*/,
29640  0 /*deltaMinutes*/,
29641  1919 /*untilYear*/,
29642  10 /*untilMonth*/,
29643  10 /*untilDay*/,
29644  0 /*untilTimeCode (0/15)*/,
29645  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29646  },
29647  // 1:00 - CET 1920 Jul 12
29648  {
29649  nullptr /*zonePolicy*/,
29650  "CET" /*format*/,
29651  240 /*offsetCode (3600/15)*/,
29652  0 /*offsetRemainder (3600%15)*/,
29653  0 /*deltaMinutes*/,
29654  1920 /*untilYear*/,
29655  7 /*untilMonth*/,
29656  12 /*untilDay*/,
29657  0 /*untilTimeCode (0/15)*/,
29658  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29659  },
29660  // 2:00 - EET 1920 Oct 9
29661  {
29662  nullptr /*zonePolicy*/,
29663  "EET" /*format*/,
29664  480 /*offsetCode (7200/15)*/,
29665  0 /*offsetRemainder (7200%15)*/,
29666  0 /*deltaMinutes*/,
29667  1920 /*untilYear*/,
29668  10 /*untilMonth*/,
29669  9 /*untilDay*/,
29670  0 /*untilTimeCode (0/15)*/,
29671  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29672  },
29673  // 1:00 - CET 1940 Aug 3
29674  {
29675  nullptr /*zonePolicy*/,
29676  "CET" /*format*/,
29677  240 /*offsetCode (3600/15)*/,
29678  0 /*offsetRemainder (3600%15)*/,
29679  0 /*deltaMinutes*/,
29680  1940 /*untilYear*/,
29681  8 /*untilMonth*/,
29682  3 /*untilDay*/,
29683  0 /*untilTimeCode (0/15)*/,
29684  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29685  },
29686  // 3:00 - MSK 1941 Jun 24
29687  {
29688  nullptr /*zonePolicy*/,
29689  "MSK" /*format*/,
29690  720 /*offsetCode (10800/15)*/,
29691  0 /*offsetRemainder (10800%15)*/,
29692  0 /*deltaMinutes*/,
29693  1941 /*untilYear*/,
29694  6 /*untilMonth*/,
29695  24 /*untilDay*/,
29696  0 /*untilTimeCode (0/15)*/,
29697  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29698  },
29699  // 1:00 C-Eur CE%sT 1944 Aug
29700  {
29701  &kZonePolicyC_Eur /*zonePolicy*/,
29702  "CE%T" /*format*/,
29703  240 /*offsetCode (3600/15)*/,
29704  0 /*offsetRemainder (3600%15)*/,
29705  0 /*deltaMinutes*/,
29706  1944 /*untilYear*/,
29707  8 /*untilMonth*/,
29708  1 /*untilDay*/,
29709  0 /*untilTimeCode (0/15)*/,
29710  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29711  },
29712  // 3:00 Russia MSK/MSD 1989 Mar 26 2:00s
29713  {
29714  &kZonePolicyRussia /*zonePolicy*/,
29715  "MSK/MSD" /*format*/,
29716  720 /*offsetCode (10800/15)*/,
29717  0 /*offsetRemainder (10800%15)*/,
29718  0 /*deltaMinutes*/,
29719  1989 /*untilYear*/,
29720  3 /*untilMonth*/,
29721  26 /*untilDay*/,
29722  480 /*untilTimeCode (7200/15)*/,
29723  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29724  },
29725  // 2:00 Russia EE%sT 1991 Sep 29 2:00s
29726  {
29727  &kZonePolicyRussia /*zonePolicy*/,
29728  "EE%T" /*format*/,
29729  480 /*offsetCode (7200/15)*/,
29730  0 /*offsetRemainder (7200%15)*/,
29731  0 /*deltaMinutes*/,
29732  1991 /*untilYear*/,
29733  9 /*untilMonth*/,
29734  29 /*untilDay*/,
29735  480 /*untilTimeCode (7200/15)*/,
29736  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29737  },
29738  // 2:00 C-Eur EE%sT 1998
29739  {
29740  &kZonePolicyC_Eur /*zonePolicy*/,
29741  "EE%T" /*format*/,
29742  480 /*offsetCode (7200/15)*/,
29743  0 /*offsetRemainder (7200%15)*/,
29744  0 /*deltaMinutes*/,
29745  1998 /*untilYear*/,
29746  1 /*untilMonth*/,
29747  1 /*untilDay*/,
29748  0 /*untilTimeCode (0/15)*/,
29749  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29750  },
29751  // 2:00 - EET 1998 Mar 29 1:00u
29752  {
29753  nullptr /*zonePolicy*/,
29754  "EET" /*format*/,
29755  480 /*offsetCode (7200/15)*/,
29756  0 /*offsetRemainder (7200%15)*/,
29757  0 /*deltaMinutes*/,
29758  1998 /*untilYear*/,
29759  3 /*untilMonth*/,
29760  29 /*untilDay*/,
29761  240 /*untilTimeCode (3600/15)*/,
29762  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
29763  },
29764  // 1:00 EU CE%sT 1999 Oct 31 1:00u
29765  {
29766  &kZonePolicyEU /*zonePolicy*/,
29767  "CE%T" /*format*/,
29768  240 /*offsetCode (3600/15)*/,
29769  0 /*offsetRemainder (3600%15)*/,
29770  0 /*deltaMinutes*/,
29771  1999 /*untilYear*/,
29772  10 /*untilMonth*/,
29773  31 /*untilDay*/,
29774  240 /*untilTimeCode (3600/15)*/,
29775  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
29776  },
29777  // 2:00 - EET 2003 Jan 1
29778  {
29779  nullptr /*zonePolicy*/,
29780  "EET" /*format*/,
29781  480 /*offsetCode (7200/15)*/,
29782  0 /*offsetRemainder (7200%15)*/,
29783  0 /*deltaMinutes*/,
29784  2003 /*untilYear*/,
29785  1 /*untilMonth*/,
29786  1 /*untilDay*/,
29787  0 /*untilTimeCode (0/15)*/,
29788  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29789  },
29790  // 2:00 EU EE%sT
29791  {
29792  &kZonePolicyEU /*zonePolicy*/,
29793  "EE%T" /*format*/,
29794  480 /*offsetCode (7200/15)*/,
29795  0 /*offsetRemainder (7200%15)*/,
29796  0 /*deltaMinutes*/,
29797  32767 /*untilYear*/,
29798  1 /*untilMonth*/,
29799  1 /*untilDay*/,
29800  0 /*untilTimeCode (0/15)*/,
29801  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29802  },
29803 
29804 };
29805 
29806 static const char kZoneNameEurope_Vilnius[] ACE_TIME_PROGMEM = "\x0b" "Vilnius";
29807 
29808 const complete::Info::ZoneInfo kZoneEurope_Vilnius ACE_TIME_PROGMEM = {
29809  kZoneNameEurope_Vilnius /*name*/,
29810  0xdd63b8ce /*zoneId*/,
29811  &kZoneContext /*zoneContext*/,
29812  15 /*numEras*/,
29813  kZoneEraEurope_Vilnius /*eras*/,
29814  nullptr /*targetInfo*/,
29815 };
29816 
29817 //---------------------------------------------------------------------------
29818 // Zone name: Europe/Volgograd
29819 // Eras: 11
29820 //---------------------------------------------------------------------------
29821 
29822 static const complete::Info::ZoneEra kZoneEraEurope_Volgograd[] ACE_TIME_PROGMEM = {
29823  // 2:57:40 - LMT 1920 Jan 3
29824  {
29825  nullptr /*zonePolicy*/,
29826  "LMT" /*format*/,
29827  710 /*offsetCode (10660/15)*/,
29828  10 /*offsetRemainder (10660%15)*/,
29829  0 /*deltaMinutes*/,
29830  1920 /*untilYear*/,
29831  1 /*untilMonth*/,
29832  3 /*untilDay*/,
29833  0 /*untilTimeCode (0/15)*/,
29834  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29835  },
29836  // 3:00 - %z 1930 Jun 21
29837  {
29838  nullptr /*zonePolicy*/,
29839  "" /*format*/,
29840  720 /*offsetCode (10800/15)*/,
29841  0 /*offsetRemainder (10800%15)*/,
29842  0 /*deltaMinutes*/,
29843  1930 /*untilYear*/,
29844  6 /*untilMonth*/,
29845  21 /*untilDay*/,
29846  0 /*untilTimeCode (0/15)*/,
29847  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29848  },
29849  // 4:00 - %z 1961 Nov 11
29850  {
29851  nullptr /*zonePolicy*/,
29852  "" /*format*/,
29853  960 /*offsetCode (14400/15)*/,
29854  0 /*offsetRemainder (14400%15)*/,
29855  0 /*deltaMinutes*/,
29856  1961 /*untilYear*/,
29857  11 /*untilMonth*/,
29858  11 /*untilDay*/,
29859  0 /*untilTimeCode (0/15)*/,
29860  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29861  },
29862  // 4:00 Russia %z 1988 Mar 27 2:00s
29863  {
29864  &kZonePolicyRussia /*zonePolicy*/,
29865  "" /*format*/,
29866  960 /*offsetCode (14400/15)*/,
29867  0 /*offsetRemainder (14400%15)*/,
29868  0 /*deltaMinutes*/,
29869  1988 /*untilYear*/,
29870  3 /*untilMonth*/,
29871  27 /*untilDay*/,
29872  480 /*untilTimeCode (7200/15)*/,
29873  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29874  },
29875  // 3:00 Russia MSK/MSD 1991 Mar 31 2:00s
29876  {
29877  &kZonePolicyRussia /*zonePolicy*/,
29878  "MSK/MSD" /*format*/,
29879  720 /*offsetCode (10800/15)*/,
29880  0 /*offsetRemainder (10800%15)*/,
29881  0 /*deltaMinutes*/,
29882  1991 /*untilYear*/,
29883  3 /*untilMonth*/,
29884  31 /*untilDay*/,
29885  480 /*untilTimeCode (7200/15)*/,
29886  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29887  },
29888  // 4:00 - %z 1992 Mar 29 2:00s
29889  {
29890  nullptr /*zonePolicy*/,
29891  "" /*format*/,
29892  960 /*offsetCode (14400/15)*/,
29893  0 /*offsetRemainder (14400%15)*/,
29894  0 /*deltaMinutes*/,
29895  1992 /*untilYear*/,
29896  3 /*untilMonth*/,
29897  29 /*untilDay*/,
29898  480 /*untilTimeCode (7200/15)*/,
29899  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29900  },
29901  // 3:00 Russia MSK/MSD 2011 Mar 27 2:00s
29902  {
29903  &kZonePolicyRussia /*zonePolicy*/,
29904  "MSK/MSD" /*format*/,
29905  720 /*offsetCode (10800/15)*/,
29906  0 /*offsetRemainder (10800%15)*/,
29907  0 /*deltaMinutes*/,
29908  2011 /*untilYear*/,
29909  3 /*untilMonth*/,
29910  27 /*untilDay*/,
29911  480 /*untilTimeCode (7200/15)*/,
29912  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29913  },
29914  // 4:00 - MSK 2014 Oct 26 2:00s
29915  {
29916  nullptr /*zonePolicy*/,
29917  "MSK" /*format*/,
29918  960 /*offsetCode (14400/15)*/,
29919  0 /*offsetRemainder (14400%15)*/,
29920  0 /*deltaMinutes*/,
29921  2014 /*untilYear*/,
29922  10 /*untilMonth*/,
29923  26 /*untilDay*/,
29924  480 /*untilTimeCode (7200/15)*/,
29925  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29926  },
29927  // 3:00 - MSK 2018 Oct 28 2:00s
29928  {
29929  nullptr /*zonePolicy*/,
29930  "MSK" /*format*/,
29931  720 /*offsetCode (10800/15)*/,
29932  0 /*offsetRemainder (10800%15)*/,
29933  0 /*deltaMinutes*/,
29934  2018 /*untilYear*/,
29935  10 /*untilMonth*/,
29936  28 /*untilDay*/,
29937  480 /*untilTimeCode (7200/15)*/,
29938  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29939  },
29940  // 4:00 - %z 2020 Dec 27 2:00s
29941  {
29942  nullptr /*zonePolicy*/,
29943  "" /*format*/,
29944  960 /*offsetCode (14400/15)*/,
29945  0 /*offsetRemainder (14400%15)*/,
29946  0 /*deltaMinutes*/,
29947  2020 /*untilYear*/,
29948  12 /*untilMonth*/,
29949  27 /*untilDay*/,
29950  480 /*untilTimeCode (7200/15)*/,
29951  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29952  },
29953  // 3:00 - MSK
29954  {
29955  nullptr /*zonePolicy*/,
29956  "MSK" /*format*/,
29957  720 /*offsetCode (10800/15)*/,
29958  0 /*offsetRemainder (10800%15)*/,
29959  0 /*deltaMinutes*/,
29960  32767 /*untilYear*/,
29961  1 /*untilMonth*/,
29962  1 /*untilDay*/,
29963  0 /*untilTimeCode (0/15)*/,
29964  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29965  },
29966 
29967 };
29968 
29969 static const char kZoneNameEurope_Volgograd[] ACE_TIME_PROGMEM = "\x0b" "Volgograd";
29970 
29971 const complete::Info::ZoneInfo kZoneEurope_Volgograd ACE_TIME_PROGMEM = {
29972  kZoneNameEurope_Volgograd /*name*/,
29973  0x3ed0f389 /*zoneId*/,
29974  &kZoneContext /*zoneContext*/,
29975  11 /*numEras*/,
29976  kZoneEraEurope_Volgograd /*eras*/,
29977  nullptr /*targetInfo*/,
29978 };
29979 
29980 //---------------------------------------------------------------------------
29981 // Zone name: Europe/Warsaw
29982 // Eras: 9
29983 //---------------------------------------------------------------------------
29984 
29985 static const complete::Info::ZoneEra kZoneEraEurope_Warsaw[] ACE_TIME_PROGMEM = {
29986  // 1:24:00 - LMT 1880
29987  {
29988  nullptr /*zonePolicy*/,
29989  "LMT" /*format*/,
29990  336 /*offsetCode (5040/15)*/,
29991  0 /*offsetRemainder (5040%15)*/,
29992  0 /*deltaMinutes*/,
29993  1880 /*untilYear*/,
29994  1 /*untilMonth*/,
29995  1 /*untilDay*/,
29996  0 /*untilTimeCode (0/15)*/,
29997  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29998  },
29999  // 1:24:00 - WMT 1915 Aug 5
30000  {
30001  nullptr /*zonePolicy*/,
30002  "WMT" /*format*/,
30003  336 /*offsetCode (5040/15)*/,
30004  0 /*offsetRemainder (5040%15)*/,
30005  0 /*deltaMinutes*/,
30006  1915 /*untilYear*/,
30007  8 /*untilMonth*/,
30008  5 /*untilDay*/,
30009  0 /*untilTimeCode (0/15)*/,
30010  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30011  },
30012  // 1:00 C-Eur CE%sT 1918 Sep 16 3:00
30013  {
30014  &kZonePolicyC_Eur /*zonePolicy*/,
30015  "CE%T" /*format*/,
30016  240 /*offsetCode (3600/15)*/,
30017  0 /*offsetRemainder (3600%15)*/,
30018  0 /*deltaMinutes*/,
30019  1918 /*untilYear*/,
30020  9 /*untilMonth*/,
30021  16 /*untilDay*/,
30022  720 /*untilTimeCode (10800/15)*/,
30023  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30024  },
30025  // 2:00 Poland EE%sT 1922 Jun
30026  {
30027  &kZonePolicyPoland /*zonePolicy*/,
30028  "EE%T" /*format*/,
30029  480 /*offsetCode (7200/15)*/,
30030  0 /*offsetRemainder (7200%15)*/,
30031  0 /*deltaMinutes*/,
30032  1922 /*untilYear*/,
30033  6 /*untilMonth*/,
30034  1 /*untilDay*/,
30035  0 /*untilTimeCode (0/15)*/,
30036  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30037  },
30038  // 1:00 Poland CE%sT 1940 Jun 23 2:00
30039  {
30040  &kZonePolicyPoland /*zonePolicy*/,
30041  "CE%T" /*format*/,
30042  240 /*offsetCode (3600/15)*/,
30043  0 /*offsetRemainder (3600%15)*/,
30044  0 /*deltaMinutes*/,
30045  1940 /*untilYear*/,
30046  6 /*untilMonth*/,
30047  23 /*untilDay*/,
30048  480 /*untilTimeCode (7200/15)*/,
30049  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30050  },
30051  // 1:00 C-Eur CE%sT 1944 Oct
30052  {
30053  &kZonePolicyC_Eur /*zonePolicy*/,
30054  "CE%T" /*format*/,
30055  240 /*offsetCode (3600/15)*/,
30056  0 /*offsetRemainder (3600%15)*/,
30057  0 /*deltaMinutes*/,
30058  1944 /*untilYear*/,
30059  10 /*untilMonth*/,
30060  1 /*untilDay*/,
30061  0 /*untilTimeCode (0/15)*/,
30062  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30063  },
30064  // 1:00 Poland CE%sT 1977
30065  {
30066  &kZonePolicyPoland /*zonePolicy*/,
30067  "CE%T" /*format*/,
30068  240 /*offsetCode (3600/15)*/,
30069  0 /*offsetRemainder (3600%15)*/,
30070  0 /*deltaMinutes*/,
30071  1977 /*untilYear*/,
30072  1 /*untilMonth*/,
30073  1 /*untilDay*/,
30074  0 /*untilTimeCode (0/15)*/,
30075  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30076  },
30077  // 1:00 W-Eur CE%sT 1988
30078  {
30079  &kZonePolicyW_Eur /*zonePolicy*/,
30080  "CE%T" /*format*/,
30081  240 /*offsetCode (3600/15)*/,
30082  0 /*offsetRemainder (3600%15)*/,
30083  0 /*deltaMinutes*/,
30084  1988 /*untilYear*/,
30085  1 /*untilMonth*/,
30086  1 /*untilDay*/,
30087  0 /*untilTimeCode (0/15)*/,
30088  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30089  },
30090  // 1:00 EU CE%sT
30091  {
30092  &kZonePolicyEU /*zonePolicy*/,
30093  "CE%T" /*format*/,
30094  240 /*offsetCode (3600/15)*/,
30095  0 /*offsetRemainder (3600%15)*/,
30096  0 /*deltaMinutes*/,
30097  32767 /*untilYear*/,
30098  1 /*untilMonth*/,
30099  1 /*untilDay*/,
30100  0 /*untilTimeCode (0/15)*/,
30101  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30102  },
30103 
30104 };
30105 
30106 static const char kZoneNameEurope_Warsaw[] ACE_TIME_PROGMEM = "\x0b" "Warsaw";
30107 
30108 const complete::Info::ZoneInfo kZoneEurope_Warsaw ACE_TIME_PROGMEM = {
30109  kZoneNameEurope_Warsaw /*name*/,
30110  0x75185c19 /*zoneId*/,
30111  &kZoneContext /*zoneContext*/,
30112  9 /*numEras*/,
30113  kZoneEraEurope_Warsaw /*eras*/,
30114  nullptr /*targetInfo*/,
30115 };
30116 
30117 //---------------------------------------------------------------------------
30118 // Zone name: Europe/Zurich
30119 // Eras: 4
30120 //---------------------------------------------------------------------------
30121 
30122 static const complete::Info::ZoneEra kZoneEraEurope_Zurich[] ACE_TIME_PROGMEM = {
30123  // 0:34:08 - LMT 1853 Jul 16
30124  {
30125  nullptr /*zonePolicy*/,
30126  "LMT" /*format*/,
30127  136 /*offsetCode (2048/15)*/,
30128  8 /*offsetRemainder (2048%15)*/,
30129  0 /*deltaMinutes*/,
30130  1853 /*untilYear*/,
30131  7 /*untilMonth*/,
30132  16 /*untilDay*/,
30133  0 /*untilTimeCode (0/15)*/,
30134  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30135  },
30136  // 0:29:46 - BMT 1894 Jun
30137  {
30138  nullptr /*zonePolicy*/,
30139  "BMT" /*format*/,
30140  119 /*offsetCode (1786/15)*/,
30141  1 /*offsetRemainder (1786%15)*/,
30142  0 /*deltaMinutes*/,
30143  1894 /*untilYear*/,
30144  6 /*untilMonth*/,
30145  1 /*untilDay*/,
30146  0 /*untilTimeCode (0/15)*/,
30147  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30148  },
30149  // 1:00 Swiss CE%sT 1981
30150  {
30151  &kZonePolicySwiss /*zonePolicy*/,
30152  "CE%T" /*format*/,
30153  240 /*offsetCode (3600/15)*/,
30154  0 /*offsetRemainder (3600%15)*/,
30155  0 /*deltaMinutes*/,
30156  1981 /*untilYear*/,
30157  1 /*untilMonth*/,
30158  1 /*untilDay*/,
30159  0 /*untilTimeCode (0/15)*/,
30160  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30161  },
30162  // 1:00 EU CE%sT
30163  {
30164  &kZonePolicyEU /*zonePolicy*/,
30165  "CE%T" /*format*/,
30166  240 /*offsetCode (3600/15)*/,
30167  0 /*offsetRemainder (3600%15)*/,
30168  0 /*deltaMinutes*/,
30169  32767 /*untilYear*/,
30170  1 /*untilMonth*/,
30171  1 /*untilDay*/,
30172  0 /*untilTimeCode (0/15)*/,
30173  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30174  },
30175 
30176 };
30177 
30178 static const char kZoneNameEurope_Zurich[] ACE_TIME_PROGMEM = "\x0b" "Zurich";
30179 
30180 const complete::Info::ZoneInfo kZoneEurope_Zurich ACE_TIME_PROGMEM = {
30181  kZoneNameEurope_Zurich /*name*/,
30182  0x7d8195b9 /*zoneId*/,
30183  &kZoneContext /*zoneContext*/,
30184  4 /*numEras*/,
30185  kZoneEraEurope_Zurich /*eras*/,
30186  nullptr /*targetInfo*/,
30187 };
30188 
30189 //---------------------------------------------------------------------------
30190 // Zone name: Indian/Chagos
30191 // Eras: 3
30192 //---------------------------------------------------------------------------
30193 
30194 static const complete::Info::ZoneEra kZoneEraIndian_Chagos[] ACE_TIME_PROGMEM = {
30195  // 4:49:40 - LMT 1907
30196  {
30197  nullptr /*zonePolicy*/,
30198  "LMT" /*format*/,
30199  1158 /*offsetCode (17380/15)*/,
30200  10 /*offsetRemainder (17380%15)*/,
30201  0 /*deltaMinutes*/,
30202  1907 /*untilYear*/,
30203  1 /*untilMonth*/,
30204  1 /*untilDay*/,
30205  0 /*untilTimeCode (0/15)*/,
30206  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30207  },
30208  // 5:00 - %z 1996
30209  {
30210  nullptr /*zonePolicy*/,
30211  "" /*format*/,
30212  1200 /*offsetCode (18000/15)*/,
30213  0 /*offsetRemainder (18000%15)*/,
30214  0 /*deltaMinutes*/,
30215  1996 /*untilYear*/,
30216  1 /*untilMonth*/,
30217  1 /*untilDay*/,
30218  0 /*untilTimeCode (0/15)*/,
30219  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30220  },
30221  // 6:00 - %z
30222  {
30223  nullptr /*zonePolicy*/,
30224  "" /*format*/,
30225  1440 /*offsetCode (21600/15)*/,
30226  0 /*offsetRemainder (21600%15)*/,
30227  0 /*deltaMinutes*/,
30228  32767 /*untilYear*/,
30229  1 /*untilMonth*/,
30230  1 /*untilDay*/,
30231  0 /*untilTimeCode (0/15)*/,
30232  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30233  },
30234 
30235 };
30236 
30237 static const char kZoneNameIndian_Chagos[] ACE_TIME_PROGMEM = "\x0c" "Chagos";
30238 
30239 const complete::Info::ZoneInfo kZoneIndian_Chagos ACE_TIME_PROGMEM = {
30240  kZoneNameIndian_Chagos /*name*/,
30241  0x456f7c3c /*zoneId*/,
30242  &kZoneContext /*zoneContext*/,
30243  3 /*numEras*/,
30244  kZoneEraIndian_Chagos /*eras*/,
30245  nullptr /*targetInfo*/,
30246 };
30247 
30248 //---------------------------------------------------------------------------
30249 // Zone name: Indian/Maldives
30250 // Eras: 3
30251 //---------------------------------------------------------------------------
30252 
30253 static const complete::Info::ZoneEra kZoneEraIndian_Maldives[] ACE_TIME_PROGMEM = {
30254  // 4:54:00 - LMT 1880
30255  {
30256  nullptr /*zonePolicy*/,
30257  "LMT" /*format*/,
30258  1176 /*offsetCode (17640/15)*/,
30259  0 /*offsetRemainder (17640%15)*/,
30260  0 /*deltaMinutes*/,
30261  1880 /*untilYear*/,
30262  1 /*untilMonth*/,
30263  1 /*untilDay*/,
30264  0 /*untilTimeCode (0/15)*/,
30265  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30266  },
30267  // 4:54:00 - MMT 1960
30268  {
30269  nullptr /*zonePolicy*/,
30270  "MMT" /*format*/,
30271  1176 /*offsetCode (17640/15)*/,
30272  0 /*offsetRemainder (17640%15)*/,
30273  0 /*deltaMinutes*/,
30274  1960 /*untilYear*/,
30275  1 /*untilMonth*/,
30276  1 /*untilDay*/,
30277  0 /*untilTimeCode (0/15)*/,
30278  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30279  },
30280  // 5:00 - %z
30281  {
30282  nullptr /*zonePolicy*/,
30283  "" /*format*/,
30284  1200 /*offsetCode (18000/15)*/,
30285  0 /*offsetRemainder (18000%15)*/,
30286  0 /*deltaMinutes*/,
30287  32767 /*untilYear*/,
30288  1 /*untilMonth*/,
30289  1 /*untilDay*/,
30290  0 /*untilTimeCode (0/15)*/,
30291  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30292  },
30293 
30294 };
30295 
30296 static const char kZoneNameIndian_Maldives[] ACE_TIME_PROGMEM = "\x0c" "Maldives";
30297 
30298 const complete::Info::ZoneInfo kZoneIndian_Maldives ACE_TIME_PROGMEM = {
30299  kZoneNameIndian_Maldives /*name*/,
30300  0x9869681c /*zoneId*/,
30301  &kZoneContext /*zoneContext*/,
30302  3 /*numEras*/,
30303  kZoneEraIndian_Maldives /*eras*/,
30304  nullptr /*targetInfo*/,
30305 };
30306 
30307 //---------------------------------------------------------------------------
30308 // Zone name: Indian/Mauritius
30309 // Eras: 2
30310 //---------------------------------------------------------------------------
30311 
30312 static const complete::Info::ZoneEra kZoneEraIndian_Mauritius[] ACE_TIME_PROGMEM = {
30313  // 3:50:00 - LMT 1907
30314  {
30315  nullptr /*zonePolicy*/,
30316  "LMT" /*format*/,
30317  920 /*offsetCode (13800/15)*/,
30318  0 /*offsetRemainder (13800%15)*/,
30319  0 /*deltaMinutes*/,
30320  1907 /*untilYear*/,
30321  1 /*untilMonth*/,
30322  1 /*untilDay*/,
30323  0 /*untilTimeCode (0/15)*/,
30324  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30325  },
30326  // 4:00 Mauritius %z
30327  {
30328  &kZonePolicyMauritius /*zonePolicy*/,
30329  "" /*format*/,
30330  960 /*offsetCode (14400/15)*/,
30331  0 /*offsetRemainder (14400%15)*/,
30332  0 /*deltaMinutes*/,
30333  32767 /*untilYear*/,
30334  1 /*untilMonth*/,
30335  1 /*untilDay*/,
30336  0 /*untilTimeCode (0/15)*/,
30337  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30338  },
30339 
30340 };
30341 
30342 static const char kZoneNameIndian_Mauritius[] ACE_TIME_PROGMEM = "\x0c" "Mauritius";
30343 
30344 const complete::Info::ZoneInfo kZoneIndian_Mauritius ACE_TIME_PROGMEM = {
30345  kZoneNameIndian_Mauritius /*name*/,
30346  0x7b09c02a /*zoneId*/,
30347  &kZoneContext /*zoneContext*/,
30348  2 /*numEras*/,
30349  kZoneEraIndian_Mauritius /*eras*/,
30350  nullptr /*targetInfo*/,
30351 };
30352 
30353 //---------------------------------------------------------------------------
30354 // Zone name: Pacific/Apia
30355 // Eras: 5
30356 //---------------------------------------------------------------------------
30357 
30358 static const complete::Info::ZoneEra kZoneEraPacific_Apia[] ACE_TIME_PROGMEM = {
30359  // 12:33:04 - LMT 1892 Jul 5
30360  {
30361  nullptr /*zonePolicy*/,
30362  "LMT" /*format*/,
30363  3012 /*offsetCode (45184/15)*/,
30364  4 /*offsetRemainder (45184%15)*/,
30365  0 /*deltaMinutes*/,
30366  1892 /*untilYear*/,
30367  7 /*untilMonth*/,
30368  5 /*untilDay*/,
30369  0 /*untilTimeCode (0/15)*/,
30370  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30371  },
30372  // -11:26:56 - LMT 1911
30373  {
30374  nullptr /*zonePolicy*/,
30375  "LMT" /*format*/,
30376  -2748 /*offsetCode (-41216/15)*/,
30377  4 /*offsetRemainder (-41216%15)*/,
30378  0 /*deltaMinutes*/,
30379  1911 /*untilYear*/,
30380  1 /*untilMonth*/,
30381  1 /*untilDay*/,
30382  0 /*untilTimeCode (0/15)*/,
30383  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30384  },
30385  // -11:30 - %z 1950
30386  {
30387  nullptr /*zonePolicy*/,
30388  "" /*format*/,
30389  -2760 /*offsetCode (-41400/15)*/,
30390  0 /*offsetRemainder (-41400%15)*/,
30391  0 /*deltaMinutes*/,
30392  1950 /*untilYear*/,
30393  1 /*untilMonth*/,
30394  1 /*untilDay*/,
30395  0 /*untilTimeCode (0/15)*/,
30396  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30397  },
30398  // -11:00 WS %z 2011 Dec 29 24:00
30399  {
30400  &kZonePolicyWS /*zonePolicy*/,
30401  "" /*format*/,
30402  -2640 /*offsetCode (-39600/15)*/,
30403  0 /*offsetRemainder (-39600%15)*/,
30404  0 /*deltaMinutes*/,
30405  2011 /*untilYear*/,
30406  12 /*untilMonth*/,
30407  29 /*untilDay*/,
30408  5760 /*untilTimeCode (86400/15)*/,
30409  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30410  },
30411  // 13:00 WS %z
30412  {
30413  &kZonePolicyWS /*zonePolicy*/,
30414  "" /*format*/,
30415  3120 /*offsetCode (46800/15)*/,
30416  0 /*offsetRemainder (46800%15)*/,
30417  0 /*deltaMinutes*/,
30418  32767 /*untilYear*/,
30419  1 /*untilMonth*/,
30420  1 /*untilDay*/,
30421  0 /*untilTimeCode (0/15)*/,
30422  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30423  },
30424 
30425 };
30426 
30427 static const char kZoneNamePacific_Apia[] ACE_TIME_PROGMEM = "\x0e" "Apia";
30428 
30429 const complete::Info::ZoneInfo kZonePacific_Apia ACE_TIME_PROGMEM = {
30430  kZoneNamePacific_Apia /*name*/,
30431  0x23359b5e /*zoneId*/,
30432  &kZoneContext /*zoneContext*/,
30433  5 /*numEras*/,
30434  kZoneEraPacific_Apia /*eras*/,
30435  nullptr /*targetInfo*/,
30436 };
30437 
30438 //---------------------------------------------------------------------------
30439 // Zone name: Pacific/Auckland
30440 // Eras: 3
30441 //---------------------------------------------------------------------------
30442 
30443 static const complete::Info::ZoneEra kZoneEraPacific_Auckland[] ACE_TIME_PROGMEM = {
30444  // 11:39:04 - LMT 1868 Nov 2
30445  {
30446  nullptr /*zonePolicy*/,
30447  "LMT" /*format*/,
30448  2796 /*offsetCode (41944/15)*/,
30449  4 /*offsetRemainder (41944%15)*/,
30450  0 /*deltaMinutes*/,
30451  1868 /*untilYear*/,
30452  11 /*untilMonth*/,
30453  2 /*untilDay*/,
30454  0 /*untilTimeCode (0/15)*/,
30455  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30456  },
30457  // 11:30 NZ NZ%sT 1946 Jan 1
30458  {
30459  &kZonePolicyNZ /*zonePolicy*/,
30460  "NZ%T" /*format*/,
30461  2760 /*offsetCode (41400/15)*/,
30462  0 /*offsetRemainder (41400%15)*/,
30463  0 /*deltaMinutes*/,
30464  1946 /*untilYear*/,
30465  1 /*untilMonth*/,
30466  1 /*untilDay*/,
30467  0 /*untilTimeCode (0/15)*/,
30468  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30469  },
30470  // 12:00 NZ NZ%sT
30471  {
30472  &kZonePolicyNZ /*zonePolicy*/,
30473  "NZ%T" /*format*/,
30474  2880 /*offsetCode (43200/15)*/,
30475  0 /*offsetRemainder (43200%15)*/,
30476  0 /*deltaMinutes*/,
30477  32767 /*untilYear*/,
30478  1 /*untilMonth*/,
30479  1 /*untilDay*/,
30480  0 /*untilTimeCode (0/15)*/,
30481  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30482  },
30483 
30484 };
30485 
30486 static const char kZoneNamePacific_Auckland[] ACE_TIME_PROGMEM = "\x0e" "Auckland";
30487 
30488 const complete::Info::ZoneInfo kZonePacific_Auckland ACE_TIME_PROGMEM = {
30489  kZoneNamePacific_Auckland /*name*/,
30490  0x25062f86 /*zoneId*/,
30491  &kZoneContext /*zoneContext*/,
30492  3 /*numEras*/,
30493  kZoneEraPacific_Auckland /*eras*/,
30494  nullptr /*targetInfo*/,
30495 };
30496 
30497 //---------------------------------------------------------------------------
30498 // Zone name: Pacific/Bougainville
30499 // Eras: 6
30500 //---------------------------------------------------------------------------
30501 
30502 static const complete::Info::ZoneEra kZoneEraPacific_Bougainville[] ACE_TIME_PROGMEM = {
30503  // 10:22:16 - LMT 1880
30504  {
30505  nullptr /*zonePolicy*/,
30506  "LMT" /*format*/,
30507  2489 /*offsetCode (37336/15)*/,
30508  1 /*offsetRemainder (37336%15)*/,
30509  0 /*deltaMinutes*/,
30510  1880 /*untilYear*/,
30511  1 /*untilMonth*/,
30512  1 /*untilDay*/,
30513  0 /*untilTimeCode (0/15)*/,
30514  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30515  },
30516  // 9:48:32 - PMMT 1895
30517  {
30518  nullptr /*zonePolicy*/,
30519  "PMMT" /*format*/,
30520  2354 /*offsetCode (35312/15)*/,
30521  2 /*offsetRemainder (35312%15)*/,
30522  0 /*deltaMinutes*/,
30523  1895 /*untilYear*/,
30524  1 /*untilMonth*/,
30525  1 /*untilDay*/,
30526  0 /*untilTimeCode (0/15)*/,
30527  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30528  },
30529  // 10:00 - %z 1942 Jul
30530  {
30531  nullptr /*zonePolicy*/,
30532  "" /*format*/,
30533  2400 /*offsetCode (36000/15)*/,
30534  0 /*offsetRemainder (36000%15)*/,
30535  0 /*deltaMinutes*/,
30536  1942 /*untilYear*/,
30537  7 /*untilMonth*/,
30538  1 /*untilDay*/,
30539  0 /*untilTimeCode (0/15)*/,
30540  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30541  },
30542  // 9:00 - %z 1945 Aug 21
30543  {
30544  nullptr /*zonePolicy*/,
30545  "" /*format*/,
30546  2160 /*offsetCode (32400/15)*/,
30547  0 /*offsetRemainder (32400%15)*/,
30548  0 /*deltaMinutes*/,
30549  1945 /*untilYear*/,
30550  8 /*untilMonth*/,
30551  21 /*untilDay*/,
30552  0 /*untilTimeCode (0/15)*/,
30553  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30554  },
30555  // 10:00 - %z 2014 Dec 28 2:00
30556  {
30557  nullptr /*zonePolicy*/,
30558  "" /*format*/,
30559  2400 /*offsetCode (36000/15)*/,
30560  0 /*offsetRemainder (36000%15)*/,
30561  0 /*deltaMinutes*/,
30562  2014 /*untilYear*/,
30563  12 /*untilMonth*/,
30564  28 /*untilDay*/,
30565  480 /*untilTimeCode (7200/15)*/,
30566  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30567  },
30568  // 11:00 - %z
30569  {
30570  nullptr /*zonePolicy*/,
30571  "" /*format*/,
30572  2640 /*offsetCode (39600/15)*/,
30573  0 /*offsetRemainder (39600%15)*/,
30574  0 /*deltaMinutes*/,
30575  32767 /*untilYear*/,
30576  1 /*untilMonth*/,
30577  1 /*untilDay*/,
30578  0 /*untilTimeCode (0/15)*/,
30579  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30580  },
30581 
30582 };
30583 
30584 static const char kZoneNamePacific_Bougainville[] ACE_TIME_PROGMEM = "\x0e" "Bougainville";
30585 
30586 const complete::Info::ZoneInfo kZonePacific_Bougainville ACE_TIME_PROGMEM = {
30587  kZoneNamePacific_Bougainville /*name*/,
30588  0x5e10f7a4 /*zoneId*/,
30589  &kZoneContext /*zoneContext*/,
30590  6 /*numEras*/,
30591  kZoneEraPacific_Bougainville /*eras*/,
30592  nullptr /*targetInfo*/,
30593 };
30594 
30595 //---------------------------------------------------------------------------
30596 // Zone name: Pacific/Chatham
30597 // Eras: 3
30598 //---------------------------------------------------------------------------
30599 
30600 static const complete::Info::ZoneEra kZoneEraPacific_Chatham[] ACE_TIME_PROGMEM = {
30601  // 12:13:48 - LMT 1868 Nov 2
30602  {
30603  nullptr /*zonePolicy*/,
30604  "LMT" /*format*/,
30605  2935 /*offsetCode (44028/15)*/,
30606  3 /*offsetRemainder (44028%15)*/,
30607  0 /*deltaMinutes*/,
30608  1868 /*untilYear*/,
30609  11 /*untilMonth*/,
30610  2 /*untilDay*/,
30611  0 /*untilTimeCode (0/15)*/,
30612  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30613  },
30614  // 12:15 - %z 1946 Jan 1
30615  {
30616  nullptr /*zonePolicy*/,
30617  "" /*format*/,
30618  2940 /*offsetCode (44100/15)*/,
30619  0 /*offsetRemainder (44100%15)*/,
30620  0 /*deltaMinutes*/,
30621  1946 /*untilYear*/,
30622  1 /*untilMonth*/,
30623  1 /*untilDay*/,
30624  0 /*untilTimeCode (0/15)*/,
30625  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30626  },
30627  // 12:45 Chatham %z
30628  {
30629  &kZonePolicyChatham /*zonePolicy*/,
30630  "" /*format*/,
30631  3060 /*offsetCode (45900/15)*/,
30632  0 /*offsetRemainder (45900%15)*/,
30633  0 /*deltaMinutes*/,
30634  32767 /*untilYear*/,
30635  1 /*untilMonth*/,
30636  1 /*untilDay*/,
30637  0 /*untilTimeCode (0/15)*/,
30638  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30639  },
30640 
30641 };
30642 
30643 static const char kZoneNamePacific_Chatham[] ACE_TIME_PROGMEM = "\x0e" "Chatham";
30644 
30645 const complete::Info::ZoneInfo kZonePacific_Chatham ACE_TIME_PROGMEM = {
30646  kZoneNamePacific_Chatham /*name*/,
30647  0x2f0de999 /*zoneId*/,
30648  &kZoneContext /*zoneContext*/,
30649  3 /*numEras*/,
30650  kZoneEraPacific_Chatham /*eras*/,
30651  nullptr /*targetInfo*/,
30652 };
30653 
30654 //---------------------------------------------------------------------------
30655 // Zone name: Pacific/Easter
30656 // Eras: 4
30657 //---------------------------------------------------------------------------
30658 
30659 static const complete::Info::ZoneEra kZoneEraPacific_Easter[] ACE_TIME_PROGMEM = {
30660  // -7:17:28 - LMT 1890
30661  {
30662  nullptr /*zonePolicy*/,
30663  "LMT" /*format*/,
30664  -1750 /*offsetCode (-26248/15)*/,
30665  2 /*offsetRemainder (-26248%15)*/,
30666  0 /*deltaMinutes*/,
30667  1890 /*untilYear*/,
30668  1 /*untilMonth*/,
30669  1 /*untilDay*/,
30670  0 /*untilTimeCode (0/15)*/,
30671  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30672  },
30673  // -7:17:28 - EMT 1932 Sep
30674  {
30675  nullptr /*zonePolicy*/,
30676  "EMT" /*format*/,
30677  -1750 /*offsetCode (-26248/15)*/,
30678  2 /*offsetRemainder (-26248%15)*/,
30679  0 /*deltaMinutes*/,
30680  1932 /*untilYear*/,
30681  9 /*untilMonth*/,
30682  1 /*untilDay*/,
30683  0 /*untilTimeCode (0/15)*/,
30684  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30685  },
30686  // -7:00 Chile %z 1982 Mar 14 3:00u
30687  {
30688  &kZonePolicyChile /*zonePolicy*/,
30689  "" /*format*/,
30690  -1680 /*offsetCode (-25200/15)*/,
30691  0 /*offsetRemainder (-25200%15)*/,
30692  0 /*deltaMinutes*/,
30693  1982 /*untilYear*/,
30694  3 /*untilMonth*/,
30695  14 /*untilDay*/,
30696  720 /*untilTimeCode (10800/15)*/,
30697  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
30698  },
30699  // -6:00 Chile %z
30700  {
30701  &kZonePolicyChile /*zonePolicy*/,
30702  "" /*format*/,
30703  -1440 /*offsetCode (-21600/15)*/,
30704  0 /*offsetRemainder (-21600%15)*/,
30705  0 /*deltaMinutes*/,
30706  32767 /*untilYear*/,
30707  1 /*untilMonth*/,
30708  1 /*untilDay*/,
30709  0 /*untilTimeCode (0/15)*/,
30710  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30711  },
30712 
30713 };
30714 
30715 static const char kZoneNamePacific_Easter[] ACE_TIME_PROGMEM = "\x0e" "Easter";
30716 
30717 const complete::Info::ZoneInfo kZonePacific_Easter ACE_TIME_PROGMEM = {
30718  kZoneNamePacific_Easter /*name*/,
30719  0xcf54f7e7 /*zoneId*/,
30720  &kZoneContext /*zoneContext*/,
30721  4 /*numEras*/,
30722  kZoneEraPacific_Easter /*eras*/,
30723  nullptr /*targetInfo*/,
30724 };
30725 
30726 //---------------------------------------------------------------------------
30727 // Zone name: Pacific/Efate
30728 // Eras: 2
30729 //---------------------------------------------------------------------------
30730 
30731 static const complete::Info::ZoneEra kZoneEraPacific_Efate[] ACE_TIME_PROGMEM = {
30732  // 11:13:16 - LMT 1912 Jan 13
30733  {
30734  nullptr /*zonePolicy*/,
30735  "LMT" /*format*/,
30736  2693 /*offsetCode (40396/15)*/,
30737  1 /*offsetRemainder (40396%15)*/,
30738  0 /*deltaMinutes*/,
30739  1912 /*untilYear*/,
30740  1 /*untilMonth*/,
30741  13 /*untilDay*/,
30742  0 /*untilTimeCode (0/15)*/,
30743  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30744  },
30745  // 11:00 Vanuatu %z
30746  {
30747  &kZonePolicyVanuatu /*zonePolicy*/,
30748  "" /*format*/,
30749  2640 /*offsetCode (39600/15)*/,
30750  0 /*offsetRemainder (39600%15)*/,
30751  0 /*deltaMinutes*/,
30752  32767 /*untilYear*/,
30753  1 /*untilMonth*/,
30754  1 /*untilDay*/,
30755  0 /*untilTimeCode (0/15)*/,
30756  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30757  },
30758 
30759 };
30760 
30761 static const char kZoneNamePacific_Efate[] ACE_TIME_PROGMEM = "\x0e" "Efate";
30762 
30763 const complete::Info::ZoneInfo kZonePacific_Efate ACE_TIME_PROGMEM = {
30764  kZoneNamePacific_Efate /*name*/,
30765  0x8a2bce28 /*zoneId*/,
30766  &kZoneContext /*zoneContext*/,
30767  2 /*numEras*/,
30768  kZoneEraPacific_Efate /*eras*/,
30769  nullptr /*targetInfo*/,
30770 };
30771 
30772 //---------------------------------------------------------------------------
30773 // Zone name: Pacific/Fakaofo
30774 // Eras: 3
30775 //---------------------------------------------------------------------------
30776 
30777 static const complete::Info::ZoneEra kZoneEraPacific_Fakaofo[] ACE_TIME_PROGMEM = {
30778  // -11:24:56 - LMT 1901
30779  {
30780  nullptr /*zonePolicy*/,
30781  "LMT" /*format*/,
30782  -2740 /*offsetCode (-41096/15)*/,
30783  4 /*offsetRemainder (-41096%15)*/,
30784  0 /*deltaMinutes*/,
30785  1901 /*untilYear*/,
30786  1 /*untilMonth*/,
30787  1 /*untilDay*/,
30788  0 /*untilTimeCode (0/15)*/,
30789  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30790  },
30791  // -11:00 - %z 2011 Dec 30
30792  {
30793  nullptr /*zonePolicy*/,
30794  "" /*format*/,
30795  -2640 /*offsetCode (-39600/15)*/,
30796  0 /*offsetRemainder (-39600%15)*/,
30797  0 /*deltaMinutes*/,
30798  2011 /*untilYear*/,
30799  12 /*untilMonth*/,
30800  30 /*untilDay*/,
30801  0 /*untilTimeCode (0/15)*/,
30802  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30803  },
30804  // 13:00 - %z
30805  {
30806  nullptr /*zonePolicy*/,
30807  "" /*format*/,
30808  3120 /*offsetCode (46800/15)*/,
30809  0 /*offsetRemainder (46800%15)*/,
30810  0 /*deltaMinutes*/,
30811  32767 /*untilYear*/,
30812  1 /*untilMonth*/,
30813  1 /*untilDay*/,
30814  0 /*untilTimeCode (0/15)*/,
30815  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30816  },
30817 
30818 };
30819 
30820 static const char kZoneNamePacific_Fakaofo[] ACE_TIME_PROGMEM = "\x0e" "Fakaofo";
30821 
30822 const complete::Info::ZoneInfo kZonePacific_Fakaofo ACE_TIME_PROGMEM = {
30823  kZoneNamePacific_Fakaofo /*name*/,
30824  0x06532bba /*zoneId*/,
30825  &kZoneContext /*zoneContext*/,
30826  3 /*numEras*/,
30827  kZoneEraPacific_Fakaofo /*eras*/,
30828  nullptr /*targetInfo*/,
30829 };
30830 
30831 //---------------------------------------------------------------------------
30832 // Zone name: Pacific/Fiji
30833 // Eras: 2
30834 //---------------------------------------------------------------------------
30835 
30836 static const complete::Info::ZoneEra kZoneEraPacific_Fiji[] ACE_TIME_PROGMEM = {
30837  // 11:55:44 - LMT 1915 Oct 26
30838  {
30839  nullptr /*zonePolicy*/,
30840  "LMT" /*format*/,
30841  2862 /*offsetCode (42944/15)*/,
30842  14 /*offsetRemainder (42944%15)*/,
30843  0 /*deltaMinutes*/,
30844  1915 /*untilYear*/,
30845  10 /*untilMonth*/,
30846  26 /*untilDay*/,
30847  0 /*untilTimeCode (0/15)*/,
30848  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30849  },
30850  // 12:00 Fiji %z
30851  {
30852  &kZonePolicyFiji /*zonePolicy*/,
30853  "" /*format*/,
30854  2880 /*offsetCode (43200/15)*/,
30855  0 /*offsetRemainder (43200%15)*/,
30856  0 /*deltaMinutes*/,
30857  32767 /*untilYear*/,
30858  1 /*untilMonth*/,
30859  1 /*untilDay*/,
30860  0 /*untilTimeCode (0/15)*/,
30861  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30862  },
30863 
30864 };
30865 
30866 static const char kZoneNamePacific_Fiji[] ACE_TIME_PROGMEM = "\x0e" "Fiji";
30867 
30868 const complete::Info::ZoneInfo kZonePacific_Fiji ACE_TIME_PROGMEM = {
30869  kZoneNamePacific_Fiji /*name*/,
30870  0x23383ba5 /*zoneId*/,
30871  &kZoneContext /*zoneContext*/,
30872  2 /*numEras*/,
30873  kZoneEraPacific_Fiji /*eras*/,
30874  nullptr /*targetInfo*/,
30875 };
30876 
30877 //---------------------------------------------------------------------------
30878 // Zone name: Pacific/Galapagos
30879 // Eras: 3
30880 //---------------------------------------------------------------------------
30881 
30882 static const complete::Info::ZoneEra kZoneEraPacific_Galapagos[] ACE_TIME_PROGMEM = {
30883  // -5:58:24 - LMT 1931
30884  {
30885  nullptr /*zonePolicy*/,
30886  "LMT" /*format*/,
30887  -1434 /*offsetCode (-21504/15)*/,
30888  6 /*offsetRemainder (-21504%15)*/,
30889  0 /*deltaMinutes*/,
30890  1931 /*untilYear*/,
30891  1 /*untilMonth*/,
30892  1 /*untilDay*/,
30893  0 /*untilTimeCode (0/15)*/,
30894  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30895  },
30896  // -5:00 - %z 1986
30897  {
30898  nullptr /*zonePolicy*/,
30899  "" /*format*/,
30900  -1200 /*offsetCode (-18000/15)*/,
30901  0 /*offsetRemainder (-18000%15)*/,
30902  0 /*deltaMinutes*/,
30903  1986 /*untilYear*/,
30904  1 /*untilMonth*/,
30905  1 /*untilDay*/,
30906  0 /*untilTimeCode (0/15)*/,
30907  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30908  },
30909  // -6:00 Ecuador %z
30910  {
30911  &kZonePolicyEcuador /*zonePolicy*/,
30912  "" /*format*/,
30913  -1440 /*offsetCode (-21600/15)*/,
30914  0 /*offsetRemainder (-21600%15)*/,
30915  0 /*deltaMinutes*/,
30916  32767 /*untilYear*/,
30917  1 /*untilMonth*/,
30918  1 /*untilDay*/,
30919  0 /*untilTimeCode (0/15)*/,
30920  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30921  },
30922 
30923 };
30924 
30925 static const char kZoneNamePacific_Galapagos[] ACE_TIME_PROGMEM = "\x0e" "Galapagos";
30926 
30927 const complete::Info::ZoneInfo kZonePacific_Galapagos ACE_TIME_PROGMEM = {
30928  kZoneNamePacific_Galapagos /*name*/,
30929  0xa952f752 /*zoneId*/,
30930  &kZoneContext /*zoneContext*/,
30931  3 /*numEras*/,
30932  kZoneEraPacific_Galapagos /*eras*/,
30933  nullptr /*targetInfo*/,
30934 };
30935 
30936 //---------------------------------------------------------------------------
30937 // Zone name: Pacific/Gambier
30938 // Eras: 2
30939 //---------------------------------------------------------------------------
30940 
30941 static const complete::Info::ZoneEra kZoneEraPacific_Gambier[] ACE_TIME_PROGMEM = {
30942  // -8:59:48 - LMT 1912 Oct 1
30943  {
30944  nullptr /*zonePolicy*/,
30945  "LMT" /*format*/,
30946  -2160 /*offsetCode (-32388/15)*/,
30947  12 /*offsetRemainder (-32388%15)*/,
30948  0 /*deltaMinutes*/,
30949  1912 /*untilYear*/,
30950  10 /*untilMonth*/,
30951  1 /*untilDay*/,
30952  0 /*untilTimeCode (0/15)*/,
30953  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30954  },
30955  // -9:00 - %z
30956  {
30957  nullptr /*zonePolicy*/,
30958  "" /*format*/,
30959  -2160 /*offsetCode (-32400/15)*/,
30960  0 /*offsetRemainder (-32400%15)*/,
30961  0 /*deltaMinutes*/,
30962  32767 /*untilYear*/,
30963  1 /*untilMonth*/,
30964  1 /*untilDay*/,
30965  0 /*untilTimeCode (0/15)*/,
30966  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30967  },
30968 
30969 };
30970 
30971 static const char kZoneNamePacific_Gambier[] ACE_TIME_PROGMEM = "\x0e" "Gambier";
30972 
30973 const complete::Info::ZoneInfo kZonePacific_Gambier ACE_TIME_PROGMEM = {
30974  kZoneNamePacific_Gambier /*name*/,
30975  0x53720c3a /*zoneId*/,
30976  &kZoneContext /*zoneContext*/,
30977  2 /*numEras*/,
30978  kZoneEraPacific_Gambier /*eras*/,
30979  nullptr /*targetInfo*/,
30980 };
30981 
30982 //---------------------------------------------------------------------------
30983 // Zone name: Pacific/Guadalcanal
30984 // Eras: 2
30985 //---------------------------------------------------------------------------
30986 
30987 static const complete::Info::ZoneEra kZoneEraPacific_Guadalcanal[] ACE_TIME_PROGMEM = {
30988  // 10:39:48 - LMT 1912 Oct 1
30989  {
30990  nullptr /*zonePolicy*/,
30991  "LMT" /*format*/,
30992  2559 /*offsetCode (38388/15)*/,
30993  3 /*offsetRemainder (38388%15)*/,
30994  0 /*deltaMinutes*/,
30995  1912 /*untilYear*/,
30996  10 /*untilMonth*/,
30997  1 /*untilDay*/,
30998  0 /*untilTimeCode (0/15)*/,
30999  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31000  },
31001  // 11:00 - %z
31002  {
31003  nullptr /*zonePolicy*/,
31004  "" /*format*/,
31005  2640 /*offsetCode (39600/15)*/,
31006  0 /*offsetRemainder (39600%15)*/,
31007  0 /*deltaMinutes*/,
31008  32767 /*untilYear*/,
31009  1 /*untilMonth*/,
31010  1 /*untilDay*/,
31011  0 /*untilTimeCode (0/15)*/,
31012  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31013  },
31014 
31015 };
31016 
31017 static const char kZoneNamePacific_Guadalcanal[] ACE_TIME_PROGMEM = "\x0e" "Guadalcanal";
31018 
31019 const complete::Info::ZoneInfo kZonePacific_Guadalcanal ACE_TIME_PROGMEM = {
31020  kZoneNamePacific_Guadalcanal /*name*/,
31021  0xf4dd25f0 /*zoneId*/,
31022  &kZoneContext /*zoneContext*/,
31023  2 /*numEras*/,
31024  kZoneEraPacific_Guadalcanal /*eras*/,
31025  nullptr /*targetInfo*/,
31026 };
31027 
31028 //---------------------------------------------------------------------------
31029 // Zone name: Pacific/Guam
31030 // Eras: 6
31031 //---------------------------------------------------------------------------
31032 
31033 static const complete::Info::ZoneEra kZoneEraPacific_Guam[] ACE_TIME_PROGMEM = {
31034  // -14:21:00 - LMT 1844 Dec 31
31035  {
31036  nullptr /*zonePolicy*/,
31037  "LMT" /*format*/,
31038  -3444 /*offsetCode (-51660/15)*/,
31039  0 /*offsetRemainder (-51660%15)*/,
31040  0 /*deltaMinutes*/,
31041  1844 /*untilYear*/,
31042  12 /*untilMonth*/,
31043  31 /*untilDay*/,
31044  0 /*untilTimeCode (0/15)*/,
31045  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31046  },
31047  // 9:39:00 - LMT 1901
31048  {
31049  nullptr /*zonePolicy*/,
31050  "LMT" /*format*/,
31051  2316 /*offsetCode (34740/15)*/,
31052  0 /*offsetRemainder (34740%15)*/,
31053  0 /*deltaMinutes*/,
31054  1901 /*untilYear*/,
31055  1 /*untilMonth*/,
31056  1 /*untilDay*/,
31057  0 /*untilTimeCode (0/15)*/,
31058  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31059  },
31060  // 10:00 - GST 1941 Dec 10
31061  {
31062  nullptr /*zonePolicy*/,
31063  "GST" /*format*/,
31064  2400 /*offsetCode (36000/15)*/,
31065  0 /*offsetRemainder (36000%15)*/,
31066  0 /*deltaMinutes*/,
31067  1941 /*untilYear*/,
31068  12 /*untilMonth*/,
31069  10 /*untilDay*/,
31070  0 /*untilTimeCode (0/15)*/,
31071  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31072  },
31073  // 9:00 - %z 1944 Jul 31
31074  {
31075  nullptr /*zonePolicy*/,
31076  "" /*format*/,
31077  2160 /*offsetCode (32400/15)*/,
31078  0 /*offsetRemainder (32400%15)*/,
31079  0 /*deltaMinutes*/,
31080  1944 /*untilYear*/,
31081  7 /*untilMonth*/,
31082  31 /*untilDay*/,
31083  0 /*untilTimeCode (0/15)*/,
31084  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31085  },
31086  // 10:00 Guam G%sT 2000 Dec 23
31087  {
31088  &kZonePolicyGuam /*zonePolicy*/,
31089  "G%T" /*format*/,
31090  2400 /*offsetCode (36000/15)*/,
31091  0 /*offsetRemainder (36000%15)*/,
31092  0 /*deltaMinutes*/,
31093  2000 /*untilYear*/,
31094  12 /*untilMonth*/,
31095  23 /*untilDay*/,
31096  0 /*untilTimeCode (0/15)*/,
31097  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31098  },
31099  // 10:00 - ChST
31100  {
31101  nullptr /*zonePolicy*/,
31102  "ChST" /*format*/,
31103  2400 /*offsetCode (36000/15)*/,
31104  0 /*offsetRemainder (36000%15)*/,
31105  0 /*deltaMinutes*/,
31106  32767 /*untilYear*/,
31107  1 /*untilMonth*/,
31108  1 /*untilDay*/,
31109  0 /*untilTimeCode (0/15)*/,
31110  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31111  },
31112 
31113 };
31114 
31115 static const char kZoneNamePacific_Guam[] ACE_TIME_PROGMEM = "\x0e" "Guam";
31116 
31117 const complete::Info::ZoneInfo kZonePacific_Guam ACE_TIME_PROGMEM = {
31118  kZoneNamePacific_Guam /*name*/,
31119  0x2338f9ed /*zoneId*/,
31120  &kZoneContext /*zoneContext*/,
31121  6 /*numEras*/,
31122  kZoneEraPacific_Guam /*eras*/,
31123  nullptr /*targetInfo*/,
31124 };
31125 
31126 //---------------------------------------------------------------------------
31127 // Zone name: Pacific/Honolulu
31128 // Eras: 5
31129 //---------------------------------------------------------------------------
31130 
31131 static const complete::Info::ZoneEra kZoneEraPacific_Honolulu[] ACE_TIME_PROGMEM = {
31132  // -10:31:26 - LMT 1896 Jan 13 12:00
31133  {
31134  nullptr /*zonePolicy*/,
31135  "LMT" /*format*/,
31136  -2526 /*offsetCode (-37886/15)*/,
31137  4 /*offsetRemainder (-37886%15)*/,
31138  0 /*deltaMinutes*/,
31139  1896 /*untilYear*/,
31140  1 /*untilMonth*/,
31141  13 /*untilDay*/,
31142  2880 /*untilTimeCode (43200/15)*/,
31143  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31144  },
31145  // -10:30 - HST 1933 Apr 30 2:00
31146  {
31147  nullptr /*zonePolicy*/,
31148  "HST" /*format*/,
31149  -2520 /*offsetCode (-37800/15)*/,
31150  0 /*offsetRemainder (-37800%15)*/,
31151  0 /*deltaMinutes*/,
31152  1933 /*untilYear*/,
31153  4 /*untilMonth*/,
31154  30 /*untilDay*/,
31155  480 /*untilTimeCode (7200/15)*/,
31156  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31157  },
31158  // -10:30 1:00 HDT 1933 May 21 12:00
31159  {
31160  nullptr /*zonePolicy*/,
31161  "HDT" /*format*/,
31162  -2520 /*offsetCode (-37800/15)*/,
31163  0 /*offsetRemainder (-37800%15)*/,
31164  60 /*deltaMinutes*/,
31165  1933 /*untilYear*/,
31166  5 /*untilMonth*/,
31167  21 /*untilDay*/,
31168  2880 /*untilTimeCode (43200/15)*/,
31169  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31170  },
31171  // -10:30 US H%sT 1947 Jun 8 2:00
31172  {
31173  &kZonePolicyUS /*zonePolicy*/,
31174  "H%T" /*format*/,
31175  -2520 /*offsetCode (-37800/15)*/,
31176  0 /*offsetRemainder (-37800%15)*/,
31177  0 /*deltaMinutes*/,
31178  1947 /*untilYear*/,
31179  6 /*untilMonth*/,
31180  8 /*untilDay*/,
31181  480 /*untilTimeCode (7200/15)*/,
31182  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31183  },
31184  // -10:00 - HST
31185  {
31186  nullptr /*zonePolicy*/,
31187  "HST" /*format*/,
31188  -2400 /*offsetCode (-36000/15)*/,
31189  0 /*offsetRemainder (-36000%15)*/,
31190  0 /*deltaMinutes*/,
31191  32767 /*untilYear*/,
31192  1 /*untilMonth*/,
31193  1 /*untilDay*/,
31194  0 /*untilTimeCode (0/15)*/,
31195  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31196  },
31197 
31198 };
31199 
31200 static const char kZoneNamePacific_Honolulu[] ACE_TIME_PROGMEM = "\x0e" "Honolulu";
31201 
31202 const complete::Info::ZoneInfo kZonePacific_Honolulu ACE_TIME_PROGMEM = {
31203  kZoneNamePacific_Honolulu /*name*/,
31204  0xe6e70af9 /*zoneId*/,
31205  &kZoneContext /*zoneContext*/,
31206  5 /*numEras*/,
31207  kZoneEraPacific_Honolulu /*eras*/,
31208  nullptr /*targetInfo*/,
31209 };
31210 
31211 //---------------------------------------------------------------------------
31212 // Zone name: Pacific/Kanton
31213 // Eras: 4
31214 //---------------------------------------------------------------------------
31215 
31216 static const complete::Info::ZoneEra kZoneEraPacific_Kanton[] ACE_TIME_PROGMEM = {
31217  // 0 - -00 1937 Aug 31
31218  {
31219  nullptr /*zonePolicy*/,
31220  "-00" /*format*/,
31221  0 /*offsetCode (0/15)*/,
31222  0 /*offsetRemainder (0%15)*/,
31223  0 /*deltaMinutes*/,
31224  1937 /*untilYear*/,
31225  8 /*untilMonth*/,
31226  31 /*untilDay*/,
31227  0 /*untilTimeCode (0/15)*/,
31228  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31229  },
31230  // -12:00 - %z 1979 Oct
31231  {
31232  nullptr /*zonePolicy*/,
31233  "" /*format*/,
31234  -2880 /*offsetCode (-43200/15)*/,
31235  0 /*offsetRemainder (-43200%15)*/,
31236  0 /*deltaMinutes*/,
31237  1979 /*untilYear*/,
31238  10 /*untilMonth*/,
31239  1 /*untilDay*/,
31240  0 /*untilTimeCode (0/15)*/,
31241  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31242  },
31243  // -11:00 - %z 1994 Dec 31
31244  {
31245  nullptr /*zonePolicy*/,
31246  "" /*format*/,
31247  -2640 /*offsetCode (-39600/15)*/,
31248  0 /*offsetRemainder (-39600%15)*/,
31249  0 /*deltaMinutes*/,
31250  1994 /*untilYear*/,
31251  12 /*untilMonth*/,
31252  31 /*untilDay*/,
31253  0 /*untilTimeCode (0/15)*/,
31254  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31255  },
31256  // 13:00 - %z
31257  {
31258  nullptr /*zonePolicy*/,
31259  "" /*format*/,
31260  3120 /*offsetCode (46800/15)*/,
31261  0 /*offsetRemainder (46800%15)*/,
31262  0 /*deltaMinutes*/,
31263  32767 /*untilYear*/,
31264  1 /*untilMonth*/,
31265  1 /*untilDay*/,
31266  0 /*untilTimeCode (0/15)*/,
31267  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31268  },
31269 
31270 };
31271 
31272 static const char kZoneNamePacific_Kanton[] ACE_TIME_PROGMEM = "\x0e" "Kanton";
31273 
31274 const complete::Info::ZoneInfo kZonePacific_Kanton ACE_TIME_PROGMEM = {
31275  kZoneNamePacific_Kanton /*name*/,
31276  0xdd512f0e /*zoneId*/,
31277  &kZoneContext /*zoneContext*/,
31278  4 /*numEras*/,
31279  kZoneEraPacific_Kanton /*eras*/,
31280  nullptr /*targetInfo*/,
31281 };
31282 
31283 //---------------------------------------------------------------------------
31284 // Zone name: Pacific/Kiritimati
31285 // Eras: 4
31286 //---------------------------------------------------------------------------
31287 
31288 static const complete::Info::ZoneEra kZoneEraPacific_Kiritimati[] ACE_TIME_PROGMEM = {
31289  // -10:29:20 - LMT 1901
31290  {
31291  nullptr /*zonePolicy*/,
31292  "LMT" /*format*/,
31293  -2518 /*offsetCode (-37760/15)*/,
31294  10 /*offsetRemainder (-37760%15)*/,
31295  0 /*deltaMinutes*/,
31296  1901 /*untilYear*/,
31297  1 /*untilMonth*/,
31298  1 /*untilDay*/,
31299  0 /*untilTimeCode (0/15)*/,
31300  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31301  },
31302  // -10:40 - %z 1979 Oct
31303  {
31304  nullptr /*zonePolicy*/,
31305  "" /*format*/,
31306  -2560 /*offsetCode (-38400/15)*/,
31307  0 /*offsetRemainder (-38400%15)*/,
31308  0 /*deltaMinutes*/,
31309  1979 /*untilYear*/,
31310  10 /*untilMonth*/,
31311  1 /*untilDay*/,
31312  0 /*untilTimeCode (0/15)*/,
31313  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31314  },
31315  // -10:00 - %z 1994 Dec 31
31316  {
31317  nullptr /*zonePolicy*/,
31318  "" /*format*/,
31319  -2400 /*offsetCode (-36000/15)*/,
31320  0 /*offsetRemainder (-36000%15)*/,
31321  0 /*deltaMinutes*/,
31322  1994 /*untilYear*/,
31323  12 /*untilMonth*/,
31324  31 /*untilDay*/,
31325  0 /*untilTimeCode (0/15)*/,
31326  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31327  },
31328  // 14:00 - %z
31329  {
31330  nullptr /*zonePolicy*/,
31331  "" /*format*/,
31332  3360 /*offsetCode (50400/15)*/,
31333  0 /*offsetRemainder (50400%15)*/,
31334  0 /*deltaMinutes*/,
31335  32767 /*untilYear*/,
31336  1 /*untilMonth*/,
31337  1 /*untilDay*/,
31338  0 /*untilTimeCode (0/15)*/,
31339  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31340  },
31341 
31342 };
31343 
31344 static const char kZoneNamePacific_Kiritimati[] ACE_TIME_PROGMEM = "\x0e" "Kiritimati";
31345 
31346 const complete::Info::ZoneInfo kZonePacific_Kiritimati ACE_TIME_PROGMEM = {
31347  kZoneNamePacific_Kiritimati /*name*/,
31348  0x8305073a /*zoneId*/,
31349  &kZoneContext /*zoneContext*/,
31350  4 /*numEras*/,
31351  kZoneEraPacific_Kiritimati /*eras*/,
31352  nullptr /*targetInfo*/,
31353 };
31354 
31355 //---------------------------------------------------------------------------
31356 // Zone name: Pacific/Kosrae
31357 // Eras: 10
31358 //---------------------------------------------------------------------------
31359 
31360 static const complete::Info::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = {
31361  // -13:08:04 - LMT 1844 Dec 31
31362  {
31363  nullptr /*zonePolicy*/,
31364  "LMT" /*format*/,
31365  -3153 /*offsetCode (-47284/15)*/,
31366  11 /*offsetRemainder (-47284%15)*/,
31367  0 /*deltaMinutes*/,
31368  1844 /*untilYear*/,
31369  12 /*untilMonth*/,
31370  31 /*untilDay*/,
31371  0 /*untilTimeCode (0/15)*/,
31372  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31373  },
31374  // 10:51:56 - LMT 1901
31375  {
31376  nullptr /*zonePolicy*/,
31377  "LMT" /*format*/,
31378  2607 /*offsetCode (39116/15)*/,
31379  11 /*offsetRemainder (39116%15)*/,
31380  0 /*deltaMinutes*/,
31381  1901 /*untilYear*/,
31382  1 /*untilMonth*/,
31383  1 /*untilDay*/,
31384  0 /*untilTimeCode (0/15)*/,
31385  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31386  },
31387  // 11:00 - %z 1914 Oct
31388  {
31389  nullptr /*zonePolicy*/,
31390  "" /*format*/,
31391  2640 /*offsetCode (39600/15)*/,
31392  0 /*offsetRemainder (39600%15)*/,
31393  0 /*deltaMinutes*/,
31394  1914 /*untilYear*/,
31395  10 /*untilMonth*/,
31396  1 /*untilDay*/,
31397  0 /*untilTimeCode (0/15)*/,
31398  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31399  },
31400  // 9:00 - %z 1919 Feb 1
31401  {
31402  nullptr /*zonePolicy*/,
31403  "" /*format*/,
31404  2160 /*offsetCode (32400/15)*/,
31405  0 /*offsetRemainder (32400%15)*/,
31406  0 /*deltaMinutes*/,
31407  1919 /*untilYear*/,
31408  2 /*untilMonth*/,
31409  1 /*untilDay*/,
31410  0 /*untilTimeCode (0/15)*/,
31411  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31412  },
31413  // 11:00 - %z 1937
31414  {
31415  nullptr /*zonePolicy*/,
31416  "" /*format*/,
31417  2640 /*offsetCode (39600/15)*/,
31418  0 /*offsetRemainder (39600%15)*/,
31419  0 /*deltaMinutes*/,
31420  1937 /*untilYear*/,
31421  1 /*untilMonth*/,
31422  1 /*untilDay*/,
31423  0 /*untilTimeCode (0/15)*/,
31424  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31425  },
31426  // 10:00 - %z 1941 Apr 1
31427  {
31428  nullptr /*zonePolicy*/,
31429  "" /*format*/,
31430  2400 /*offsetCode (36000/15)*/,
31431  0 /*offsetRemainder (36000%15)*/,
31432  0 /*deltaMinutes*/,
31433  1941 /*untilYear*/,
31434  4 /*untilMonth*/,
31435  1 /*untilDay*/,
31436  0 /*untilTimeCode (0/15)*/,
31437  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31438  },
31439  // 9:00 - %z 1945 Aug
31440  {
31441  nullptr /*zonePolicy*/,
31442  "" /*format*/,
31443  2160 /*offsetCode (32400/15)*/,
31444  0 /*offsetRemainder (32400%15)*/,
31445  0 /*deltaMinutes*/,
31446  1945 /*untilYear*/,
31447  8 /*untilMonth*/,
31448  1 /*untilDay*/,
31449  0 /*untilTimeCode (0/15)*/,
31450  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31451  },
31452  // 11:00 - %z 1969 Oct
31453  {
31454  nullptr /*zonePolicy*/,
31455  "" /*format*/,
31456  2640 /*offsetCode (39600/15)*/,
31457  0 /*offsetRemainder (39600%15)*/,
31458  0 /*deltaMinutes*/,
31459  1969 /*untilYear*/,
31460  10 /*untilMonth*/,
31461  1 /*untilDay*/,
31462  0 /*untilTimeCode (0/15)*/,
31463  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31464  },
31465  // 12:00 - %z 1999
31466  {
31467  nullptr /*zonePolicy*/,
31468  "" /*format*/,
31469  2880 /*offsetCode (43200/15)*/,
31470  0 /*offsetRemainder (43200%15)*/,
31471  0 /*deltaMinutes*/,
31472  1999 /*untilYear*/,
31473  1 /*untilMonth*/,
31474  1 /*untilDay*/,
31475  0 /*untilTimeCode (0/15)*/,
31476  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31477  },
31478  // 11:00 - %z
31479  {
31480  nullptr /*zonePolicy*/,
31481  "" /*format*/,
31482  2640 /*offsetCode (39600/15)*/,
31483  0 /*offsetRemainder (39600%15)*/,
31484  0 /*deltaMinutes*/,
31485  32767 /*untilYear*/,
31486  1 /*untilMonth*/,
31487  1 /*untilDay*/,
31488  0 /*untilTimeCode (0/15)*/,
31489  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31490  },
31491 
31492 };
31493 
31494 static const char kZoneNamePacific_Kosrae[] ACE_TIME_PROGMEM = "\x0e" "Kosrae";
31495 
31496 const complete::Info::ZoneInfo kZonePacific_Kosrae ACE_TIME_PROGMEM = {
31497  kZoneNamePacific_Kosrae /*name*/,
31498  0xde5139a8 /*zoneId*/,
31499  &kZoneContext /*zoneContext*/,
31500  10 /*numEras*/,
31501  kZoneEraPacific_Kosrae /*eras*/,
31502  nullptr /*targetInfo*/,
31503 };
31504 
31505 //---------------------------------------------------------------------------
31506 // Zone name: Pacific/Kwajalein
31507 // Eras: 7
31508 //---------------------------------------------------------------------------
31509 
31510 static const complete::Info::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = {
31511  // 11:09:20 - LMT 1901
31512  {
31513  nullptr /*zonePolicy*/,
31514  "LMT" /*format*/,
31515  2677 /*offsetCode (40160/15)*/,
31516  5 /*offsetRemainder (40160%15)*/,
31517  0 /*deltaMinutes*/,
31518  1901 /*untilYear*/,
31519  1 /*untilMonth*/,
31520  1 /*untilDay*/,
31521  0 /*untilTimeCode (0/15)*/,
31522  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31523  },
31524  // 11:00 - %z 1937
31525  {
31526  nullptr /*zonePolicy*/,
31527  "" /*format*/,
31528  2640 /*offsetCode (39600/15)*/,
31529  0 /*offsetRemainder (39600%15)*/,
31530  0 /*deltaMinutes*/,
31531  1937 /*untilYear*/,
31532  1 /*untilMonth*/,
31533  1 /*untilDay*/,
31534  0 /*untilTimeCode (0/15)*/,
31535  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31536  },
31537  // 10:00 - %z 1941 Apr 1
31538  {
31539  nullptr /*zonePolicy*/,
31540  "" /*format*/,
31541  2400 /*offsetCode (36000/15)*/,
31542  0 /*offsetRemainder (36000%15)*/,
31543  0 /*deltaMinutes*/,
31544  1941 /*untilYear*/,
31545  4 /*untilMonth*/,
31546  1 /*untilDay*/,
31547  0 /*untilTimeCode (0/15)*/,
31548  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31549  },
31550  // 9:00 - %z 1944 Feb 6
31551  {
31552  nullptr /*zonePolicy*/,
31553  "" /*format*/,
31554  2160 /*offsetCode (32400/15)*/,
31555  0 /*offsetRemainder (32400%15)*/,
31556  0 /*deltaMinutes*/,
31557  1944 /*untilYear*/,
31558  2 /*untilMonth*/,
31559  6 /*untilDay*/,
31560  0 /*untilTimeCode (0/15)*/,
31561  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31562  },
31563  // 11:00 - %z 1969 Oct
31564  {
31565  nullptr /*zonePolicy*/,
31566  "" /*format*/,
31567  2640 /*offsetCode (39600/15)*/,
31568  0 /*offsetRemainder (39600%15)*/,
31569  0 /*deltaMinutes*/,
31570  1969 /*untilYear*/,
31571  10 /*untilMonth*/,
31572  1 /*untilDay*/,
31573  0 /*untilTimeCode (0/15)*/,
31574  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31575  },
31576  // -12:00 - %z 1993 Aug 20 24:00
31577  {
31578  nullptr /*zonePolicy*/,
31579  "" /*format*/,
31580  -2880 /*offsetCode (-43200/15)*/,
31581  0 /*offsetRemainder (-43200%15)*/,
31582  0 /*deltaMinutes*/,
31583  1993 /*untilYear*/,
31584  8 /*untilMonth*/,
31585  20 /*untilDay*/,
31586  5760 /*untilTimeCode (86400/15)*/,
31587  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31588  },
31589  // 12:00 - %z
31590  {
31591  nullptr /*zonePolicy*/,
31592  "" /*format*/,
31593  2880 /*offsetCode (43200/15)*/,
31594  0 /*offsetRemainder (43200%15)*/,
31595  0 /*deltaMinutes*/,
31596  32767 /*untilYear*/,
31597  1 /*untilMonth*/,
31598  1 /*untilDay*/,
31599  0 /*untilTimeCode (0/15)*/,
31600  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31601  },
31602 
31603 };
31604 
31605 static const char kZoneNamePacific_Kwajalein[] ACE_TIME_PROGMEM = "\x0e" "Kwajalein";
31606 
31607 const complete::Info::ZoneInfo kZonePacific_Kwajalein ACE_TIME_PROGMEM = {
31608  kZoneNamePacific_Kwajalein /*name*/,
31609  0x8e216759 /*zoneId*/,
31610  &kZoneContext /*zoneContext*/,
31611  7 /*numEras*/,
31612  kZoneEraPacific_Kwajalein /*eras*/,
31613  nullptr /*targetInfo*/,
31614 };
31615 
31616 //---------------------------------------------------------------------------
31617 // Zone name: Pacific/Marquesas
31618 // Eras: 2
31619 //---------------------------------------------------------------------------
31620 
31621 static const complete::Info::ZoneEra kZoneEraPacific_Marquesas[] ACE_TIME_PROGMEM = {
31622  // -9:18:00 - LMT 1912 Oct 1
31623  {
31624  nullptr /*zonePolicy*/,
31625  "LMT" /*format*/,
31626  -2232 /*offsetCode (-33480/15)*/,
31627  0 /*offsetRemainder (-33480%15)*/,
31628  0 /*deltaMinutes*/,
31629  1912 /*untilYear*/,
31630  10 /*untilMonth*/,
31631  1 /*untilDay*/,
31632  0 /*untilTimeCode (0/15)*/,
31633  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31634  },
31635  // -9:30 - %z
31636  {
31637  nullptr /*zonePolicy*/,
31638  "" /*format*/,
31639  -2280 /*offsetCode (-34200/15)*/,
31640  0 /*offsetRemainder (-34200%15)*/,
31641  0 /*deltaMinutes*/,
31642  32767 /*untilYear*/,
31643  1 /*untilMonth*/,
31644  1 /*untilDay*/,
31645  0 /*untilTimeCode (0/15)*/,
31646  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31647  },
31648 
31649 };
31650 
31651 static const char kZoneNamePacific_Marquesas[] ACE_TIME_PROGMEM = "\x0e" "Marquesas";
31652 
31653 const complete::Info::ZoneInfo kZonePacific_Marquesas ACE_TIME_PROGMEM = {
31654  kZoneNamePacific_Marquesas /*name*/,
31655  0x57ca7135 /*zoneId*/,
31656  &kZoneContext /*zoneContext*/,
31657  2 /*numEras*/,
31658  kZoneEraPacific_Marquesas /*eras*/,
31659  nullptr /*targetInfo*/,
31660 };
31661 
31662 //---------------------------------------------------------------------------
31663 // Zone name: Pacific/Nauru
31664 // Eras: 5
31665 //---------------------------------------------------------------------------
31666 
31667 static const complete::Info::ZoneEra kZoneEraPacific_Nauru[] ACE_TIME_PROGMEM = {
31668  // 11:07:40 - LMT 1921 Jan 15
31669  {
31670  nullptr /*zonePolicy*/,
31671  "LMT" /*format*/,
31672  2670 /*offsetCode (40060/15)*/,
31673  10 /*offsetRemainder (40060%15)*/,
31674  0 /*deltaMinutes*/,
31675  1921 /*untilYear*/,
31676  1 /*untilMonth*/,
31677  15 /*untilDay*/,
31678  0 /*untilTimeCode (0/15)*/,
31679  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31680  },
31681  // 11:30 - %z 1942 Aug 29
31682  {
31683  nullptr /*zonePolicy*/,
31684  "" /*format*/,
31685  2760 /*offsetCode (41400/15)*/,
31686  0 /*offsetRemainder (41400%15)*/,
31687  0 /*deltaMinutes*/,
31688  1942 /*untilYear*/,
31689  8 /*untilMonth*/,
31690  29 /*untilDay*/,
31691  0 /*untilTimeCode (0/15)*/,
31692  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31693  },
31694  // 9:00 - %z 1945 Sep 8
31695  {
31696  nullptr /*zonePolicy*/,
31697  "" /*format*/,
31698  2160 /*offsetCode (32400/15)*/,
31699  0 /*offsetRemainder (32400%15)*/,
31700  0 /*deltaMinutes*/,
31701  1945 /*untilYear*/,
31702  9 /*untilMonth*/,
31703  8 /*untilDay*/,
31704  0 /*untilTimeCode (0/15)*/,
31705  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31706  },
31707  // 11:30 - %z 1979 Feb 10 2:00
31708  {
31709  nullptr /*zonePolicy*/,
31710  "" /*format*/,
31711  2760 /*offsetCode (41400/15)*/,
31712  0 /*offsetRemainder (41400%15)*/,
31713  0 /*deltaMinutes*/,
31714  1979 /*untilYear*/,
31715  2 /*untilMonth*/,
31716  10 /*untilDay*/,
31717  480 /*untilTimeCode (7200/15)*/,
31718  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31719  },
31720  // 12:00 - %z
31721  {
31722  nullptr /*zonePolicy*/,
31723  "" /*format*/,
31724  2880 /*offsetCode (43200/15)*/,
31725  0 /*offsetRemainder (43200%15)*/,
31726  0 /*deltaMinutes*/,
31727  32767 /*untilYear*/,
31728  1 /*untilMonth*/,
31729  1 /*untilDay*/,
31730  0 /*untilTimeCode (0/15)*/,
31731  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31732  },
31733 
31734 };
31735 
31736 static const char kZoneNamePacific_Nauru[] ACE_TIME_PROGMEM = "\x0e" "Nauru";
31737 
31738 const complete::Info::ZoneInfo kZonePacific_Nauru ACE_TIME_PROGMEM = {
31739  kZoneNamePacific_Nauru /*name*/,
31740  0x8acc41ae /*zoneId*/,
31741  &kZoneContext /*zoneContext*/,
31742  5 /*numEras*/,
31743  kZoneEraPacific_Nauru /*eras*/,
31744  nullptr /*targetInfo*/,
31745 };
31746 
31747 //---------------------------------------------------------------------------
31748 // Zone name: Pacific/Niue
31749 // Eras: 3
31750 //---------------------------------------------------------------------------
31751 
31752 static const complete::Info::ZoneEra kZoneEraPacific_Niue[] ACE_TIME_PROGMEM = {
31753  // -11:19:40 - LMT 1952 Oct 16
31754  {
31755  nullptr /*zonePolicy*/,
31756  "LMT" /*format*/,
31757  -2719 /*offsetCode (-40780/15)*/,
31758  5 /*offsetRemainder (-40780%15)*/,
31759  0 /*deltaMinutes*/,
31760  1952 /*untilYear*/,
31761  10 /*untilMonth*/,
31762  16 /*untilDay*/,
31763  0 /*untilTimeCode (0/15)*/,
31764  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31765  },
31766  // -11:20 - %z 1964 Jul
31767  {
31768  nullptr /*zonePolicy*/,
31769  "" /*format*/,
31770  -2720 /*offsetCode (-40800/15)*/,
31771  0 /*offsetRemainder (-40800%15)*/,
31772  0 /*deltaMinutes*/,
31773  1964 /*untilYear*/,
31774  7 /*untilMonth*/,
31775  1 /*untilDay*/,
31776  0 /*untilTimeCode (0/15)*/,
31777  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31778  },
31779  // -11:00 - %z
31780  {
31781  nullptr /*zonePolicy*/,
31782  "" /*format*/,
31783  -2640 /*offsetCode (-39600/15)*/,
31784  0 /*offsetRemainder (-39600%15)*/,
31785  0 /*deltaMinutes*/,
31786  32767 /*untilYear*/,
31787  1 /*untilMonth*/,
31788  1 /*untilDay*/,
31789  0 /*untilTimeCode (0/15)*/,
31790  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31791  },
31792 
31793 };
31794 
31795 static const char kZoneNamePacific_Niue[] ACE_TIME_PROGMEM = "\x0e" "Niue";
31796 
31797 const complete::Info::ZoneInfo kZonePacific_Niue ACE_TIME_PROGMEM = {
31798  kZoneNamePacific_Niue /*name*/,
31799  0x233ca014 /*zoneId*/,
31800  &kZoneContext /*zoneContext*/,
31801  3 /*numEras*/,
31802  kZoneEraPacific_Niue /*eras*/,
31803  nullptr /*targetInfo*/,
31804 };
31805 
31806 //---------------------------------------------------------------------------
31807 // Zone name: Pacific/Norfolk
31808 // Eras: 7
31809 //---------------------------------------------------------------------------
31810 
31811 static const complete::Info::ZoneEra kZoneEraPacific_Norfolk[] ACE_TIME_PROGMEM = {
31812  // 11:11:52 - LMT 1901
31813  {
31814  nullptr /*zonePolicy*/,
31815  "LMT" /*format*/,
31816  2687 /*offsetCode (40312/15)*/,
31817  7 /*offsetRemainder (40312%15)*/,
31818  0 /*deltaMinutes*/,
31819  1901 /*untilYear*/,
31820  1 /*untilMonth*/,
31821  1 /*untilDay*/,
31822  0 /*untilTimeCode (0/15)*/,
31823  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31824  },
31825  // 11:12 - %z 1951
31826  {
31827  nullptr /*zonePolicy*/,
31828  "" /*format*/,
31829  2688 /*offsetCode (40320/15)*/,
31830  0 /*offsetRemainder (40320%15)*/,
31831  0 /*deltaMinutes*/,
31832  1951 /*untilYear*/,
31833  1 /*untilMonth*/,
31834  1 /*untilDay*/,
31835  0 /*untilTimeCode (0/15)*/,
31836  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31837  },
31838  // 11:30 - %z 1974 Oct 27 02:00s
31839  {
31840  nullptr /*zonePolicy*/,
31841  "" /*format*/,
31842  2760 /*offsetCode (41400/15)*/,
31843  0 /*offsetRemainder (41400%15)*/,
31844  0 /*deltaMinutes*/,
31845  1974 /*untilYear*/,
31846  10 /*untilMonth*/,
31847  27 /*untilDay*/,
31848  480 /*untilTimeCode (7200/15)*/,
31849  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
31850  },
31851  // 11:30 1:00 %z 1975 Mar 2 02:00s
31852  {
31853  nullptr /*zonePolicy*/,
31854  "" /*format*/,
31855  2760 /*offsetCode (41400/15)*/,
31856  0 /*offsetRemainder (41400%15)*/,
31857  60 /*deltaMinutes*/,
31858  1975 /*untilYear*/,
31859  3 /*untilMonth*/,
31860  2 /*untilDay*/,
31861  480 /*untilTimeCode (7200/15)*/,
31862  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
31863  },
31864  // 11:30 - %z 2015 Oct 4 02:00s
31865  {
31866  nullptr /*zonePolicy*/,
31867  "" /*format*/,
31868  2760 /*offsetCode (41400/15)*/,
31869  0 /*offsetRemainder (41400%15)*/,
31870  0 /*deltaMinutes*/,
31871  2015 /*untilYear*/,
31872  10 /*untilMonth*/,
31873  4 /*untilDay*/,
31874  480 /*untilTimeCode (7200/15)*/,
31875  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
31876  },
31877  // 11:00 - %z 2019 Jul
31878  {
31879  nullptr /*zonePolicy*/,
31880  "" /*format*/,
31881  2640 /*offsetCode (39600/15)*/,
31882  0 /*offsetRemainder (39600%15)*/,
31883  0 /*deltaMinutes*/,
31884  2019 /*untilYear*/,
31885  7 /*untilMonth*/,
31886  1 /*untilDay*/,
31887  0 /*untilTimeCode (0/15)*/,
31888  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31889  },
31890  // 11:00 AN %z
31891  {
31892  &kZonePolicyAN /*zonePolicy*/,
31893  "" /*format*/,
31894  2640 /*offsetCode (39600/15)*/,
31895  0 /*offsetRemainder (39600%15)*/,
31896  0 /*deltaMinutes*/,
31897  32767 /*untilYear*/,
31898  1 /*untilMonth*/,
31899  1 /*untilDay*/,
31900  0 /*untilTimeCode (0/15)*/,
31901  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31902  },
31903 
31904 };
31905 
31906 static const char kZoneNamePacific_Norfolk[] ACE_TIME_PROGMEM = "\x0e" "Norfolk";
31907 
31908 const complete::Info::ZoneInfo kZonePacific_Norfolk ACE_TIME_PROGMEM = {
31909  kZoneNamePacific_Norfolk /*name*/,
31910  0x8f4eb4be /*zoneId*/,
31911  &kZoneContext /*zoneContext*/,
31912  7 /*numEras*/,
31913  kZoneEraPacific_Norfolk /*eras*/,
31914  nullptr /*targetInfo*/,
31915 };
31916 
31917 //---------------------------------------------------------------------------
31918 // Zone name: Pacific/Noumea
31919 // Eras: 2
31920 //---------------------------------------------------------------------------
31921 
31922 static const complete::Info::ZoneEra kZoneEraPacific_Noumea[] ACE_TIME_PROGMEM = {
31923  // 11:05:48 - LMT 1912 Jan 13
31924  {
31925  nullptr /*zonePolicy*/,
31926  "LMT" /*format*/,
31927  2663 /*offsetCode (39948/15)*/,
31928  3 /*offsetRemainder (39948%15)*/,
31929  0 /*deltaMinutes*/,
31930  1912 /*untilYear*/,
31931  1 /*untilMonth*/,
31932  13 /*untilDay*/,
31933  0 /*untilTimeCode (0/15)*/,
31934  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31935  },
31936  // 11:00 NC %z
31937  {
31938  &kZonePolicyNC /*zonePolicy*/,
31939  "" /*format*/,
31940  2640 /*offsetCode (39600/15)*/,
31941  0 /*offsetRemainder (39600%15)*/,
31942  0 /*deltaMinutes*/,
31943  32767 /*untilYear*/,
31944  1 /*untilMonth*/,
31945  1 /*untilDay*/,
31946  0 /*untilTimeCode (0/15)*/,
31947  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31948  },
31949 
31950 };
31951 
31952 static const char kZoneNamePacific_Noumea[] ACE_TIME_PROGMEM = "\x0e" "Noumea";
31953 
31954 const complete::Info::ZoneInfo kZonePacific_Noumea ACE_TIME_PROGMEM = {
31955  kZoneNamePacific_Noumea /*name*/,
31956  0xe551b788 /*zoneId*/,
31957  &kZoneContext /*zoneContext*/,
31958  2 /*numEras*/,
31959  kZoneEraPacific_Noumea /*eras*/,
31960  nullptr /*targetInfo*/,
31961 };
31962 
31963 //---------------------------------------------------------------------------
31964 // Zone name: Pacific/Pago_Pago
31965 // Eras: 3
31966 //---------------------------------------------------------------------------
31967 
31968 static const complete::Info::ZoneEra kZoneEraPacific_Pago_Pago[] ACE_TIME_PROGMEM = {
31969  // 12:37:12 - LMT 1892 Jul 5
31970  {
31971  nullptr /*zonePolicy*/,
31972  "LMT" /*format*/,
31973  3028 /*offsetCode (45432/15)*/,
31974  12 /*offsetRemainder (45432%15)*/,
31975  0 /*deltaMinutes*/,
31976  1892 /*untilYear*/,
31977  7 /*untilMonth*/,
31978  5 /*untilDay*/,
31979  0 /*untilTimeCode (0/15)*/,
31980  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31981  },
31982  // -11:22:48 - LMT 1911
31983  {
31984  nullptr /*zonePolicy*/,
31985  "LMT" /*format*/,
31986  -2732 /*offsetCode (-40968/15)*/,
31987  12 /*offsetRemainder (-40968%15)*/,
31988  0 /*deltaMinutes*/,
31989  1911 /*untilYear*/,
31990  1 /*untilMonth*/,
31991  1 /*untilDay*/,
31992  0 /*untilTimeCode (0/15)*/,
31993  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31994  },
31995  // -11:00 - SST
31996  {
31997  nullptr /*zonePolicy*/,
31998  "SST" /*format*/,
31999  -2640 /*offsetCode (-39600/15)*/,
32000  0 /*offsetRemainder (-39600%15)*/,
32001  0 /*deltaMinutes*/,
32002  32767 /*untilYear*/,
32003  1 /*untilMonth*/,
32004  1 /*untilDay*/,
32005  0 /*untilTimeCode (0/15)*/,
32006  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32007  },
32008 
32009 };
32010 
32011 static const char kZoneNamePacific_Pago_Pago[] ACE_TIME_PROGMEM = "\x0e" "Pago_Pago";
32012 
32013 const complete::Info::ZoneInfo kZonePacific_Pago_Pago ACE_TIME_PROGMEM = {
32014  kZoneNamePacific_Pago_Pago /*name*/,
32015  0x603aebd0 /*zoneId*/,
32016  &kZoneContext /*zoneContext*/,
32017  3 /*numEras*/,
32018  kZoneEraPacific_Pago_Pago /*eras*/,
32019  nullptr /*targetInfo*/,
32020 };
32021 
32022 //---------------------------------------------------------------------------
32023 // Zone name: Pacific/Palau
32024 // Eras: 3
32025 //---------------------------------------------------------------------------
32026 
32027 static const complete::Info::ZoneEra kZoneEraPacific_Palau[] ACE_TIME_PROGMEM = {
32028  // -15:02:04 - LMT 1844 Dec 31
32029  {
32030  nullptr /*zonePolicy*/,
32031  "LMT" /*format*/,
32032  -3609 /*offsetCode (-54124/15)*/,
32033  11 /*offsetRemainder (-54124%15)*/,
32034  0 /*deltaMinutes*/,
32035  1844 /*untilYear*/,
32036  12 /*untilMonth*/,
32037  31 /*untilDay*/,
32038  0 /*untilTimeCode (0/15)*/,
32039  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32040  },
32041  // 8:57:56 - LMT 1901
32042  {
32043  nullptr /*zonePolicy*/,
32044  "LMT" /*format*/,
32045  2151 /*offsetCode (32276/15)*/,
32046  11 /*offsetRemainder (32276%15)*/,
32047  0 /*deltaMinutes*/,
32048  1901 /*untilYear*/,
32049  1 /*untilMonth*/,
32050  1 /*untilDay*/,
32051  0 /*untilTimeCode (0/15)*/,
32052  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32053  },
32054  // 9:00 - %z
32055  {
32056  nullptr /*zonePolicy*/,
32057  "" /*format*/,
32058  2160 /*offsetCode (32400/15)*/,
32059  0 /*offsetRemainder (32400%15)*/,
32060  0 /*deltaMinutes*/,
32061  32767 /*untilYear*/,
32062  1 /*untilMonth*/,
32063  1 /*untilDay*/,
32064  0 /*untilTimeCode (0/15)*/,
32065  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32066  },
32067 
32068 };
32069 
32070 static const char kZoneNamePacific_Palau[] ACE_TIME_PROGMEM = "\x0e" "Palau";
32071 
32072 const complete::Info::ZoneInfo kZonePacific_Palau ACE_TIME_PROGMEM = {
32073  kZoneNamePacific_Palau /*name*/,
32074  0x8af04a36 /*zoneId*/,
32075  &kZoneContext /*zoneContext*/,
32076  3 /*numEras*/,
32077  kZoneEraPacific_Palau /*eras*/,
32078  nullptr /*targetInfo*/,
32079 };
32080 
32081 //---------------------------------------------------------------------------
32082 // Zone name: Pacific/Pitcairn
32083 // Eras: 3
32084 //---------------------------------------------------------------------------
32085 
32086 static const complete::Info::ZoneEra kZoneEraPacific_Pitcairn[] ACE_TIME_PROGMEM = {
32087  // -8:40:20 - LMT 1901
32088  {
32089  nullptr /*zonePolicy*/,
32090  "LMT" /*format*/,
32091  -2082 /*offsetCode (-31220/15)*/,
32092  10 /*offsetRemainder (-31220%15)*/,
32093  0 /*deltaMinutes*/,
32094  1901 /*untilYear*/,
32095  1 /*untilMonth*/,
32096  1 /*untilDay*/,
32097  0 /*untilTimeCode (0/15)*/,
32098  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32099  },
32100  // -8:30 - %z 1998 Apr 27 0:00
32101  {
32102  nullptr /*zonePolicy*/,
32103  "" /*format*/,
32104  -2040 /*offsetCode (-30600/15)*/,
32105  0 /*offsetRemainder (-30600%15)*/,
32106  0 /*deltaMinutes*/,
32107  1998 /*untilYear*/,
32108  4 /*untilMonth*/,
32109  27 /*untilDay*/,
32110  0 /*untilTimeCode (0/15)*/,
32111  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32112  },
32113  // -8:00 - %z
32114  {
32115  nullptr /*zonePolicy*/,
32116  "" /*format*/,
32117  -1920 /*offsetCode (-28800/15)*/,
32118  0 /*offsetRemainder (-28800%15)*/,
32119  0 /*deltaMinutes*/,
32120  32767 /*untilYear*/,
32121  1 /*untilMonth*/,
32122  1 /*untilDay*/,
32123  0 /*untilTimeCode (0/15)*/,
32124  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32125  },
32126 
32127 };
32128 
32129 static const char kZoneNamePacific_Pitcairn[] ACE_TIME_PROGMEM = "\x0e" "Pitcairn";
32130 
32131 const complete::Info::ZoneInfo kZonePacific_Pitcairn ACE_TIME_PROGMEM = {
32132  kZoneNamePacific_Pitcairn /*name*/,
32133  0x8837d8bd /*zoneId*/,
32134  &kZoneContext /*zoneContext*/,
32135  3 /*numEras*/,
32136  kZoneEraPacific_Pitcairn /*eras*/,
32137  nullptr /*targetInfo*/,
32138 };
32139 
32140 //---------------------------------------------------------------------------
32141 // Zone name: Pacific/Port_Moresby
32142 // Eras: 3
32143 //---------------------------------------------------------------------------
32144 
32145 static const complete::Info::ZoneEra kZoneEraPacific_Port_Moresby[] ACE_TIME_PROGMEM = {
32146  // 9:48:40 - LMT 1880
32147  {
32148  nullptr /*zonePolicy*/,
32149  "LMT" /*format*/,
32150  2354 /*offsetCode (35320/15)*/,
32151  10 /*offsetRemainder (35320%15)*/,
32152  0 /*deltaMinutes*/,
32153  1880 /*untilYear*/,
32154  1 /*untilMonth*/,
32155  1 /*untilDay*/,
32156  0 /*untilTimeCode (0/15)*/,
32157  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32158  },
32159  // 9:48:32 - PMMT 1895
32160  {
32161  nullptr /*zonePolicy*/,
32162  "PMMT" /*format*/,
32163  2354 /*offsetCode (35312/15)*/,
32164  2 /*offsetRemainder (35312%15)*/,
32165  0 /*deltaMinutes*/,
32166  1895 /*untilYear*/,
32167  1 /*untilMonth*/,
32168  1 /*untilDay*/,
32169  0 /*untilTimeCode (0/15)*/,
32170  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32171  },
32172  // 10:00 - %z
32173  {
32174  nullptr /*zonePolicy*/,
32175  "" /*format*/,
32176  2400 /*offsetCode (36000/15)*/,
32177  0 /*offsetRemainder (36000%15)*/,
32178  0 /*deltaMinutes*/,
32179  32767 /*untilYear*/,
32180  1 /*untilMonth*/,
32181  1 /*untilDay*/,
32182  0 /*untilTimeCode (0/15)*/,
32183  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32184  },
32185 
32186 };
32187 
32188 static const char kZoneNamePacific_Port_Moresby[] ACE_TIME_PROGMEM = "\x0e" "Port_Moresby";
32189 
32190 const complete::Info::ZoneInfo kZonePacific_Port_Moresby ACE_TIME_PROGMEM = {
32191  kZoneNamePacific_Port_Moresby /*name*/,
32192  0xa7ba7f68 /*zoneId*/,
32193  &kZoneContext /*zoneContext*/,
32194  3 /*numEras*/,
32195  kZoneEraPacific_Port_Moresby /*eras*/,
32196  nullptr /*targetInfo*/,
32197 };
32198 
32199 //---------------------------------------------------------------------------
32200 // Zone name: Pacific/Rarotonga
32201 // Eras: 4
32202 //---------------------------------------------------------------------------
32203 
32204 static const complete::Info::ZoneEra kZoneEraPacific_Rarotonga[] ACE_TIME_PROGMEM = {
32205  // 13:20:56 - LMT 1899 Dec 26
32206  {
32207  nullptr /*zonePolicy*/,
32208  "LMT" /*format*/,
32209  3203 /*offsetCode (48056/15)*/,
32210  11 /*offsetRemainder (48056%15)*/,
32211  0 /*deltaMinutes*/,
32212  1899 /*untilYear*/,
32213  12 /*untilMonth*/,
32214  26 /*untilDay*/,
32215  0 /*untilTimeCode (0/15)*/,
32216  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32217  },
32218  // -10:39:04 - LMT 1952 Oct 16
32219  {
32220  nullptr /*zonePolicy*/,
32221  "LMT" /*format*/,
32222  -2557 /*offsetCode (-38344/15)*/,
32223  11 /*offsetRemainder (-38344%15)*/,
32224  0 /*deltaMinutes*/,
32225  1952 /*untilYear*/,
32226  10 /*untilMonth*/,
32227  16 /*untilDay*/,
32228  0 /*untilTimeCode (0/15)*/,
32229  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32230  },
32231  // -10:30 - %z 1978 Nov 12
32232  {
32233  nullptr /*zonePolicy*/,
32234  "" /*format*/,
32235  -2520 /*offsetCode (-37800/15)*/,
32236  0 /*offsetRemainder (-37800%15)*/,
32237  0 /*deltaMinutes*/,
32238  1978 /*untilYear*/,
32239  11 /*untilMonth*/,
32240  12 /*untilDay*/,
32241  0 /*untilTimeCode (0/15)*/,
32242  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32243  },
32244  // -10:00 Cook %z
32245  {
32246  &kZonePolicyCook /*zonePolicy*/,
32247  "" /*format*/,
32248  -2400 /*offsetCode (-36000/15)*/,
32249  0 /*offsetRemainder (-36000%15)*/,
32250  0 /*deltaMinutes*/,
32251  32767 /*untilYear*/,
32252  1 /*untilMonth*/,
32253  1 /*untilDay*/,
32254  0 /*untilTimeCode (0/15)*/,
32255  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32256  },
32257 
32258 };
32259 
32260 static const char kZoneNamePacific_Rarotonga[] ACE_TIME_PROGMEM = "\x0e" "Rarotonga";
32261 
32262 const complete::Info::ZoneInfo kZonePacific_Rarotonga ACE_TIME_PROGMEM = {
32263  kZoneNamePacific_Rarotonga /*name*/,
32264  0x9981a3b0 /*zoneId*/,
32265  &kZoneContext /*zoneContext*/,
32266  4 /*numEras*/,
32267  kZoneEraPacific_Rarotonga /*eras*/,
32268  nullptr /*targetInfo*/,
32269 };
32270 
32271 //---------------------------------------------------------------------------
32272 // Zone name: Pacific/Tahiti
32273 // Eras: 2
32274 //---------------------------------------------------------------------------
32275 
32276 static const complete::Info::ZoneEra kZoneEraPacific_Tahiti[] ACE_TIME_PROGMEM = {
32277  // -9:58:16 - LMT 1912 Oct 1
32278  {
32279  nullptr /*zonePolicy*/,
32280  "LMT" /*format*/,
32281  -2394 /*offsetCode (-35896/15)*/,
32282  14 /*offsetRemainder (-35896%15)*/,
32283  0 /*deltaMinutes*/,
32284  1912 /*untilYear*/,
32285  10 /*untilMonth*/,
32286  1 /*untilDay*/,
32287  0 /*untilTimeCode (0/15)*/,
32288  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32289  },
32290  // -10:00 - %z
32291  {
32292  nullptr /*zonePolicy*/,
32293  "" /*format*/,
32294  -2400 /*offsetCode (-36000/15)*/,
32295  0 /*offsetRemainder (-36000%15)*/,
32296  0 /*deltaMinutes*/,
32297  32767 /*untilYear*/,
32298  1 /*untilMonth*/,
32299  1 /*untilDay*/,
32300  0 /*untilTimeCode (0/15)*/,
32301  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32302  },
32303 
32304 };
32305 
32306 static const char kZoneNamePacific_Tahiti[] ACE_TIME_PROGMEM = "\x0e" "Tahiti";
32307 
32308 const complete::Info::ZoneInfo kZonePacific_Tahiti ACE_TIME_PROGMEM = {
32309  kZoneNamePacific_Tahiti /*name*/,
32310  0xf24c2446 /*zoneId*/,
32311  &kZoneContext /*zoneContext*/,
32312  2 /*numEras*/,
32313  kZoneEraPacific_Tahiti /*eras*/,
32314  nullptr /*targetInfo*/,
32315 };
32316 
32317 //---------------------------------------------------------------------------
32318 // Zone name: Pacific/Tarawa
32319 // Eras: 2
32320 //---------------------------------------------------------------------------
32321 
32322 static const complete::Info::ZoneEra kZoneEraPacific_Tarawa[] ACE_TIME_PROGMEM = {
32323  // 11:32:04 - LMT 1901
32324  {
32325  nullptr /*zonePolicy*/,
32326  "LMT" /*format*/,
32327  2768 /*offsetCode (41524/15)*/,
32328  4 /*offsetRemainder (41524%15)*/,
32329  0 /*deltaMinutes*/,
32330  1901 /*untilYear*/,
32331  1 /*untilMonth*/,
32332  1 /*untilDay*/,
32333  0 /*untilTimeCode (0/15)*/,
32334  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32335  },
32336  // 12:00 - %z
32337  {
32338  nullptr /*zonePolicy*/,
32339  "" /*format*/,
32340  2880 /*offsetCode (43200/15)*/,
32341  0 /*offsetRemainder (43200%15)*/,
32342  0 /*deltaMinutes*/,
32343  32767 /*untilYear*/,
32344  1 /*untilMonth*/,
32345  1 /*untilDay*/,
32346  0 /*untilTimeCode (0/15)*/,
32347  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32348  },
32349 
32350 };
32351 
32352 static const char kZoneNamePacific_Tarawa[] ACE_TIME_PROGMEM = "\x0e" "Tarawa";
32353 
32354 const complete::Info::ZoneInfo kZonePacific_Tarawa ACE_TIME_PROGMEM = {
32355  kZoneNamePacific_Tarawa /*name*/,
32356  0xf2517e63 /*zoneId*/,
32357  &kZoneContext /*zoneContext*/,
32358  2 /*numEras*/,
32359  kZoneEraPacific_Tarawa /*eras*/,
32360  nullptr /*targetInfo*/,
32361 };
32362 
32363 //---------------------------------------------------------------------------
32364 // Zone name: Pacific/Tongatapu
32365 // Eras: 4
32366 //---------------------------------------------------------------------------
32367 
32368 static const complete::Info::ZoneEra kZoneEraPacific_Tongatapu[] ACE_TIME_PROGMEM = {
32369  // 12:19:12 - LMT 1945 Sep 10
32370  {
32371  nullptr /*zonePolicy*/,
32372  "LMT" /*format*/,
32373  2956 /*offsetCode (44352/15)*/,
32374  12 /*offsetRemainder (44352%15)*/,
32375  0 /*deltaMinutes*/,
32376  1945 /*untilYear*/,
32377  9 /*untilMonth*/,
32378  10 /*untilDay*/,
32379  0 /*untilTimeCode (0/15)*/,
32380  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32381  },
32382  // 12:20 - %z 1961
32383  {
32384  nullptr /*zonePolicy*/,
32385  "" /*format*/,
32386  2960 /*offsetCode (44400/15)*/,
32387  0 /*offsetRemainder (44400%15)*/,
32388  0 /*deltaMinutes*/,
32389  1961 /*untilYear*/,
32390  1 /*untilMonth*/,
32391  1 /*untilDay*/,
32392  0 /*untilTimeCode (0/15)*/,
32393  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32394  },
32395  // 13:00 - %z 1999
32396  {
32397  nullptr /*zonePolicy*/,
32398  "" /*format*/,
32399  3120 /*offsetCode (46800/15)*/,
32400  0 /*offsetRemainder (46800%15)*/,
32401  0 /*deltaMinutes*/,
32402  1999 /*untilYear*/,
32403  1 /*untilMonth*/,
32404  1 /*untilDay*/,
32405  0 /*untilTimeCode (0/15)*/,
32406  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32407  },
32408  // 13:00 Tonga %z
32409  {
32410  &kZonePolicyTonga /*zonePolicy*/,
32411  "" /*format*/,
32412  3120 /*offsetCode (46800/15)*/,
32413  0 /*offsetRemainder (46800%15)*/,
32414  0 /*deltaMinutes*/,
32415  32767 /*untilYear*/,
32416  1 /*untilMonth*/,
32417  1 /*untilDay*/,
32418  0 /*untilTimeCode (0/15)*/,
32419  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32420  },
32421 
32422 };
32423 
32424 static const char kZoneNamePacific_Tongatapu[] ACE_TIME_PROGMEM = "\x0e" "Tongatapu";
32425 
32426 const complete::Info::ZoneInfo kZonePacific_Tongatapu ACE_TIME_PROGMEM = {
32427  kZoneNamePacific_Tongatapu /*name*/,
32428  0x262ca836 /*zoneId*/,
32429  &kZoneContext /*zoneContext*/,
32430  4 /*numEras*/,
32431  kZoneEraPacific_Tongatapu /*eras*/,
32432  nullptr /*targetInfo*/,
32433 };
32434 
32435 
32436 
32437 //---------------------------------------------------------------------------
32438 // Links: 257
32439 //---------------------------------------------------------------------------
32440 
32441 //---------------------------------------------------------------------------
32442 // Link name: Africa/Accra -> Africa/Abidjan
32443 //---------------------------------------------------------------------------
32444 
32445 static const char kZoneNameAfrica_Accra[] ACE_TIME_PROGMEM = "\x01" "Accra";
32446 
32447 const complete::Info::ZoneInfo kZoneAfrica_Accra ACE_TIME_PROGMEM = {
32448  kZoneNameAfrica_Accra /*name*/,
32449  0x77d5b054 /*zoneId*/,
32450  &kZoneContext /*zoneContext*/,
32451  2 /*numEras*/,
32452  kZoneEraAfrica_Abidjan /*eras*/,
32453  &kZoneAfrica_Abidjan /*targetInfo*/,
32454 };
32455 
32456 //---------------------------------------------------------------------------
32457 // Link name: Africa/Addis_Ababa -> Africa/Nairobi
32458 //---------------------------------------------------------------------------
32459 
32460 static const char kZoneNameAfrica_Addis_Ababa[] ACE_TIME_PROGMEM = "\x01" "Addis_Ababa";
32461 
32462 const complete::Info::ZoneInfo kZoneAfrica_Addis_Ababa ACE_TIME_PROGMEM = {
32463  kZoneNameAfrica_Addis_Ababa /*name*/,
32464  0x05ae1e65 /*zoneId*/,
32465  &kZoneContext /*zoneContext*/,
32466  6 /*numEras*/,
32467  kZoneEraAfrica_Nairobi /*eras*/,
32468  &kZoneAfrica_Nairobi /*targetInfo*/,
32469 };
32470 
32471 //---------------------------------------------------------------------------
32472 // Link name: Africa/Asmara -> Africa/Nairobi
32473 //---------------------------------------------------------------------------
32474 
32475 static const char kZoneNameAfrica_Asmara[] ACE_TIME_PROGMEM = "\x01" "Asmara";
32476 
32477 const complete::Info::ZoneInfo kZoneAfrica_Asmara ACE_TIME_PROGMEM = {
32478  kZoneNameAfrica_Asmara /*name*/,
32479  0x73b278ef /*zoneId*/,
32480  &kZoneContext /*zoneContext*/,
32481  6 /*numEras*/,
32482  kZoneEraAfrica_Nairobi /*eras*/,
32483  &kZoneAfrica_Nairobi /*targetInfo*/,
32484 };
32485 
32486 //---------------------------------------------------------------------------
32487 // Link name: Africa/Asmera -> Africa/Nairobi
32488 //---------------------------------------------------------------------------
32489 
32490 static const char kZoneNameAfrica_Asmera[] ACE_TIME_PROGMEM = "\x01" "Asmera";
32491 
32492 const complete::Info::ZoneInfo kZoneAfrica_Asmera ACE_TIME_PROGMEM = {
32493  kZoneNameAfrica_Asmera /*name*/,
32494  0x73b289f3 /*zoneId*/,
32495  &kZoneContext /*zoneContext*/,
32496  6 /*numEras*/,
32497  kZoneEraAfrica_Nairobi /*eras*/,
32498  &kZoneAfrica_Nairobi /*targetInfo*/,
32499 };
32500 
32501 //---------------------------------------------------------------------------
32502 // Link name: Africa/Bamako -> Africa/Abidjan
32503 //---------------------------------------------------------------------------
32504 
32505 static const char kZoneNameAfrica_Bamako[] ACE_TIME_PROGMEM = "\x01" "Bamako";
32506 
32507 const complete::Info::ZoneInfo kZoneAfrica_Bamako ACE_TIME_PROGMEM = {
32508  kZoneNameAfrica_Bamako /*name*/,
32509  0x74c1e7a5 /*zoneId*/,
32510  &kZoneContext /*zoneContext*/,
32511  2 /*numEras*/,
32512  kZoneEraAfrica_Abidjan /*eras*/,
32513  &kZoneAfrica_Abidjan /*targetInfo*/,
32514 };
32515 
32516 //---------------------------------------------------------------------------
32517 // Link name: Africa/Bangui -> Africa/Lagos
32518 //---------------------------------------------------------------------------
32519 
32520 static const char kZoneNameAfrica_Bangui[] ACE_TIME_PROGMEM = "\x01" "Bangui";
32521 
32522 const complete::Info::ZoneInfo kZoneAfrica_Bangui ACE_TIME_PROGMEM = {
32523  kZoneNameAfrica_Bangui /*name*/,
32524  0x74c28ed0 /*zoneId*/,
32525  &kZoneContext /*zoneContext*/,
32526  5 /*numEras*/,
32527  kZoneEraAfrica_Lagos /*eras*/,
32528  &kZoneAfrica_Lagos /*targetInfo*/,
32529 };
32530 
32531 //---------------------------------------------------------------------------
32532 // Link name: Africa/Banjul -> Africa/Abidjan
32533 //---------------------------------------------------------------------------
32534 
32535 static const char kZoneNameAfrica_Banjul[] ACE_TIME_PROGMEM = "\x01" "Banjul";
32536 
32537 const complete::Info::ZoneInfo kZoneAfrica_Banjul ACE_TIME_PROGMEM = {
32538  kZoneNameAfrica_Banjul /*name*/,
32539  0x74c29b96 /*zoneId*/,
32540  &kZoneContext /*zoneContext*/,
32541  2 /*numEras*/,
32542  kZoneEraAfrica_Abidjan /*eras*/,
32543  &kZoneAfrica_Abidjan /*targetInfo*/,
32544 };
32545 
32546 //---------------------------------------------------------------------------
32547 // Link name: Africa/Blantyre -> Africa/Maputo
32548 //---------------------------------------------------------------------------
32549 
32550 static const char kZoneNameAfrica_Blantyre[] ACE_TIME_PROGMEM = "\x01" "Blantyre";
32551 
32552 const complete::Info::ZoneInfo kZoneAfrica_Blantyre ACE_TIME_PROGMEM = {
32553  kZoneNameAfrica_Blantyre /*name*/,
32554  0xe08d813b /*zoneId*/,
32555  &kZoneContext /*zoneContext*/,
32556  2 /*numEras*/,
32557  kZoneEraAfrica_Maputo /*eras*/,
32558  &kZoneAfrica_Maputo /*targetInfo*/,
32559 };
32560 
32561 //---------------------------------------------------------------------------
32562 // Link name: Africa/Brazzaville -> Africa/Lagos
32563 //---------------------------------------------------------------------------
32564 
32565 static const char kZoneNameAfrica_Brazzaville[] ACE_TIME_PROGMEM = "\x01" "Brazzaville";
32566 
32567 const complete::Info::ZoneInfo kZoneAfrica_Brazzaville ACE_TIME_PROGMEM = {
32568  kZoneNameAfrica_Brazzaville /*name*/,
32569  0x39cda760 /*zoneId*/,
32570  &kZoneContext /*zoneContext*/,
32571  5 /*numEras*/,
32572  kZoneEraAfrica_Lagos /*eras*/,
32573  &kZoneAfrica_Lagos /*targetInfo*/,
32574 };
32575 
32576 //---------------------------------------------------------------------------
32577 // Link name: Africa/Bujumbura -> Africa/Maputo
32578 //---------------------------------------------------------------------------
32579 
32580 static const char kZoneNameAfrica_Bujumbura[] ACE_TIME_PROGMEM = "\x01" "Bujumbura";
32581 
32582 const complete::Info::ZoneInfo kZoneAfrica_Bujumbura ACE_TIME_PROGMEM = {
32583  kZoneNameAfrica_Bujumbura /*name*/,
32584  0x05232a47 /*zoneId*/,
32585  &kZoneContext /*zoneContext*/,
32586  2 /*numEras*/,
32587  kZoneEraAfrica_Maputo /*eras*/,
32588  &kZoneAfrica_Maputo /*targetInfo*/,
32589 };
32590 
32591 //---------------------------------------------------------------------------
32592 // Link name: Africa/Conakry -> Africa/Abidjan
32593 //---------------------------------------------------------------------------
32594 
32595 static const char kZoneNameAfrica_Conakry[] ACE_TIME_PROGMEM = "\x01" "Conakry";
32596 
32597 const complete::Info::ZoneInfo kZoneAfrica_Conakry ACE_TIME_PROGMEM = {
32598  kZoneNameAfrica_Conakry /*name*/,
32599  0x7ab36b31 /*zoneId*/,
32600  &kZoneContext /*zoneContext*/,
32601  2 /*numEras*/,
32602  kZoneEraAfrica_Abidjan /*eras*/,
32603  &kZoneAfrica_Abidjan /*targetInfo*/,
32604 };
32605 
32606 //---------------------------------------------------------------------------
32607 // Link name: Africa/Dakar -> Africa/Abidjan
32608 //---------------------------------------------------------------------------
32609 
32610 static const char kZoneNameAfrica_Dakar[] ACE_TIME_PROGMEM = "\x01" "Dakar";
32611 
32612 const complete::Info::ZoneInfo kZoneAfrica_Dakar ACE_TIME_PROGMEM = {
32613  kZoneNameAfrica_Dakar /*name*/,
32614  0x780b00fd /*zoneId*/,
32615  &kZoneContext /*zoneContext*/,
32616  2 /*numEras*/,
32617  kZoneEraAfrica_Abidjan /*eras*/,
32618  &kZoneAfrica_Abidjan /*targetInfo*/,
32619 };
32620 
32621 //---------------------------------------------------------------------------
32622 // Link name: Africa/Dar_es_Salaam -> Africa/Nairobi
32623 //---------------------------------------------------------------------------
32624 
32625 static const char kZoneNameAfrica_Dar_es_Salaam[] ACE_TIME_PROGMEM = "\x01" "Dar_es_Salaam";
32626 
32627 const complete::Info::ZoneInfo kZoneAfrica_Dar_es_Salaam ACE_TIME_PROGMEM = {
32628  kZoneNameAfrica_Dar_es_Salaam /*name*/,
32629  0xa04c47b6 /*zoneId*/,
32630  &kZoneContext /*zoneContext*/,
32631  6 /*numEras*/,
32632  kZoneEraAfrica_Nairobi /*eras*/,
32633  &kZoneAfrica_Nairobi /*targetInfo*/,
32634 };
32635 
32636 //---------------------------------------------------------------------------
32637 // Link name: Africa/Djibouti -> Africa/Nairobi
32638 //---------------------------------------------------------------------------
32639 
32640 static const char kZoneNameAfrica_Djibouti[] ACE_TIME_PROGMEM = "\x01" "Djibouti";
32641 
32642 const complete::Info::ZoneInfo kZoneAfrica_Djibouti ACE_TIME_PROGMEM = {
32643  kZoneNameAfrica_Djibouti /*name*/,
32644  0x30ea01d4 /*zoneId*/,
32645  &kZoneContext /*zoneContext*/,
32646  6 /*numEras*/,
32647  kZoneEraAfrica_Nairobi /*eras*/,
32648  &kZoneAfrica_Nairobi /*targetInfo*/,
32649 };
32650 
32651 //---------------------------------------------------------------------------
32652 // Link name: Africa/Douala -> Africa/Lagos
32653 //---------------------------------------------------------------------------
32654 
32655 static const char kZoneNameAfrica_Douala[] ACE_TIME_PROGMEM = "\x01" "Douala";
32656 
32657 const complete::Info::ZoneInfo kZoneAfrica_Douala ACE_TIME_PROGMEM = {
32658  kZoneNameAfrica_Douala /*name*/,
32659  0x7a6df310 /*zoneId*/,
32660  &kZoneContext /*zoneContext*/,
32661  5 /*numEras*/,
32662  kZoneEraAfrica_Lagos /*eras*/,
32663  &kZoneAfrica_Lagos /*targetInfo*/,
32664 };
32665 
32666 //---------------------------------------------------------------------------
32667 // Link name: Africa/Freetown -> Africa/Abidjan
32668 //---------------------------------------------------------------------------
32669 
32670 static const char kZoneNameAfrica_Freetown[] ACE_TIME_PROGMEM = "\x01" "Freetown";
32671 
32672 const complete::Info::ZoneInfo kZoneAfrica_Freetown ACE_TIME_PROGMEM = {
32673  kZoneNameAfrica_Freetown /*name*/,
32674  0x6823dd64 /*zoneId*/,
32675  &kZoneContext /*zoneContext*/,
32676  2 /*numEras*/,
32677  kZoneEraAfrica_Abidjan /*eras*/,
32678  &kZoneAfrica_Abidjan /*targetInfo*/,
32679 };
32680 
32681 //---------------------------------------------------------------------------
32682 // Link name: Africa/Gaborone -> Africa/Maputo
32683 //---------------------------------------------------------------------------
32684 
32685 static const char kZoneNameAfrica_Gaborone[] ACE_TIME_PROGMEM = "\x01" "Gaborone";
32686 
32687 const complete::Info::ZoneInfo kZoneAfrica_Gaborone ACE_TIME_PROGMEM = {
32688  kZoneNameAfrica_Gaborone /*name*/,
32689  0x317c0aa7 /*zoneId*/,
32690  &kZoneContext /*zoneContext*/,
32691  2 /*numEras*/,
32692  kZoneEraAfrica_Maputo /*eras*/,
32693  &kZoneAfrica_Maputo /*targetInfo*/,
32694 };
32695 
32696 //---------------------------------------------------------------------------
32697 // Link name: Africa/Harare -> Africa/Maputo
32698 //---------------------------------------------------------------------------
32699 
32700 static const char kZoneNameAfrica_Harare[] ACE_TIME_PROGMEM = "\x01" "Harare";
32701 
32702 const complete::Info::ZoneInfo kZoneAfrica_Harare ACE_TIME_PROGMEM = {
32703  kZoneNameAfrica_Harare /*name*/,
32704  0x82c39a2d /*zoneId*/,
32705  &kZoneContext /*zoneContext*/,
32706  2 /*numEras*/,
32707  kZoneEraAfrica_Maputo /*eras*/,
32708  &kZoneAfrica_Maputo /*targetInfo*/,
32709 };
32710 
32711 //---------------------------------------------------------------------------
32712 // Link name: Africa/Kampala -> Africa/Nairobi
32713 //---------------------------------------------------------------------------
32714 
32715 static const char kZoneNameAfrica_Kampala[] ACE_TIME_PROGMEM = "\x01" "Kampala";
32716 
32717 const complete::Info::ZoneInfo kZoneAfrica_Kampala ACE_TIME_PROGMEM = {
32718  kZoneNameAfrica_Kampala /*name*/,
32719  0xc1d30e31 /*zoneId*/,
32720  &kZoneContext /*zoneContext*/,
32721  6 /*numEras*/,
32722  kZoneEraAfrica_Nairobi /*eras*/,
32723  &kZoneAfrica_Nairobi /*targetInfo*/,
32724 };
32725 
32726 //---------------------------------------------------------------------------
32727 // Link name: Africa/Kigali -> Africa/Maputo
32728 //---------------------------------------------------------------------------
32729 
32730 static const char kZoneNameAfrica_Kigali[] ACE_TIME_PROGMEM = "\x01" "Kigali";
32731 
32732 const complete::Info::ZoneInfo kZoneAfrica_Kigali ACE_TIME_PROGMEM = {
32733  kZoneNameAfrica_Kigali /*name*/,
32734  0x8a4dcf2b /*zoneId*/,
32735  &kZoneContext /*zoneContext*/,
32736  2 /*numEras*/,
32737  kZoneEraAfrica_Maputo /*eras*/,
32738  &kZoneAfrica_Maputo /*targetInfo*/,
32739 };
32740 
32741 //---------------------------------------------------------------------------
32742 // Link name: Africa/Kinshasa -> Africa/Lagos
32743 //---------------------------------------------------------------------------
32744 
32745 static const char kZoneNameAfrica_Kinshasa[] ACE_TIME_PROGMEM = "\x01" "Kinshasa";
32746 
32747 const complete::Info::ZoneInfo kZoneAfrica_Kinshasa ACE_TIME_PROGMEM = {
32748  kZoneNameAfrica_Kinshasa /*name*/,
32749  0x6695d70c /*zoneId*/,
32750  &kZoneContext /*zoneContext*/,
32751  5 /*numEras*/,
32752  kZoneEraAfrica_Lagos /*eras*/,
32753  &kZoneAfrica_Lagos /*targetInfo*/,
32754 };
32755 
32756 //---------------------------------------------------------------------------
32757 // Link name: Africa/Libreville -> Africa/Lagos
32758 //---------------------------------------------------------------------------
32759 
32760 static const char kZoneNameAfrica_Libreville[] ACE_TIME_PROGMEM = "\x01" "Libreville";
32761 
32762 const complete::Info::ZoneInfo kZoneAfrica_Libreville ACE_TIME_PROGMEM = {
32763  kZoneNameAfrica_Libreville /*name*/,
32764  0x01d96de4 /*zoneId*/,
32765  &kZoneContext /*zoneContext*/,
32766  5 /*numEras*/,
32767  kZoneEraAfrica_Lagos /*eras*/,
32768  &kZoneAfrica_Lagos /*targetInfo*/,
32769 };
32770 
32771 //---------------------------------------------------------------------------
32772 // Link name: Africa/Lome -> Africa/Abidjan
32773 //---------------------------------------------------------------------------
32774 
32775 static const char kZoneNameAfrica_Lome[] ACE_TIME_PROGMEM = "\x01" "Lome";
32776 
32777 const complete::Info::ZoneInfo kZoneAfrica_Lome ACE_TIME_PROGMEM = {
32778  kZoneNameAfrica_Lome /*name*/,
32779  0xd51c3a07 /*zoneId*/,
32780  &kZoneContext /*zoneContext*/,
32781  2 /*numEras*/,
32782  kZoneEraAfrica_Abidjan /*eras*/,
32783  &kZoneAfrica_Abidjan /*targetInfo*/,
32784 };
32785 
32786 //---------------------------------------------------------------------------
32787 // Link name: Africa/Luanda -> Africa/Lagos
32788 //---------------------------------------------------------------------------
32789 
32790 static const char kZoneNameAfrica_Luanda[] ACE_TIME_PROGMEM = "\x01" "Luanda";
32791 
32792 const complete::Info::ZoneInfo kZoneAfrica_Luanda ACE_TIME_PROGMEM = {
32793  kZoneNameAfrica_Luanda /*name*/,
32794  0x8d7909cf /*zoneId*/,
32795  &kZoneContext /*zoneContext*/,
32796  5 /*numEras*/,
32797  kZoneEraAfrica_Lagos /*eras*/,
32798  &kZoneAfrica_Lagos /*targetInfo*/,
32799 };
32800 
32801 //---------------------------------------------------------------------------
32802 // Link name: Africa/Lubumbashi -> Africa/Maputo
32803 //---------------------------------------------------------------------------
32804 
32805 static const char kZoneNameAfrica_Lubumbashi[] ACE_TIME_PROGMEM = "\x01" "Lubumbashi";
32806 
32807 const complete::Info::ZoneInfo kZoneAfrica_Lubumbashi ACE_TIME_PROGMEM = {
32808  kZoneNameAfrica_Lubumbashi /*name*/,
32809  0x6fd88566 /*zoneId*/,
32810  &kZoneContext /*zoneContext*/,
32811  2 /*numEras*/,
32812  kZoneEraAfrica_Maputo /*eras*/,
32813  &kZoneAfrica_Maputo /*targetInfo*/,
32814 };
32815 
32816 //---------------------------------------------------------------------------
32817 // Link name: Africa/Lusaka -> Africa/Maputo
32818 //---------------------------------------------------------------------------
32819 
32820 static const char kZoneNameAfrica_Lusaka[] ACE_TIME_PROGMEM = "\x01" "Lusaka";
32821 
32822 const complete::Info::ZoneInfo kZoneAfrica_Lusaka ACE_TIME_PROGMEM = {
32823  kZoneNameAfrica_Lusaka /*name*/,
32824  0x8d82b23b /*zoneId*/,
32825  &kZoneContext /*zoneContext*/,
32826  2 /*numEras*/,
32827  kZoneEraAfrica_Maputo /*eras*/,
32828  &kZoneAfrica_Maputo /*targetInfo*/,
32829 };
32830 
32831 //---------------------------------------------------------------------------
32832 // Link name: Africa/Malabo -> Africa/Lagos
32833 //---------------------------------------------------------------------------
32834 
32835 static const char kZoneNameAfrica_Malabo[] ACE_TIME_PROGMEM = "\x01" "Malabo";
32836 
32837 const complete::Info::ZoneInfo kZoneAfrica_Malabo ACE_TIME_PROGMEM = {
32838  kZoneNameAfrica_Malabo /*name*/,
32839  0x8e6a1906 /*zoneId*/,
32840  &kZoneContext /*zoneContext*/,
32841  5 /*numEras*/,
32842  kZoneEraAfrica_Lagos /*eras*/,
32843  &kZoneAfrica_Lagos /*targetInfo*/,
32844 };
32845 
32846 //---------------------------------------------------------------------------
32847 // Link name: Africa/Maseru -> Africa/Johannesburg
32848 //---------------------------------------------------------------------------
32849 
32850 static const char kZoneNameAfrica_Maseru[] ACE_TIME_PROGMEM = "\x01" "Maseru";
32851 
32852 const complete::Info::ZoneInfo kZoneAfrica_Maseru ACE_TIME_PROGMEM = {
32853  kZoneNameAfrica_Maseru /*name*/,
32854  0x8e6e02c7 /*zoneId*/,
32855  &kZoneContext /*zoneContext*/,
32856  3 /*numEras*/,
32857  kZoneEraAfrica_Johannesburg /*eras*/,
32858  &kZoneAfrica_Johannesburg /*targetInfo*/,
32859 };
32860 
32861 //---------------------------------------------------------------------------
32862 // Link name: Africa/Mbabane -> Africa/Johannesburg
32863 //---------------------------------------------------------------------------
32864 
32865 static const char kZoneNameAfrica_Mbabane[] ACE_TIME_PROGMEM = "\x01" "Mbabane";
32866 
32867 const complete::Info::ZoneInfo kZoneAfrica_Mbabane ACE_TIME_PROGMEM = {
32868  kZoneNameAfrica_Mbabane /*name*/,
32869  0x5d3bdd40 /*zoneId*/,
32870  &kZoneContext /*zoneContext*/,
32871  3 /*numEras*/,
32872  kZoneEraAfrica_Johannesburg /*eras*/,
32873  &kZoneAfrica_Johannesburg /*targetInfo*/,
32874 };
32875 
32876 //---------------------------------------------------------------------------
32877 // Link name: Africa/Mogadishu -> Africa/Nairobi
32878 //---------------------------------------------------------------------------
32879 
32880 static const char kZoneNameAfrica_Mogadishu[] ACE_TIME_PROGMEM = "\x01" "Mogadishu";
32881 
32882 const complete::Info::ZoneInfo kZoneAfrica_Mogadishu ACE_TIME_PROGMEM = {
32883  kZoneNameAfrica_Mogadishu /*name*/,
32884  0x66bc159b /*zoneId*/,
32885  &kZoneContext /*zoneContext*/,
32886  6 /*numEras*/,
32887  kZoneEraAfrica_Nairobi /*eras*/,
32888  &kZoneAfrica_Nairobi /*targetInfo*/,
32889 };
32890 
32891 //---------------------------------------------------------------------------
32892 // Link name: Africa/Niamey -> Africa/Lagos
32893 //---------------------------------------------------------------------------
32894 
32895 static const char kZoneNameAfrica_Niamey[] ACE_TIME_PROGMEM = "\x01" "Niamey";
32896 
32897 const complete::Info::ZoneInfo kZoneAfrica_Niamey ACE_TIME_PROGMEM = {
32898  kZoneNameAfrica_Niamey /*name*/,
32899  0x914a30fd /*zoneId*/,
32900  &kZoneContext /*zoneContext*/,
32901  5 /*numEras*/,
32902  kZoneEraAfrica_Lagos /*eras*/,
32903  &kZoneAfrica_Lagos /*targetInfo*/,
32904 };
32905 
32906 //---------------------------------------------------------------------------
32907 // Link name: Africa/Nouakchott -> Africa/Abidjan
32908 //---------------------------------------------------------------------------
32909 
32910 static const char kZoneNameAfrica_Nouakchott[] ACE_TIME_PROGMEM = "\x01" "Nouakchott";
32911 
32912 const complete::Info::ZoneInfo kZoneAfrica_Nouakchott ACE_TIME_PROGMEM = {
32913  kZoneNameAfrica_Nouakchott /*name*/,
32914  0x3dc49dba /*zoneId*/,
32915  &kZoneContext /*zoneContext*/,
32916  2 /*numEras*/,
32917  kZoneEraAfrica_Abidjan /*eras*/,
32918  &kZoneAfrica_Abidjan /*targetInfo*/,
32919 };
32920 
32921 //---------------------------------------------------------------------------
32922 // Link name: Africa/Ouagadougou -> Africa/Abidjan
32923 //---------------------------------------------------------------------------
32924 
32925 static const char kZoneNameAfrica_Ouagadougou[] ACE_TIME_PROGMEM = "\x01" "Ouagadougou";
32926 
32927 const complete::Info::ZoneInfo kZoneAfrica_Ouagadougou ACE_TIME_PROGMEM = {
32928  kZoneNameAfrica_Ouagadougou /*name*/,
32929  0x04d7219a /*zoneId*/,
32930  &kZoneContext /*zoneContext*/,
32931  2 /*numEras*/,
32932  kZoneEraAfrica_Abidjan /*eras*/,
32933  &kZoneAfrica_Abidjan /*targetInfo*/,
32934 };
32935 
32936 //---------------------------------------------------------------------------
32937 // Link name: Africa/Porto-Novo -> Africa/Lagos
32938 //---------------------------------------------------------------------------
32939 
32940 static const char kZoneNameAfrica_Porto_Novo[] ACE_TIME_PROGMEM = "\x01" "Porto-Novo";
32941 
32942 const complete::Info::ZoneInfo kZoneAfrica_Porto_Novo ACE_TIME_PROGMEM = {
32943  kZoneNameAfrica_Porto_Novo /*name*/,
32944  0x3d1bf95d /*zoneId*/,
32945  &kZoneContext /*zoneContext*/,
32946  5 /*numEras*/,
32947  kZoneEraAfrica_Lagos /*eras*/,
32948  &kZoneAfrica_Lagos /*targetInfo*/,
32949 };
32950 
32951 //---------------------------------------------------------------------------
32952 // Link name: Africa/Timbuktu -> Africa/Abidjan
32953 //---------------------------------------------------------------------------
32954 
32955 static const char kZoneNameAfrica_Timbuktu[] ACE_TIME_PROGMEM = "\x01" "Timbuktu";
32956 
32957 const complete::Info::ZoneInfo kZoneAfrica_Timbuktu ACE_TIME_PROGMEM = {
32958  kZoneNameAfrica_Timbuktu /*name*/,
32959  0xb164d56f /*zoneId*/,
32960  &kZoneContext /*zoneContext*/,
32961  2 /*numEras*/,
32962  kZoneEraAfrica_Abidjan /*eras*/,
32963  &kZoneAfrica_Abidjan /*targetInfo*/,
32964 };
32965 
32966 //---------------------------------------------------------------------------
32967 // Link name: America/Anguilla -> America/Puerto_Rico
32968 //---------------------------------------------------------------------------
32969 
32970 static const char kZoneNameAmerica_Anguilla[] ACE_TIME_PROGMEM = "\x02" "Anguilla";
32971 
32972 const complete::Info::ZoneInfo kZoneAmerica_Anguilla ACE_TIME_PROGMEM = {
32973  kZoneNameAmerica_Anguilla /*name*/,
32974  0xafe31333 /*zoneId*/,
32975  &kZoneContext /*zoneContext*/,
32976  4 /*numEras*/,
32977  kZoneEraAmerica_Puerto_Rico /*eras*/,
32978  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
32979 };
32980 
32981 //---------------------------------------------------------------------------
32982 // Link name: America/Antigua -> America/Puerto_Rico
32983 //---------------------------------------------------------------------------
32984 
32985 static const char kZoneNameAmerica_Antigua[] ACE_TIME_PROGMEM = "\x02" "Antigua";
32986 
32987 const complete::Info::ZoneInfo kZoneAmerica_Antigua ACE_TIME_PROGMEM = {
32988  kZoneNameAmerica_Antigua /*name*/,
32989  0xc067a32f /*zoneId*/,
32990  &kZoneContext /*zoneContext*/,
32991  4 /*numEras*/,
32992  kZoneEraAmerica_Puerto_Rico /*eras*/,
32993  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
32994 };
32995 
32996 //---------------------------------------------------------------------------
32997 // Link name: America/Argentina/ComodRivadavia -> America/Argentina/Catamarca
32998 //---------------------------------------------------------------------------
32999 
33000 static const char kZoneNameAmerica_Argentina_ComodRivadavia[] ACE_TIME_PROGMEM = "\x02" "\x04" "ComodRivadavia";
33001 
33002 const complete::Info::ZoneInfo kZoneAmerica_Argentina_ComodRivadavia ACE_TIME_PROGMEM = {
33003  kZoneNameAmerica_Argentina_ComodRivadavia /*name*/,
33004  0x22758877 /*zoneId*/,
33005  &kZoneContext /*zoneContext*/,
33006  12 /*numEras*/,
33007  kZoneEraAmerica_Argentina_Catamarca /*eras*/,
33008  &kZoneAmerica_Argentina_Catamarca /*targetInfo*/,
33009 };
33010 
33011 //---------------------------------------------------------------------------
33012 // Link name: America/Aruba -> America/Puerto_Rico
33013 //---------------------------------------------------------------------------
33014 
33015 static const char kZoneNameAmerica_Aruba[] ACE_TIME_PROGMEM = "\x02" "Aruba";
33016 
33017 const complete::Info::ZoneInfo kZoneAmerica_Aruba ACE_TIME_PROGMEM = {
33018  kZoneNameAmerica_Aruba /*name*/,
33019  0x97cf8651 /*zoneId*/,
33020  &kZoneContext /*zoneContext*/,
33021  4 /*numEras*/,
33022  kZoneEraAmerica_Puerto_Rico /*eras*/,
33023  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33024 };
33025 
33026 //---------------------------------------------------------------------------
33027 // Link name: America/Atikokan -> America/Panama
33028 //---------------------------------------------------------------------------
33029 
33030 static const char kZoneNameAmerica_Atikokan[] ACE_TIME_PROGMEM = "\x02" "Atikokan";
33031 
33032 const complete::Info::ZoneInfo kZoneAmerica_Atikokan ACE_TIME_PROGMEM = {
33033  kZoneNameAmerica_Atikokan /*name*/,
33034  0x81b92098 /*zoneId*/,
33035  &kZoneContext /*zoneContext*/,
33036  3 /*numEras*/,
33037  kZoneEraAmerica_Panama /*eras*/,
33038  &kZoneAmerica_Panama /*targetInfo*/,
33039 };
33040 
33041 //---------------------------------------------------------------------------
33042 // Link name: America/Atka -> America/Adak
33043 //---------------------------------------------------------------------------
33044 
33045 static const char kZoneNameAmerica_Atka[] ACE_TIME_PROGMEM = "\x02" "Atka";
33046 
33047 const complete::Info::ZoneInfo kZoneAmerica_Atka ACE_TIME_PROGMEM = {
33048  kZoneNameAmerica_Atka /*name*/,
33049  0x97fe8f27 /*zoneId*/,
33050  &kZoneContext /*zoneContext*/,
33051  9 /*numEras*/,
33052  kZoneEraAmerica_Adak /*eras*/,
33053  &kZoneAmerica_Adak /*targetInfo*/,
33054 };
33055 
33056 //---------------------------------------------------------------------------
33057 // Link name: America/Blanc-Sablon -> America/Puerto_Rico
33058 //---------------------------------------------------------------------------
33059 
33060 static const char kZoneNameAmerica_Blanc_Sablon[] ACE_TIME_PROGMEM = "\x02" "Blanc-Sablon";
33061 
33062 const complete::Info::ZoneInfo kZoneAmerica_Blanc_Sablon ACE_TIME_PROGMEM = {
33063  kZoneNameAmerica_Blanc_Sablon /*name*/,
33064  0x6e299892 /*zoneId*/,
33065  &kZoneContext /*zoneContext*/,
33066  4 /*numEras*/,
33067  kZoneEraAmerica_Puerto_Rico /*eras*/,
33068  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33069 };
33070 
33071 //---------------------------------------------------------------------------
33072 // Link name: America/Buenos_Aires -> America/Argentina/Buenos_Aires
33073 //---------------------------------------------------------------------------
33074 
33075 static const char kZoneNameAmerica_Buenos_Aires[] ACE_TIME_PROGMEM = "\x02" "Buenos_Aires";
33076 
33077 const complete::Info::ZoneInfo kZoneAmerica_Buenos_Aires ACE_TIME_PROGMEM = {
33078  kZoneNameAmerica_Buenos_Aires /*name*/,
33079  0x67d79a05 /*zoneId*/,
33080  &kZoneContext /*zoneContext*/,
33081  7 /*numEras*/,
33082  kZoneEraAmerica_Argentina_Buenos_Aires /*eras*/,
33083  &kZoneAmerica_Argentina_Buenos_Aires /*targetInfo*/,
33084 };
33085 
33086 //---------------------------------------------------------------------------
33087 // Link name: America/Catamarca -> America/Argentina/Catamarca
33088 //---------------------------------------------------------------------------
33089 
33090 static const char kZoneNameAmerica_Catamarca[] ACE_TIME_PROGMEM = "\x02" "Catamarca";
33091 
33092 const complete::Info::ZoneInfo kZoneAmerica_Catamarca ACE_TIME_PROGMEM = {
33093  kZoneNameAmerica_Catamarca /*name*/,
33094  0x5036e963 /*zoneId*/,
33095  &kZoneContext /*zoneContext*/,
33096  12 /*numEras*/,
33097  kZoneEraAmerica_Argentina_Catamarca /*eras*/,
33098  &kZoneAmerica_Argentina_Catamarca /*targetInfo*/,
33099 };
33100 
33101 //---------------------------------------------------------------------------
33102 // Link name: America/Cayman -> America/Panama
33103 //---------------------------------------------------------------------------
33104 
33105 static const char kZoneNameAmerica_Cayman[] ACE_TIME_PROGMEM = "\x02" "Cayman";
33106 
33107 const complete::Info::ZoneInfo kZoneAmerica_Cayman ACE_TIME_PROGMEM = {
33108  kZoneNameAmerica_Cayman /*name*/,
33109  0x953961df /*zoneId*/,
33110  &kZoneContext /*zoneContext*/,
33111  3 /*numEras*/,
33112  kZoneEraAmerica_Panama /*eras*/,
33113  &kZoneAmerica_Panama /*targetInfo*/,
33114 };
33115 
33116 //---------------------------------------------------------------------------
33117 // Link name: America/Coral_Harbour -> America/Panama
33118 //---------------------------------------------------------------------------
33119 
33120 static const char kZoneNameAmerica_Coral_Harbour[] ACE_TIME_PROGMEM = "\x02" "Coral_Harbour";
33121 
33122 const complete::Info::ZoneInfo kZoneAmerica_Coral_Harbour ACE_TIME_PROGMEM = {
33123  kZoneNameAmerica_Coral_Harbour /*name*/,
33124  0xabcb7569 /*zoneId*/,
33125  &kZoneContext /*zoneContext*/,
33126  3 /*numEras*/,
33127  kZoneEraAmerica_Panama /*eras*/,
33128  &kZoneAmerica_Panama /*targetInfo*/,
33129 };
33130 
33131 //---------------------------------------------------------------------------
33132 // Link name: America/Cordoba -> America/Argentina/Cordoba
33133 //---------------------------------------------------------------------------
33134 
33135 static const char kZoneNameAmerica_Cordoba[] ACE_TIME_PROGMEM = "\x02" "Cordoba";
33136 
33137 const complete::Info::ZoneInfo kZoneAmerica_Cordoba ACE_TIME_PROGMEM = {
33138  kZoneNameAmerica_Cordoba /*name*/,
33139  0x5c8a7600 /*zoneId*/,
33140  &kZoneContext /*zoneContext*/,
33141  9 /*numEras*/,
33142  kZoneEraAmerica_Argentina_Cordoba /*eras*/,
33143  &kZoneAmerica_Argentina_Cordoba /*targetInfo*/,
33144 };
33145 
33146 //---------------------------------------------------------------------------
33147 // Link name: America/Creston -> America/Phoenix
33148 //---------------------------------------------------------------------------
33149 
33150 static const char kZoneNameAmerica_Creston[] ACE_TIME_PROGMEM = "\x02" "Creston";
33151 
33152 const complete::Info::ZoneInfo kZoneAmerica_Creston ACE_TIME_PROGMEM = {
33153  kZoneNameAmerica_Creston /*name*/,
33154  0x62a70204 /*zoneId*/,
33155  &kZoneContext /*zoneContext*/,
33156  7 /*numEras*/,
33157  kZoneEraAmerica_Phoenix /*eras*/,
33158  &kZoneAmerica_Phoenix /*targetInfo*/,
33159 };
33160 
33161 //---------------------------------------------------------------------------
33162 // Link name: America/Curacao -> America/Puerto_Rico
33163 //---------------------------------------------------------------------------
33164 
33165 static const char kZoneNameAmerica_Curacao[] ACE_TIME_PROGMEM = "\x02" "Curacao";
33166 
33167 const complete::Info::ZoneInfo kZoneAmerica_Curacao ACE_TIME_PROGMEM = {
33168  kZoneNameAmerica_Curacao /*name*/,
33169  0x6a879184 /*zoneId*/,
33170  &kZoneContext /*zoneContext*/,
33171  4 /*numEras*/,
33172  kZoneEraAmerica_Puerto_Rico /*eras*/,
33173  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33174 };
33175 
33176 //---------------------------------------------------------------------------
33177 // Link name: America/Dominica -> America/Puerto_Rico
33178 //---------------------------------------------------------------------------
33179 
33180 static const char kZoneNameAmerica_Dominica[] ACE_TIME_PROGMEM = "\x02" "Dominica";
33181 
33182 const complete::Info::ZoneInfo kZoneAmerica_Dominica ACE_TIME_PROGMEM = {
33183  kZoneNameAmerica_Dominica /*name*/,
33184  0xcecb4c4a /*zoneId*/,
33185  &kZoneContext /*zoneContext*/,
33186  4 /*numEras*/,
33187  kZoneEraAmerica_Puerto_Rico /*eras*/,
33188  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33189 };
33190 
33191 //---------------------------------------------------------------------------
33192 // Link name: America/Ensenada -> America/Tijuana
33193 //---------------------------------------------------------------------------
33194 
33195 static const char kZoneNameAmerica_Ensenada[] ACE_TIME_PROGMEM = "\x02" "Ensenada";
33196 
33197 const complete::Info::ZoneInfo kZoneAmerica_Ensenada ACE_TIME_PROGMEM = {
33198  kZoneNameAmerica_Ensenada /*name*/,
33199  0x7bc95445 /*zoneId*/,
33200  &kZoneContext /*zoneContext*/,
33201  25 /*numEras*/,
33202  kZoneEraAmerica_Tijuana /*eras*/,
33203  &kZoneAmerica_Tijuana /*targetInfo*/,
33204 };
33205 
33206 //---------------------------------------------------------------------------
33207 // Link name: America/Fort_Wayne -> America/Indiana/Indianapolis
33208 //---------------------------------------------------------------------------
33209 
33210 static const char kZoneNameAmerica_Fort_Wayne[] ACE_TIME_PROGMEM = "\x02" "Fort_Wayne";
33211 
33212 const complete::Info::ZoneInfo kZoneAmerica_Fort_Wayne ACE_TIME_PROGMEM = {
33213  kZoneNameAmerica_Fort_Wayne /*name*/,
33214  0x7eaaaf24 /*zoneId*/,
33215  &kZoneContext /*zoneContext*/,
33216  11 /*numEras*/,
33217  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
33218  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
33219 };
33220 
33221 //---------------------------------------------------------------------------
33222 // Link name: America/Godthab -> America/Nuuk
33223 //---------------------------------------------------------------------------
33224 
33225 static const char kZoneNameAmerica_Godthab[] ACE_TIME_PROGMEM = "\x02" "Godthab";
33226 
33227 const complete::Info::ZoneInfo kZoneAmerica_Godthab ACE_TIME_PROGMEM = {
33228  kZoneNameAmerica_Godthab /*name*/,
33229  0x8f7eba1f /*zoneId*/,
33230  &kZoneContext /*zoneContext*/,
33231  5 /*numEras*/,
33232  kZoneEraAmerica_Nuuk /*eras*/,
33233  &kZoneAmerica_Nuuk /*targetInfo*/,
33234 };
33235 
33236 //---------------------------------------------------------------------------
33237 // Link name: America/Grenada -> America/Puerto_Rico
33238 //---------------------------------------------------------------------------
33239 
33240 static const char kZoneNameAmerica_Grenada[] ACE_TIME_PROGMEM = "\x02" "Grenada";
33241 
33242 const complete::Info::ZoneInfo kZoneAmerica_Grenada ACE_TIME_PROGMEM = {
33243  kZoneNameAmerica_Grenada /*name*/,
33244  0x968ce4d8 /*zoneId*/,
33245  &kZoneContext /*zoneContext*/,
33246  4 /*numEras*/,
33247  kZoneEraAmerica_Puerto_Rico /*eras*/,
33248  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33249 };
33250 
33251 //---------------------------------------------------------------------------
33252 // Link name: America/Guadeloupe -> America/Puerto_Rico
33253 //---------------------------------------------------------------------------
33254 
33255 static const char kZoneNameAmerica_Guadeloupe[] ACE_TIME_PROGMEM = "\x02" "Guadeloupe";
33256 
33257 const complete::Info::ZoneInfo kZoneAmerica_Guadeloupe ACE_TIME_PROGMEM = {
33258  kZoneNameAmerica_Guadeloupe /*name*/,
33259  0xcd1f8a31 /*zoneId*/,
33260  &kZoneContext /*zoneContext*/,
33261  4 /*numEras*/,
33262  kZoneEraAmerica_Puerto_Rico /*eras*/,
33263  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33264 };
33265 
33266 //---------------------------------------------------------------------------
33267 // Link name: America/Indianapolis -> America/Indiana/Indianapolis
33268 //---------------------------------------------------------------------------
33269 
33270 static const char kZoneNameAmerica_Indianapolis[] ACE_TIME_PROGMEM = "\x02" "Indianapolis";
33271 
33272 const complete::Info::ZoneInfo kZoneAmerica_Indianapolis ACE_TIME_PROGMEM = {
33273  kZoneNameAmerica_Indianapolis /*name*/,
33274  0x6a009ae1 /*zoneId*/,
33275  &kZoneContext /*zoneContext*/,
33276  11 /*numEras*/,
33277  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
33278  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
33279 };
33280 
33281 //---------------------------------------------------------------------------
33282 // Link name: America/Jujuy -> America/Argentina/Jujuy
33283 //---------------------------------------------------------------------------
33284 
33285 static const char kZoneNameAmerica_Jujuy[] ACE_TIME_PROGMEM = "\x02" "Jujuy";
33286 
33287 const complete::Info::ZoneInfo kZoneAmerica_Jujuy ACE_TIME_PROGMEM = {
33288  kZoneNameAmerica_Jujuy /*name*/,
33289  0x9873dbbd /*zoneId*/,
33290  &kZoneContext /*zoneContext*/,
33291  13 /*numEras*/,
33292  kZoneEraAmerica_Argentina_Jujuy /*eras*/,
33293  &kZoneAmerica_Argentina_Jujuy /*targetInfo*/,
33294 };
33295 
33296 //---------------------------------------------------------------------------
33297 // Link name: America/Knox_IN -> America/Indiana/Knox
33298 //---------------------------------------------------------------------------
33299 
33300 static const char kZoneNameAmerica_Knox_IN[] ACE_TIME_PROGMEM = "\x02" "Knox_IN";
33301 
33302 const complete::Info::ZoneInfo kZoneAmerica_Knox_IN ACE_TIME_PROGMEM = {
33303  kZoneNameAmerica_Knox_IN /*name*/,
33304  0xc1db9a1c /*zoneId*/,
33305  &kZoneContext /*zoneContext*/,
33306  7 /*numEras*/,
33307  kZoneEraAmerica_Indiana_Knox /*eras*/,
33308  &kZoneAmerica_Indiana_Knox /*targetInfo*/,
33309 };
33310 
33311 //---------------------------------------------------------------------------
33312 // Link name: America/Kralendijk -> America/Puerto_Rico
33313 //---------------------------------------------------------------------------
33314 
33315 static const char kZoneNameAmerica_Kralendijk[] ACE_TIME_PROGMEM = "\x02" "Kralendijk";
33316 
33317 const complete::Info::ZoneInfo kZoneAmerica_Kralendijk ACE_TIME_PROGMEM = {
33318  kZoneNameAmerica_Kralendijk /*name*/,
33319  0xe7c456c5 /*zoneId*/,
33320  &kZoneContext /*zoneContext*/,
33321  4 /*numEras*/,
33322  kZoneEraAmerica_Puerto_Rico /*eras*/,
33323  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33324 };
33325 
33326 //---------------------------------------------------------------------------
33327 // Link name: America/Louisville -> America/Kentucky/Louisville
33328 //---------------------------------------------------------------------------
33329 
33330 static const char kZoneNameAmerica_Louisville[] ACE_TIME_PROGMEM = "\x02" "Louisville";
33331 
33332 const complete::Info::ZoneInfo kZoneAmerica_Louisville ACE_TIME_PROGMEM = {
33333  kZoneNameAmerica_Louisville /*name*/,
33334  0x3dcb47ee /*zoneId*/,
33335  &kZoneContext /*zoneContext*/,
33336  9 /*numEras*/,
33337  kZoneEraAmerica_Kentucky_Louisville /*eras*/,
33338  &kZoneAmerica_Kentucky_Louisville /*targetInfo*/,
33339 };
33340 
33341 //---------------------------------------------------------------------------
33342 // Link name: America/Lower_Princes -> America/Puerto_Rico
33343 //---------------------------------------------------------------------------
33344 
33345 static const char kZoneNameAmerica_Lower_Princes[] ACE_TIME_PROGMEM = "\x02" "Lower_Princes";
33346 
33347 const complete::Info::ZoneInfo kZoneAmerica_Lower_Princes ACE_TIME_PROGMEM = {
33348  kZoneNameAmerica_Lower_Princes /*name*/,
33349  0x6ae45b62 /*zoneId*/,
33350  &kZoneContext /*zoneContext*/,
33351  4 /*numEras*/,
33352  kZoneEraAmerica_Puerto_Rico /*eras*/,
33353  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33354 };
33355 
33356 //---------------------------------------------------------------------------
33357 // Link name: America/Marigot -> America/Puerto_Rico
33358 //---------------------------------------------------------------------------
33359 
33360 static const char kZoneNameAmerica_Marigot[] ACE_TIME_PROGMEM = "\x02" "Marigot";
33361 
33362 const complete::Info::ZoneInfo kZoneAmerica_Marigot ACE_TIME_PROGMEM = {
33363  kZoneNameAmerica_Marigot /*name*/,
33364  0x3dab3a59 /*zoneId*/,
33365  &kZoneContext /*zoneContext*/,
33366  4 /*numEras*/,
33367  kZoneEraAmerica_Puerto_Rico /*eras*/,
33368  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33369 };
33370 
33371 //---------------------------------------------------------------------------
33372 // Link name: America/Mendoza -> America/Argentina/Mendoza
33373 //---------------------------------------------------------------------------
33374 
33375 static const char kZoneNameAmerica_Mendoza[] ACE_TIME_PROGMEM = "\x02" "Mendoza";
33376 
33377 const complete::Info::ZoneInfo kZoneAmerica_Mendoza ACE_TIME_PROGMEM = {
33378  kZoneNameAmerica_Mendoza /*name*/,
33379  0x46b4e054 /*zoneId*/,
33380  &kZoneContext /*zoneContext*/,
33381  16 /*numEras*/,
33382  kZoneEraAmerica_Argentina_Mendoza /*eras*/,
33383  &kZoneAmerica_Argentina_Mendoza /*targetInfo*/,
33384 };
33385 
33386 //---------------------------------------------------------------------------
33387 // Link name: America/Montreal -> America/Toronto
33388 //---------------------------------------------------------------------------
33389 
33390 static const char kZoneNameAmerica_Montreal[] ACE_TIME_PROGMEM = "\x02" "Montreal";
33391 
33392 const complete::Info::ZoneInfo kZoneAmerica_Montreal ACE_TIME_PROGMEM = {
33393  kZoneNameAmerica_Montreal /*name*/,
33394  0x203a1ea8 /*zoneId*/,
33395  &kZoneContext /*zoneContext*/,
33396  6 /*numEras*/,
33397  kZoneEraAmerica_Toronto /*eras*/,
33398  &kZoneAmerica_Toronto /*targetInfo*/,
33399 };
33400 
33401 //---------------------------------------------------------------------------
33402 // Link name: America/Montserrat -> America/Puerto_Rico
33403 //---------------------------------------------------------------------------
33404 
33405 static const char kZoneNameAmerica_Montserrat[] ACE_TIME_PROGMEM = "\x02" "Montserrat";
33406 
33407 const complete::Info::ZoneInfo kZoneAmerica_Montserrat ACE_TIME_PROGMEM = {
33408  kZoneNameAmerica_Montserrat /*name*/,
33409  0x199b0a35 /*zoneId*/,
33410  &kZoneContext /*zoneContext*/,
33411  4 /*numEras*/,
33412  kZoneEraAmerica_Puerto_Rico /*eras*/,
33413  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33414 };
33415 
33416 //---------------------------------------------------------------------------
33417 // Link name: America/Nassau -> America/Toronto
33418 //---------------------------------------------------------------------------
33419 
33420 static const char kZoneNameAmerica_Nassau[] ACE_TIME_PROGMEM = "\x02" "Nassau";
33421 
33422 const complete::Info::ZoneInfo kZoneAmerica_Nassau ACE_TIME_PROGMEM = {
33423  kZoneNameAmerica_Nassau /*name*/,
33424  0xaedef011 /*zoneId*/,
33425  &kZoneContext /*zoneContext*/,
33426  6 /*numEras*/,
33427  kZoneEraAmerica_Toronto /*eras*/,
33428  &kZoneAmerica_Toronto /*targetInfo*/,
33429 };
33430 
33431 //---------------------------------------------------------------------------
33432 // Link name: America/Nipigon -> America/Toronto
33433 //---------------------------------------------------------------------------
33434 
33435 static const char kZoneNameAmerica_Nipigon[] ACE_TIME_PROGMEM = "\x02" "Nipigon";
33436 
33437 const complete::Info::ZoneInfo kZoneAmerica_Nipigon ACE_TIME_PROGMEM = {
33438  kZoneNameAmerica_Nipigon /*name*/,
33439  0x9d2a8b1a /*zoneId*/,
33440  &kZoneContext /*zoneContext*/,
33441  6 /*numEras*/,
33442  kZoneEraAmerica_Toronto /*eras*/,
33443  &kZoneAmerica_Toronto /*targetInfo*/,
33444 };
33445 
33446 //---------------------------------------------------------------------------
33447 // Link name: America/Pangnirtung -> America/Iqaluit
33448 //---------------------------------------------------------------------------
33449 
33450 static const char kZoneNameAmerica_Pangnirtung[] ACE_TIME_PROGMEM = "\x02" "Pangnirtung";
33451 
33452 const complete::Info::ZoneInfo kZoneAmerica_Pangnirtung ACE_TIME_PROGMEM = {
33453  kZoneNameAmerica_Pangnirtung /*name*/,
33454  0x2d999193 /*zoneId*/,
33455  &kZoneContext /*zoneContext*/,
33456  4 /*numEras*/,
33457  kZoneEraAmerica_Iqaluit /*eras*/,
33458  &kZoneAmerica_Iqaluit /*targetInfo*/,
33459 };
33460 
33461 //---------------------------------------------------------------------------
33462 // Link name: America/Port_of_Spain -> America/Puerto_Rico
33463 //---------------------------------------------------------------------------
33464 
33465 static const char kZoneNameAmerica_Port_of_Spain[] ACE_TIME_PROGMEM = "\x02" "Port_of_Spain";
33466 
33467 const complete::Info::ZoneInfo kZoneAmerica_Port_of_Spain ACE_TIME_PROGMEM = {
33468  kZoneNameAmerica_Port_of_Spain /*name*/,
33469  0xd8b28d59 /*zoneId*/,
33470  &kZoneContext /*zoneContext*/,
33471  4 /*numEras*/,
33472  kZoneEraAmerica_Puerto_Rico /*eras*/,
33473  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33474 };
33475 
33476 //---------------------------------------------------------------------------
33477 // Link name: America/Porto_Acre -> America/Rio_Branco
33478 //---------------------------------------------------------------------------
33479 
33480 static const char kZoneNameAmerica_Porto_Acre[] ACE_TIME_PROGMEM = "\x02" "Porto_Acre";
33481 
33482 const complete::Info::ZoneInfo kZoneAmerica_Porto_Acre ACE_TIME_PROGMEM = {
33483  kZoneNameAmerica_Porto_Acre /*name*/,
33484  0xcce5bf54 /*zoneId*/,
33485  &kZoneContext /*zoneContext*/,
33486  5 /*numEras*/,
33487  kZoneEraAmerica_Rio_Branco /*eras*/,
33488  &kZoneAmerica_Rio_Branco /*targetInfo*/,
33489 };
33490 
33491 //---------------------------------------------------------------------------
33492 // Link name: America/Rainy_River -> America/Winnipeg
33493 //---------------------------------------------------------------------------
33494 
33495 static const char kZoneNameAmerica_Rainy_River[] ACE_TIME_PROGMEM = "\x02" "Rainy_River";
33496 
33497 const complete::Info::ZoneInfo kZoneAmerica_Rainy_River ACE_TIME_PROGMEM = {
33498  kZoneNameAmerica_Rainy_River /*name*/,
33499  0x9cd58a10 /*zoneId*/,
33500  &kZoneContext /*zoneContext*/,
33501  3 /*numEras*/,
33502  kZoneEraAmerica_Winnipeg /*eras*/,
33503  &kZoneAmerica_Winnipeg /*targetInfo*/,
33504 };
33505 
33506 //---------------------------------------------------------------------------
33507 // Link name: America/Rosario -> America/Argentina/Cordoba
33508 //---------------------------------------------------------------------------
33509 
33510 static const char kZoneNameAmerica_Rosario[] ACE_TIME_PROGMEM = "\x02" "Rosario";
33511 
33512 const complete::Info::ZoneInfo kZoneAmerica_Rosario ACE_TIME_PROGMEM = {
33513  kZoneNameAmerica_Rosario /*name*/,
33514  0xdf448665 /*zoneId*/,
33515  &kZoneContext /*zoneContext*/,
33516  9 /*numEras*/,
33517  kZoneEraAmerica_Argentina_Cordoba /*eras*/,
33518  &kZoneAmerica_Argentina_Cordoba /*targetInfo*/,
33519 };
33520 
33521 //---------------------------------------------------------------------------
33522 // Link name: America/Santa_Isabel -> America/Tijuana
33523 //---------------------------------------------------------------------------
33524 
33525 static const char kZoneNameAmerica_Santa_Isabel[] ACE_TIME_PROGMEM = "\x02" "Santa_Isabel";
33526 
33527 const complete::Info::ZoneInfo kZoneAmerica_Santa_Isabel ACE_TIME_PROGMEM = {
33528  kZoneNameAmerica_Santa_Isabel /*name*/,
33529  0xfd18a56c /*zoneId*/,
33530  &kZoneContext /*zoneContext*/,
33531  25 /*numEras*/,
33532  kZoneEraAmerica_Tijuana /*eras*/,
33533  &kZoneAmerica_Tijuana /*targetInfo*/,
33534 };
33535 
33536 //---------------------------------------------------------------------------
33537 // Link name: America/Shiprock -> America/Denver
33538 //---------------------------------------------------------------------------
33539 
33540 static const char kZoneNameAmerica_Shiprock[] ACE_TIME_PROGMEM = "\x02" "Shiprock";
33541 
33542 const complete::Info::ZoneInfo kZoneAmerica_Shiprock ACE_TIME_PROGMEM = {
33543  kZoneNameAmerica_Shiprock /*name*/,
33544  0x82fb7049 /*zoneId*/,
33545  &kZoneContext /*zoneContext*/,
33546  6 /*numEras*/,
33547  kZoneEraAmerica_Denver /*eras*/,
33548  &kZoneAmerica_Denver /*targetInfo*/,
33549 };
33550 
33551 //---------------------------------------------------------------------------
33552 // Link name: America/St_Barthelemy -> America/Puerto_Rico
33553 //---------------------------------------------------------------------------
33554 
33555 static const char kZoneNameAmerica_St_Barthelemy[] ACE_TIME_PROGMEM = "\x02" "St_Barthelemy";
33556 
33557 const complete::Info::ZoneInfo kZoneAmerica_St_Barthelemy ACE_TIME_PROGMEM = {
33558  kZoneNameAmerica_St_Barthelemy /*name*/,
33559  0x054e6a79 /*zoneId*/,
33560  &kZoneContext /*zoneContext*/,
33561  4 /*numEras*/,
33562  kZoneEraAmerica_Puerto_Rico /*eras*/,
33563  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33564 };
33565 
33566 //---------------------------------------------------------------------------
33567 // Link name: America/St_Kitts -> America/Puerto_Rico
33568 //---------------------------------------------------------------------------
33569 
33570 static const char kZoneNameAmerica_St_Kitts[] ACE_TIME_PROGMEM = "\x02" "St_Kitts";
33571 
33572 const complete::Info::ZoneInfo kZoneAmerica_St_Kitts ACE_TIME_PROGMEM = {
33573  kZoneNameAmerica_St_Kitts /*name*/,
33574  0x04c0507b /*zoneId*/,
33575  &kZoneContext /*zoneContext*/,
33576  4 /*numEras*/,
33577  kZoneEraAmerica_Puerto_Rico /*eras*/,
33578  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33579 };
33580 
33581 //---------------------------------------------------------------------------
33582 // Link name: America/St_Lucia -> America/Puerto_Rico
33583 //---------------------------------------------------------------------------
33584 
33585 static const char kZoneNameAmerica_St_Lucia[] ACE_TIME_PROGMEM = "\x02" "St_Lucia";
33586 
33587 const complete::Info::ZoneInfo kZoneAmerica_St_Lucia ACE_TIME_PROGMEM = {
33588  kZoneNameAmerica_St_Lucia /*name*/,
33589  0x04d8b3ba /*zoneId*/,
33590  &kZoneContext /*zoneContext*/,
33591  4 /*numEras*/,
33592  kZoneEraAmerica_Puerto_Rico /*eras*/,
33593  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33594 };
33595 
33596 //---------------------------------------------------------------------------
33597 // Link name: America/St_Thomas -> America/Puerto_Rico
33598 //---------------------------------------------------------------------------
33599 
33600 static const char kZoneNameAmerica_St_Thomas[] ACE_TIME_PROGMEM = "\x02" "St_Thomas";
33601 
33602 const complete::Info::ZoneInfo kZoneAmerica_St_Thomas ACE_TIME_PROGMEM = {
33603  kZoneNameAmerica_St_Thomas /*name*/,
33604  0xb1b3d778 /*zoneId*/,
33605  &kZoneContext /*zoneContext*/,
33606  4 /*numEras*/,
33607  kZoneEraAmerica_Puerto_Rico /*eras*/,
33608  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33609 };
33610 
33611 //---------------------------------------------------------------------------
33612 // Link name: America/St_Vincent -> America/Puerto_Rico
33613 //---------------------------------------------------------------------------
33614 
33615 static const char kZoneNameAmerica_St_Vincent[] ACE_TIME_PROGMEM = "\x02" "St_Vincent";
33616 
33617 const complete::Info::ZoneInfo kZoneAmerica_St_Vincent ACE_TIME_PROGMEM = {
33618  kZoneNameAmerica_St_Vincent /*name*/,
33619  0x8460e523 /*zoneId*/,
33620  &kZoneContext /*zoneContext*/,
33621  4 /*numEras*/,
33622  kZoneEraAmerica_Puerto_Rico /*eras*/,
33623  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33624 };
33625 
33626 //---------------------------------------------------------------------------
33627 // Link name: America/Thunder_Bay -> America/Toronto
33628 //---------------------------------------------------------------------------
33629 
33630 static const char kZoneNameAmerica_Thunder_Bay[] ACE_TIME_PROGMEM = "\x02" "Thunder_Bay";
33631 
33632 const complete::Info::ZoneInfo kZoneAmerica_Thunder_Bay ACE_TIME_PROGMEM = {
33633  kZoneNameAmerica_Thunder_Bay /*name*/,
33634  0xf962e71b /*zoneId*/,
33635  &kZoneContext /*zoneContext*/,
33636  6 /*numEras*/,
33637  kZoneEraAmerica_Toronto /*eras*/,
33638  &kZoneAmerica_Toronto /*targetInfo*/,
33639 };
33640 
33641 //---------------------------------------------------------------------------
33642 // Link name: America/Tortola -> America/Puerto_Rico
33643 //---------------------------------------------------------------------------
33644 
33645 static const char kZoneNameAmerica_Tortola[] ACE_TIME_PROGMEM = "\x02" "Tortola";
33646 
33647 const complete::Info::ZoneInfo kZoneAmerica_Tortola ACE_TIME_PROGMEM = {
33648  kZoneNameAmerica_Tortola /*name*/,
33649  0x7931462b /*zoneId*/,
33650  &kZoneContext /*zoneContext*/,
33651  4 /*numEras*/,
33652  kZoneEraAmerica_Puerto_Rico /*eras*/,
33653  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33654 };
33655 
33656 //---------------------------------------------------------------------------
33657 // Link name: America/Virgin -> America/Puerto_Rico
33658 //---------------------------------------------------------------------------
33659 
33660 static const char kZoneNameAmerica_Virgin[] ACE_TIME_PROGMEM = "\x02" "Virgin";
33661 
33662 const complete::Info::ZoneInfo kZoneAmerica_Virgin ACE_TIME_PROGMEM = {
33663  kZoneNameAmerica_Virgin /*name*/,
33664  0xc2183ab5 /*zoneId*/,
33665  &kZoneContext /*zoneContext*/,
33666  4 /*numEras*/,
33667  kZoneEraAmerica_Puerto_Rico /*eras*/,
33668  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33669 };
33670 
33671 //---------------------------------------------------------------------------
33672 // Link name: America/Yellowknife -> America/Edmonton
33673 //---------------------------------------------------------------------------
33674 
33675 static const char kZoneNameAmerica_Yellowknife[] ACE_TIME_PROGMEM = "\x02" "Yellowknife";
33676 
33677 const complete::Info::ZoneInfo kZoneAmerica_Yellowknife ACE_TIME_PROGMEM = {
33678  kZoneNameAmerica_Yellowknife /*name*/,
33679  0x0f76c76f /*zoneId*/,
33680  &kZoneContext /*zoneContext*/,
33681  3 /*numEras*/,
33682  kZoneEraAmerica_Edmonton /*eras*/,
33683  &kZoneAmerica_Edmonton /*targetInfo*/,
33684 };
33685 
33686 //---------------------------------------------------------------------------
33687 // Link name: Antarctica/DumontDUrville -> Pacific/Port_Moresby
33688 //---------------------------------------------------------------------------
33689 
33690 static const char kZoneNameAntarctica_DumontDUrville[] ACE_TIME_PROGMEM = "\x03" "DumontDUrville";
33691 
33692 const complete::Info::ZoneInfo kZoneAntarctica_DumontDUrville ACE_TIME_PROGMEM = {
33693  kZoneNameAntarctica_DumontDUrville /*name*/,
33694  0x5a3c656c /*zoneId*/,
33695  &kZoneContext /*zoneContext*/,
33696  3 /*numEras*/,
33697  kZoneEraPacific_Port_Moresby /*eras*/,
33698  &kZonePacific_Port_Moresby /*targetInfo*/,
33699 };
33700 
33701 //---------------------------------------------------------------------------
33702 // Link name: Antarctica/McMurdo -> Pacific/Auckland
33703 //---------------------------------------------------------------------------
33704 
33705 static const char kZoneNameAntarctica_McMurdo[] ACE_TIME_PROGMEM = "\x03" "McMurdo";
33706 
33707 const complete::Info::ZoneInfo kZoneAntarctica_McMurdo ACE_TIME_PROGMEM = {
33708  kZoneNameAntarctica_McMurdo /*name*/,
33709  0x6eeb5585 /*zoneId*/,
33710  &kZoneContext /*zoneContext*/,
33711  3 /*numEras*/,
33712  kZoneEraPacific_Auckland /*eras*/,
33713  &kZonePacific_Auckland /*targetInfo*/,
33714 };
33715 
33716 //---------------------------------------------------------------------------
33717 // Link name: Antarctica/South_Pole -> Pacific/Auckland
33718 //---------------------------------------------------------------------------
33719 
33720 static const char kZoneNameAntarctica_South_Pole[] ACE_TIME_PROGMEM = "\x03" "South_Pole";
33721 
33722 const complete::Info::ZoneInfo kZoneAntarctica_South_Pole ACE_TIME_PROGMEM = {
33723  kZoneNameAntarctica_South_Pole /*name*/,
33724  0xcd96b290 /*zoneId*/,
33725  &kZoneContext /*zoneContext*/,
33726  3 /*numEras*/,
33727  kZoneEraPacific_Auckland /*eras*/,
33728  &kZonePacific_Auckland /*targetInfo*/,
33729 };
33730 
33731 //---------------------------------------------------------------------------
33732 // Link name: Antarctica/Syowa -> Asia/Riyadh
33733 //---------------------------------------------------------------------------
33734 
33735 static const char kZoneNameAntarctica_Syowa[] ACE_TIME_PROGMEM = "\x03" "Syowa";
33736 
33737 const complete::Info::ZoneInfo kZoneAntarctica_Syowa ACE_TIME_PROGMEM = {
33738  kZoneNameAntarctica_Syowa /*name*/,
33739  0xe330c7e1 /*zoneId*/,
33740  &kZoneContext /*zoneContext*/,
33741  2 /*numEras*/,
33742  kZoneEraAsia_Riyadh /*eras*/,
33743  &kZoneAsia_Riyadh /*targetInfo*/,
33744 };
33745 
33746 //---------------------------------------------------------------------------
33747 // Link name: Arctic/Longyearbyen -> Europe/Berlin
33748 //---------------------------------------------------------------------------
33749 
33750 static const char kZoneNameArctic_Longyearbyen[] ACE_TIME_PROGMEM = "Arctic/Longyearbyen";
33751 
33752 const complete::Info::ZoneInfo kZoneArctic_Longyearbyen ACE_TIME_PROGMEM = {
33753  kZoneNameArctic_Longyearbyen /*name*/,
33754  0xd23e7859 /*zoneId*/,
33755  &kZoneContext /*zoneContext*/,
33756  5 /*numEras*/,
33757  kZoneEraEurope_Berlin /*eras*/,
33758  &kZoneEurope_Berlin /*targetInfo*/,
33759 };
33760 
33761 //---------------------------------------------------------------------------
33762 // Link name: Asia/Aden -> Asia/Riyadh
33763 //---------------------------------------------------------------------------
33764 
33765 static const char kZoneNameAsia_Aden[] ACE_TIME_PROGMEM = "\x05" "Aden";
33766 
33767 const complete::Info::ZoneInfo kZoneAsia_Aden ACE_TIME_PROGMEM = {
33768  kZoneNameAsia_Aden /*name*/,
33769  0x1fa7084a /*zoneId*/,
33770  &kZoneContext /*zoneContext*/,
33771  2 /*numEras*/,
33772  kZoneEraAsia_Riyadh /*eras*/,
33773  &kZoneAsia_Riyadh /*targetInfo*/,
33774 };
33775 
33776 //---------------------------------------------------------------------------
33777 // Link name: Asia/Ashkhabad -> Asia/Ashgabat
33778 //---------------------------------------------------------------------------
33779 
33780 static const char kZoneNameAsia_Ashkhabad[] ACE_TIME_PROGMEM = "\x05" "Ashkhabad";
33781 
33782 const complete::Info::ZoneInfo kZoneAsia_Ashkhabad ACE_TIME_PROGMEM = {
33783  kZoneNameAsia_Ashkhabad /*name*/,
33784  0x15454f09 /*zoneId*/,
33785  &kZoneContext /*zoneContext*/,
33786  5 /*numEras*/,
33787  kZoneEraAsia_Ashgabat /*eras*/,
33788  &kZoneAsia_Ashgabat /*targetInfo*/,
33789 };
33790 
33791 //---------------------------------------------------------------------------
33792 // Link name: Asia/Bahrain -> Asia/Qatar
33793 //---------------------------------------------------------------------------
33794 
33795 static const char kZoneNameAsia_Bahrain[] ACE_TIME_PROGMEM = "\x05" "Bahrain";
33796 
33797 const complete::Info::ZoneInfo kZoneAsia_Bahrain ACE_TIME_PROGMEM = {
33798  kZoneNameAsia_Bahrain /*name*/,
33799  0x9d078487 /*zoneId*/,
33800  &kZoneContext /*zoneContext*/,
33801  3 /*numEras*/,
33802  kZoneEraAsia_Qatar /*eras*/,
33803  &kZoneAsia_Qatar /*targetInfo*/,
33804 };
33805 
33806 //---------------------------------------------------------------------------
33807 // Link name: Asia/Brunei -> Asia/Kuching
33808 //---------------------------------------------------------------------------
33809 
33810 static const char kZoneNameAsia_Brunei[] ACE_TIME_PROGMEM = "\x05" "Brunei";
33811 
33812 const complete::Info::ZoneInfo kZoneAsia_Brunei ACE_TIME_PROGMEM = {
33813  kZoneNameAsia_Brunei /*name*/,
33814  0xa8e595f7 /*zoneId*/,
33815  &kZoneContext /*zoneContext*/,
33816  5 /*numEras*/,
33817  kZoneEraAsia_Kuching /*eras*/,
33818  &kZoneAsia_Kuching /*targetInfo*/,
33819 };
33820 
33821 //---------------------------------------------------------------------------
33822 // Link name: Asia/Calcutta -> Asia/Kolkata
33823 //---------------------------------------------------------------------------
33824 
33825 static const char kZoneNameAsia_Calcutta[] ACE_TIME_PROGMEM = "\x05" "Calcutta";
33826 
33827 const complete::Info::ZoneInfo kZoneAsia_Calcutta ACE_TIME_PROGMEM = {
33828  kZoneNameAsia_Calcutta /*name*/,
33829  0x328a44c3 /*zoneId*/,
33830  &kZoneContext /*zoneContext*/,
33831  8 /*numEras*/,
33832  kZoneEraAsia_Kolkata /*eras*/,
33833  &kZoneAsia_Kolkata /*targetInfo*/,
33834 };
33835 
33836 //---------------------------------------------------------------------------
33837 // Link name: Asia/Choibalsan -> Asia/Ulaanbaatar
33838 //---------------------------------------------------------------------------
33839 
33840 static const char kZoneNameAsia_Choibalsan[] ACE_TIME_PROGMEM = "\x05" "Choibalsan";
33841 
33842 const complete::Info::ZoneInfo kZoneAsia_Choibalsan ACE_TIME_PROGMEM = {
33843  kZoneNameAsia_Choibalsan /*name*/,
33844  0x928aa4a6 /*zoneId*/,
33845  &kZoneContext /*zoneContext*/,
33846  3 /*numEras*/,
33847  kZoneEraAsia_Ulaanbaatar /*eras*/,
33848  &kZoneAsia_Ulaanbaatar /*targetInfo*/,
33849 };
33850 
33851 //---------------------------------------------------------------------------
33852 // Link name: Asia/Chongqing -> Asia/Shanghai
33853 //---------------------------------------------------------------------------
33854 
33855 static const char kZoneNameAsia_Chongqing[] ACE_TIME_PROGMEM = "\x05" "Chongqing";
33856 
33857 const complete::Info::ZoneInfo kZoneAsia_Chongqing ACE_TIME_PROGMEM = {
33858  kZoneNameAsia_Chongqing /*name*/,
33859  0xf937fb90 /*zoneId*/,
33860  &kZoneContext /*zoneContext*/,
33861  3 /*numEras*/,
33862  kZoneEraAsia_Shanghai /*eras*/,
33863  &kZoneAsia_Shanghai /*targetInfo*/,
33864 };
33865 
33866 //---------------------------------------------------------------------------
33867 // Link name: Asia/Chungking -> Asia/Shanghai
33868 //---------------------------------------------------------------------------
33869 
33870 static const char kZoneNameAsia_Chungking[] ACE_TIME_PROGMEM = "\x05" "Chungking";
33871 
33872 const complete::Info::ZoneInfo kZoneAsia_Chungking ACE_TIME_PROGMEM = {
33873  kZoneNameAsia_Chungking /*name*/,
33874  0xc7121dd0 /*zoneId*/,
33875  &kZoneContext /*zoneContext*/,
33876  3 /*numEras*/,
33877  kZoneEraAsia_Shanghai /*eras*/,
33878  &kZoneAsia_Shanghai /*targetInfo*/,
33879 };
33880 
33881 //---------------------------------------------------------------------------
33882 // Link name: Asia/Dacca -> Asia/Dhaka
33883 //---------------------------------------------------------------------------
33884 
33885 static const char kZoneNameAsia_Dacca[] ACE_TIME_PROGMEM = "\x05" "Dacca";
33886 
33887 const complete::Info::ZoneInfo kZoneAsia_Dacca ACE_TIME_PROGMEM = {
33888  kZoneNameAsia_Dacca /*name*/,
33889  0x14bcac5e /*zoneId*/,
33890  &kZoneContext /*zoneContext*/,
33891  7 /*numEras*/,
33892  kZoneEraAsia_Dhaka /*eras*/,
33893  &kZoneAsia_Dhaka /*targetInfo*/,
33894 };
33895 
33896 //---------------------------------------------------------------------------
33897 // Link name: Asia/Harbin -> Asia/Shanghai
33898 //---------------------------------------------------------------------------
33899 
33900 static const char kZoneNameAsia_Harbin[] ACE_TIME_PROGMEM = "\x05" "Harbin";
33901 
33902 const complete::Info::ZoneInfo kZoneAsia_Harbin ACE_TIME_PROGMEM = {
33903  kZoneNameAsia_Harbin /*name*/,
33904  0xb5af1186 /*zoneId*/,
33905  &kZoneContext /*zoneContext*/,
33906  3 /*numEras*/,
33907  kZoneEraAsia_Shanghai /*eras*/,
33908  &kZoneAsia_Shanghai /*targetInfo*/,
33909 };
33910 
33911 //---------------------------------------------------------------------------
33912 // Link name: Asia/Istanbul -> Europe/Istanbul
33913 //---------------------------------------------------------------------------
33914 
33915 static const char kZoneNameAsia_Istanbul[] ACE_TIME_PROGMEM = "\x05" "Istanbul";
33916 
33917 const complete::Info::ZoneInfo kZoneAsia_Istanbul ACE_TIME_PROGMEM = {
33918  kZoneNameAsia_Istanbul /*name*/,
33919  0x382e7894 /*zoneId*/,
33920  &kZoneContext /*zoneContext*/,
33921  13 /*numEras*/,
33922  kZoneEraEurope_Istanbul /*eras*/,
33923  &kZoneEurope_Istanbul /*targetInfo*/,
33924 };
33925 
33926 //---------------------------------------------------------------------------
33927 // Link name: Asia/Kashgar -> Asia/Urumqi
33928 //---------------------------------------------------------------------------
33929 
33930 static const char kZoneNameAsia_Kashgar[] ACE_TIME_PROGMEM = "\x05" "Kashgar";
33931 
33932 const complete::Info::ZoneInfo kZoneAsia_Kashgar ACE_TIME_PROGMEM = {
33933  kZoneNameAsia_Kashgar /*name*/,
33934  0x52955193 /*zoneId*/,
33935  &kZoneContext /*zoneContext*/,
33936  2 /*numEras*/,
33937  kZoneEraAsia_Urumqi /*eras*/,
33938  &kZoneAsia_Urumqi /*targetInfo*/,
33939 };
33940 
33941 //---------------------------------------------------------------------------
33942 // Link name: Asia/Katmandu -> Asia/Kathmandu
33943 //---------------------------------------------------------------------------
33944 
33945 static const char kZoneNameAsia_Katmandu[] ACE_TIME_PROGMEM = "\x05" "Katmandu";
33946 
33947 const complete::Info::ZoneInfo kZoneAsia_Katmandu ACE_TIME_PROGMEM = {
33948  kZoneNameAsia_Katmandu /*name*/,
33949  0xa7ec12c7 /*zoneId*/,
33950  &kZoneContext /*zoneContext*/,
33951  3 /*numEras*/,
33952  kZoneEraAsia_Kathmandu /*eras*/,
33953  &kZoneAsia_Kathmandu /*targetInfo*/,
33954 };
33955 
33956 //---------------------------------------------------------------------------
33957 // Link name: Asia/Kuala_Lumpur -> Asia/Singapore
33958 //---------------------------------------------------------------------------
33959 
33960 static const char kZoneNameAsia_Kuala_Lumpur[] ACE_TIME_PROGMEM = "\x05" "Kuala_Lumpur";
33961 
33962 const complete::Info::ZoneInfo kZoneAsia_Kuala_Lumpur ACE_TIME_PROGMEM = {
33963  kZoneNameAsia_Kuala_Lumpur /*name*/,
33964  0x014763c4 /*zoneId*/,
33965  &kZoneContext /*zoneContext*/,
33966  9 /*numEras*/,
33967  kZoneEraAsia_Singapore /*eras*/,
33968  &kZoneAsia_Singapore /*targetInfo*/,
33969 };
33970 
33971 //---------------------------------------------------------------------------
33972 // Link name: Asia/Kuwait -> Asia/Riyadh
33973 //---------------------------------------------------------------------------
33974 
33975 static const char kZoneNameAsia_Kuwait[] ACE_TIME_PROGMEM = "\x05" "Kuwait";
33976 
33977 const complete::Info::ZoneInfo kZoneAsia_Kuwait ACE_TIME_PROGMEM = {
33978  kZoneNameAsia_Kuwait /*name*/,
33979  0xbe1b2f27 /*zoneId*/,
33980  &kZoneContext /*zoneContext*/,
33981  2 /*numEras*/,
33982  kZoneEraAsia_Riyadh /*eras*/,
33983  &kZoneAsia_Riyadh /*targetInfo*/,
33984 };
33985 
33986 //---------------------------------------------------------------------------
33987 // Link name: Asia/Macao -> Asia/Macau
33988 //---------------------------------------------------------------------------
33989 
33990 static const char kZoneNameAsia_Macao[] ACE_TIME_PROGMEM = "\x05" "Macao";
33991 
33992 const complete::Info::ZoneInfo kZoneAsia_Macao ACE_TIME_PROGMEM = {
33993  kZoneNameAsia_Macao /*name*/,
33994  0x155f88b3 /*zoneId*/,
33995  &kZoneContext /*zoneContext*/,
33996  4 /*numEras*/,
33997  kZoneEraAsia_Macau /*eras*/,
33998  &kZoneAsia_Macau /*targetInfo*/,
33999 };
34000 
34001 //---------------------------------------------------------------------------
34002 // Link name: Asia/Muscat -> Asia/Dubai
34003 //---------------------------------------------------------------------------
34004 
34005 static const char kZoneNameAsia_Muscat[] ACE_TIME_PROGMEM = "\x05" "Muscat";
34006 
34007 const complete::Info::ZoneInfo kZoneAsia_Muscat ACE_TIME_PROGMEM = {
34008  kZoneNameAsia_Muscat /*name*/,
34009  0xc2c3565f /*zoneId*/,
34010  &kZoneContext /*zoneContext*/,
34011  2 /*numEras*/,
34012  kZoneEraAsia_Dubai /*eras*/,
34013  &kZoneAsia_Dubai /*targetInfo*/,
34014 };
34015 
34016 //---------------------------------------------------------------------------
34017 // Link name: Asia/Phnom_Penh -> Asia/Bangkok
34018 //---------------------------------------------------------------------------
34019 
34020 static const char kZoneNameAsia_Phnom_Penh[] ACE_TIME_PROGMEM = "\x05" "Phnom_Penh";
34021 
34022 const complete::Info::ZoneInfo kZoneAsia_Phnom_Penh ACE_TIME_PROGMEM = {
34023  kZoneNameAsia_Phnom_Penh /*name*/,
34024  0xc224945e /*zoneId*/,
34025  &kZoneContext /*zoneContext*/,
34026  3 /*numEras*/,
34027  kZoneEraAsia_Bangkok /*eras*/,
34028  &kZoneAsia_Bangkok /*targetInfo*/,
34029 };
34030 
34031 //---------------------------------------------------------------------------
34032 // Link name: Asia/Rangoon -> Asia/Yangon
34033 //---------------------------------------------------------------------------
34034 
34035 static const char kZoneNameAsia_Rangoon[] ACE_TIME_PROGMEM = "\x05" "Rangoon";
34036 
34037 const complete::Info::ZoneInfo kZoneAsia_Rangoon ACE_TIME_PROGMEM = {
34038  kZoneNameAsia_Rangoon /*name*/,
34039  0x6d1217c6 /*zoneId*/,
34040  &kZoneContext /*zoneContext*/,
34041  5 /*numEras*/,
34042  kZoneEraAsia_Yangon /*eras*/,
34043  &kZoneAsia_Yangon /*targetInfo*/,
34044 };
34045 
34046 //---------------------------------------------------------------------------
34047 // Link name: Asia/Saigon -> Asia/Ho_Chi_Minh
34048 //---------------------------------------------------------------------------
34049 
34050 static const char kZoneNameAsia_Saigon[] ACE_TIME_PROGMEM = "\x05" "Saigon";
34051 
34052 const complete::Info::ZoneInfo kZoneAsia_Saigon ACE_TIME_PROGMEM = {
34053  kZoneNameAsia_Saigon /*name*/,
34054  0xcf52f713 /*zoneId*/,
34055  &kZoneContext /*zoneContext*/,
34056  10 /*numEras*/,
34057  kZoneEraAsia_Ho_Chi_Minh /*eras*/,
34058  &kZoneAsia_Ho_Chi_Minh /*targetInfo*/,
34059 };
34060 
34061 //---------------------------------------------------------------------------
34062 // Link name: Asia/Tel_Aviv -> Asia/Jerusalem
34063 //---------------------------------------------------------------------------
34064 
34065 static const char kZoneNameAsia_Tel_Aviv[] ACE_TIME_PROGMEM = "\x05" "Tel_Aviv";
34066 
34067 const complete::Info::ZoneInfo kZoneAsia_Tel_Aviv ACE_TIME_PROGMEM = {
34068  kZoneNameAsia_Tel_Aviv /*name*/,
34069  0x166d7c2c /*zoneId*/,
34070  &kZoneContext /*zoneContext*/,
34071  3 /*numEras*/,
34072  kZoneEraAsia_Jerusalem /*eras*/,
34073  &kZoneAsia_Jerusalem /*targetInfo*/,
34074 };
34075 
34076 //---------------------------------------------------------------------------
34077 // Link name: Asia/Thimbu -> Asia/Thimphu
34078 //---------------------------------------------------------------------------
34079 
34080 static const char kZoneNameAsia_Thimbu[] ACE_TIME_PROGMEM = "\x05" "Thimbu";
34081 
34082 const complete::Info::ZoneInfo kZoneAsia_Thimbu ACE_TIME_PROGMEM = {
34083  kZoneNameAsia_Thimbu /*name*/,
34084  0xd226e31b /*zoneId*/,
34085  &kZoneContext /*zoneContext*/,
34086  3 /*numEras*/,
34087  kZoneEraAsia_Thimphu /*eras*/,
34088  &kZoneAsia_Thimphu /*targetInfo*/,
34089 };
34090 
34091 //---------------------------------------------------------------------------
34092 // Link name: Asia/Ujung_Pandang -> Asia/Makassar
34093 //---------------------------------------------------------------------------
34094 
34095 static const char kZoneNameAsia_Ujung_Pandang[] ACE_TIME_PROGMEM = "\x05" "Ujung_Pandang";
34096 
34097 const complete::Info::ZoneInfo kZoneAsia_Ujung_Pandang ACE_TIME_PROGMEM = {
34098  kZoneNameAsia_Ujung_Pandang /*name*/,
34099  0x5d001eb3 /*zoneId*/,
34100  &kZoneContext /*zoneContext*/,
34101  5 /*numEras*/,
34102  kZoneEraAsia_Makassar /*eras*/,
34103  &kZoneAsia_Makassar /*targetInfo*/,
34104 };
34105 
34106 //---------------------------------------------------------------------------
34107 // Link name: Asia/Ulan_Bator -> Asia/Ulaanbaatar
34108 //---------------------------------------------------------------------------
34109 
34110 static const char kZoneNameAsia_Ulan_Bator[] ACE_TIME_PROGMEM = "\x05" "Ulan_Bator";
34111 
34112 const complete::Info::ZoneInfo kZoneAsia_Ulan_Bator ACE_TIME_PROGMEM = {
34113  kZoneNameAsia_Ulan_Bator /*name*/,
34114  0x394db4d9 /*zoneId*/,
34115  &kZoneContext /*zoneContext*/,
34116  3 /*numEras*/,
34117  kZoneEraAsia_Ulaanbaatar /*eras*/,
34118  &kZoneAsia_Ulaanbaatar /*targetInfo*/,
34119 };
34120 
34121 //---------------------------------------------------------------------------
34122 // Link name: Asia/Vientiane -> Asia/Bangkok
34123 //---------------------------------------------------------------------------
34124 
34125 static const char kZoneNameAsia_Vientiane[] ACE_TIME_PROGMEM = "\x05" "Vientiane";
34126 
34127 const complete::Info::ZoneInfo kZoneAsia_Vientiane ACE_TIME_PROGMEM = {
34128  kZoneNameAsia_Vientiane /*name*/,
34129  0x89d68d75 /*zoneId*/,
34130  &kZoneContext /*zoneContext*/,
34131  3 /*numEras*/,
34132  kZoneEraAsia_Bangkok /*eras*/,
34133  &kZoneAsia_Bangkok /*targetInfo*/,
34134 };
34135 
34136 //---------------------------------------------------------------------------
34137 // Link name: Atlantic/Faeroe -> Atlantic/Faroe
34138 //---------------------------------------------------------------------------
34139 
34140 static const char kZoneNameAtlantic_Faeroe[] ACE_TIME_PROGMEM = "\x06" "Faeroe";
34141 
34142 const complete::Info::ZoneInfo kZoneAtlantic_Faeroe ACE_TIME_PROGMEM = {
34143  kZoneNameAtlantic_Faeroe /*name*/,
34144  0x031ec516 /*zoneId*/,
34145  &kZoneContext /*zoneContext*/,
34146  3 /*numEras*/,
34147  kZoneEraAtlantic_Faroe /*eras*/,
34148  &kZoneAtlantic_Faroe /*targetInfo*/,
34149 };
34150 
34151 //---------------------------------------------------------------------------
34152 // Link name: Atlantic/Jan_Mayen -> Europe/Berlin
34153 //---------------------------------------------------------------------------
34154 
34155 static const char kZoneNameAtlantic_Jan_Mayen[] ACE_TIME_PROGMEM = "\x06" "Jan_Mayen";
34156 
34157 const complete::Info::ZoneInfo kZoneAtlantic_Jan_Mayen ACE_TIME_PROGMEM = {
34158  kZoneNameAtlantic_Jan_Mayen /*name*/,
34159  0x5a7535b6 /*zoneId*/,
34160  &kZoneContext /*zoneContext*/,
34161  5 /*numEras*/,
34162  kZoneEraEurope_Berlin /*eras*/,
34163  &kZoneEurope_Berlin /*targetInfo*/,
34164 };
34165 
34166 //---------------------------------------------------------------------------
34167 // Link name: Atlantic/Reykjavik -> Africa/Abidjan
34168 //---------------------------------------------------------------------------
34169 
34170 static const char kZoneNameAtlantic_Reykjavik[] ACE_TIME_PROGMEM = "\x06" "Reykjavik";
34171 
34172 const complete::Info::ZoneInfo kZoneAtlantic_Reykjavik ACE_TIME_PROGMEM = {
34173  kZoneNameAtlantic_Reykjavik /*name*/,
34174  0x1c2b4f74 /*zoneId*/,
34175  &kZoneContext /*zoneContext*/,
34176  2 /*numEras*/,
34177  kZoneEraAfrica_Abidjan /*eras*/,
34178  &kZoneAfrica_Abidjan /*targetInfo*/,
34179 };
34180 
34181 //---------------------------------------------------------------------------
34182 // Link name: Atlantic/St_Helena -> Africa/Abidjan
34183 //---------------------------------------------------------------------------
34184 
34185 static const char kZoneNameAtlantic_St_Helena[] ACE_TIME_PROGMEM = "\x06" "St_Helena";
34186 
34187 const complete::Info::ZoneInfo kZoneAtlantic_St_Helena ACE_TIME_PROGMEM = {
34188  kZoneNameAtlantic_St_Helena /*name*/,
34189  0x451fc5f7 /*zoneId*/,
34190  &kZoneContext /*zoneContext*/,
34191  2 /*numEras*/,
34192  kZoneEraAfrica_Abidjan /*eras*/,
34193  &kZoneAfrica_Abidjan /*targetInfo*/,
34194 };
34195 
34196 //---------------------------------------------------------------------------
34197 // Link name: Australia/ACT -> Australia/Sydney
34198 //---------------------------------------------------------------------------
34199 
34200 static const char kZoneNameAustralia_ACT[] ACE_TIME_PROGMEM = "\x07" "ACT";
34201 
34202 const complete::Info::ZoneInfo kZoneAustralia_ACT ACE_TIME_PROGMEM = {
34203  kZoneNameAustralia_ACT /*name*/,
34204  0x8a970eb2 /*zoneId*/,
34205  &kZoneContext /*zoneContext*/,
34206  3 /*numEras*/,
34207  kZoneEraAustralia_Sydney /*eras*/,
34208  &kZoneAustralia_Sydney /*targetInfo*/,
34209 };
34210 
34211 //---------------------------------------------------------------------------
34212 // Link name: Australia/Canberra -> Australia/Sydney
34213 //---------------------------------------------------------------------------
34214 
34215 static const char kZoneNameAustralia_Canberra[] ACE_TIME_PROGMEM = "\x07" "Canberra";
34216 
34217 const complete::Info::ZoneInfo kZoneAustralia_Canberra ACE_TIME_PROGMEM = {
34218  kZoneNameAustralia_Canberra /*name*/,
34219  0x2a09ae58 /*zoneId*/,
34220  &kZoneContext /*zoneContext*/,
34221  3 /*numEras*/,
34222  kZoneEraAustralia_Sydney /*eras*/,
34223  &kZoneAustralia_Sydney /*targetInfo*/,
34224 };
34225 
34226 //---------------------------------------------------------------------------
34227 // Link name: Australia/Currie -> Australia/Hobart
34228 //---------------------------------------------------------------------------
34229 
34230 static const char kZoneNameAustralia_Currie[] ACE_TIME_PROGMEM = "\x07" "Currie";
34231 
34232 const complete::Info::ZoneInfo kZoneAustralia_Currie ACE_TIME_PROGMEM = {
34233  kZoneNameAustralia_Currie /*name*/,
34234  0x278b6a24 /*zoneId*/,
34235  &kZoneContext /*zoneContext*/,
34236  4 /*numEras*/,
34237  kZoneEraAustralia_Hobart /*eras*/,
34238  &kZoneAustralia_Hobart /*targetInfo*/,
34239 };
34240 
34241 //---------------------------------------------------------------------------
34242 // Link name: Australia/LHI -> Australia/Lord_Howe
34243 //---------------------------------------------------------------------------
34244 
34245 static const char kZoneNameAustralia_LHI[] ACE_TIME_PROGMEM = "\x07" "LHI";
34246 
34247 const complete::Info::ZoneInfo kZoneAustralia_LHI ACE_TIME_PROGMEM = {
34248  kZoneNameAustralia_LHI /*name*/,
34249  0x8a973e17 /*zoneId*/,
34250  &kZoneContext /*zoneContext*/,
34251  4 /*numEras*/,
34252  kZoneEraAustralia_Lord_Howe /*eras*/,
34253  &kZoneAustralia_Lord_Howe /*targetInfo*/,
34254 };
34255 
34256 //---------------------------------------------------------------------------
34257 // Link name: Australia/NSW -> Australia/Sydney
34258 //---------------------------------------------------------------------------
34259 
34260 static const char kZoneNameAustralia_NSW[] ACE_TIME_PROGMEM = "\x07" "NSW";
34261 
34262 const complete::Info::ZoneInfo kZoneAustralia_NSW ACE_TIME_PROGMEM = {
34263  kZoneNameAustralia_NSW /*name*/,
34264  0x8a974812 /*zoneId*/,
34265  &kZoneContext /*zoneContext*/,
34266  3 /*numEras*/,
34267  kZoneEraAustralia_Sydney /*eras*/,
34268  &kZoneAustralia_Sydney /*targetInfo*/,
34269 };
34270 
34271 //---------------------------------------------------------------------------
34272 // Link name: Australia/North -> Australia/Darwin
34273 //---------------------------------------------------------------------------
34274 
34275 static const char kZoneNameAustralia_North[] ACE_TIME_PROGMEM = "\x07" "North";
34276 
34277 const complete::Info::ZoneInfo kZoneAustralia_North ACE_TIME_PROGMEM = {
34278  kZoneNameAustralia_North /*name*/,
34279  0x8d997165 /*zoneId*/,
34280  &kZoneContext /*zoneContext*/,
34281  3 /*numEras*/,
34282  kZoneEraAustralia_Darwin /*eras*/,
34283  &kZoneAustralia_Darwin /*targetInfo*/,
34284 };
34285 
34286 //---------------------------------------------------------------------------
34287 // Link name: Australia/Queensland -> Australia/Brisbane
34288 //---------------------------------------------------------------------------
34289 
34290 static const char kZoneNameAustralia_Queensland[] ACE_TIME_PROGMEM = "\x07" "Queensland";
34291 
34292 const complete::Info::ZoneInfo kZoneAustralia_Queensland ACE_TIME_PROGMEM = {
34293  kZoneNameAustralia_Queensland /*name*/,
34294  0xd326ed0a /*zoneId*/,
34295  &kZoneContext /*zoneContext*/,
34296  3 /*numEras*/,
34297  kZoneEraAustralia_Brisbane /*eras*/,
34298  &kZoneAustralia_Brisbane /*targetInfo*/,
34299 };
34300 
34301 //---------------------------------------------------------------------------
34302 // Link name: Australia/South -> Australia/Adelaide
34303 //---------------------------------------------------------------------------
34304 
34305 static const char kZoneNameAustralia_South[] ACE_TIME_PROGMEM = "\x07" "South";
34306 
34307 const complete::Info::ZoneInfo kZoneAustralia_South ACE_TIME_PROGMEM = {
34308  kZoneNameAustralia_South /*name*/,
34309  0x8df3f8ad /*zoneId*/,
34310  &kZoneContext /*zoneContext*/,
34311  4 /*numEras*/,
34312  kZoneEraAustralia_Adelaide /*eras*/,
34313  &kZoneAustralia_Adelaide /*targetInfo*/,
34314 };
34315 
34316 //---------------------------------------------------------------------------
34317 // Link name: Australia/Tasmania -> Australia/Hobart
34318 //---------------------------------------------------------------------------
34319 
34320 static const char kZoneNameAustralia_Tasmania[] ACE_TIME_PROGMEM = "\x07" "Tasmania";
34321 
34322 const complete::Info::ZoneInfo kZoneAustralia_Tasmania ACE_TIME_PROGMEM = {
34323  kZoneNameAustralia_Tasmania /*name*/,
34324  0xe6d76648 /*zoneId*/,
34325  &kZoneContext /*zoneContext*/,
34326  4 /*numEras*/,
34327  kZoneEraAustralia_Hobart /*eras*/,
34328  &kZoneAustralia_Hobart /*targetInfo*/,
34329 };
34330 
34331 //---------------------------------------------------------------------------
34332 // Link name: Australia/Victoria -> Australia/Melbourne
34333 //---------------------------------------------------------------------------
34334 
34335 static const char kZoneNameAustralia_Victoria[] ACE_TIME_PROGMEM = "\x07" "Victoria";
34336 
34337 const complete::Info::ZoneInfo kZoneAustralia_Victoria ACE_TIME_PROGMEM = {
34338  kZoneNameAustralia_Victoria /*name*/,
34339  0x0260d5db /*zoneId*/,
34340  &kZoneContext /*zoneContext*/,
34341  3 /*numEras*/,
34342  kZoneEraAustralia_Melbourne /*eras*/,
34343  &kZoneAustralia_Melbourne /*targetInfo*/,
34344 };
34345 
34346 //---------------------------------------------------------------------------
34347 // Link name: Australia/West -> Australia/Perth
34348 //---------------------------------------------------------------------------
34349 
34350 static const char kZoneNameAustralia_West[] ACE_TIME_PROGMEM = "\x07" "West";
34351 
34352 const complete::Info::ZoneInfo kZoneAustralia_West ACE_TIME_PROGMEM = {
34353  kZoneNameAustralia_West /*name*/,
34354  0xdd858a5d /*zoneId*/,
34355  &kZoneContext /*zoneContext*/,
34356  3 /*numEras*/,
34357  kZoneEraAustralia_Perth /*eras*/,
34358  &kZoneAustralia_Perth /*targetInfo*/,
34359 };
34360 
34361 //---------------------------------------------------------------------------
34362 // Link name: Australia/Yancowinna -> Australia/Broken_Hill
34363 //---------------------------------------------------------------------------
34364 
34365 static const char kZoneNameAustralia_Yancowinna[] ACE_TIME_PROGMEM = "\x07" "Yancowinna";
34366 
34367 const complete::Info::ZoneInfo kZoneAustralia_Yancowinna ACE_TIME_PROGMEM = {
34368  kZoneNameAustralia_Yancowinna /*name*/,
34369  0x90bac131 /*zoneId*/,
34370  &kZoneContext /*zoneContext*/,
34371  6 /*numEras*/,
34372  kZoneEraAustralia_Broken_Hill /*eras*/,
34373  &kZoneAustralia_Broken_Hill /*targetInfo*/,
34374 };
34375 
34376 //---------------------------------------------------------------------------
34377 // Link name: Brazil/Acre -> America/Rio_Branco
34378 //---------------------------------------------------------------------------
34379 
34380 static const char kZoneNameBrazil_Acre[] ACE_TIME_PROGMEM = "\x08" "Acre";
34381 
34382 const complete::Info::ZoneInfo kZoneBrazil_Acre ACE_TIME_PROGMEM = {
34383  kZoneNameBrazil_Acre /*name*/,
34384  0x66934f93 /*zoneId*/,
34385  &kZoneContext /*zoneContext*/,
34386  5 /*numEras*/,
34387  kZoneEraAmerica_Rio_Branco /*eras*/,
34388  &kZoneAmerica_Rio_Branco /*targetInfo*/,
34389 };
34390 
34391 //---------------------------------------------------------------------------
34392 // Link name: Brazil/DeNoronha -> America/Noronha
34393 //---------------------------------------------------------------------------
34394 
34395 static const char kZoneNameBrazil_DeNoronha[] ACE_TIME_PROGMEM = "\x08" "DeNoronha";
34396 
34397 const complete::Info::ZoneInfo kZoneBrazil_DeNoronha ACE_TIME_PROGMEM = {
34398  kZoneNameBrazil_DeNoronha /*name*/,
34399  0x9b4cb496 /*zoneId*/,
34400  &kZoneContext /*zoneContext*/,
34401  7 /*numEras*/,
34402  kZoneEraAmerica_Noronha /*eras*/,
34403  &kZoneAmerica_Noronha /*targetInfo*/,
34404 };
34405 
34406 //---------------------------------------------------------------------------
34407 // Link name: Brazil/East -> America/Sao_Paulo
34408 //---------------------------------------------------------------------------
34409 
34410 static const char kZoneNameBrazil_East[] ACE_TIME_PROGMEM = "\x08" "East";
34411 
34412 const complete::Info::ZoneInfo kZoneBrazil_East ACE_TIME_PROGMEM = {
34413  kZoneNameBrazil_East /*name*/,
34414  0x669578c5 /*zoneId*/,
34415  &kZoneContext /*zoneContext*/,
34416  4 /*numEras*/,
34417  kZoneEraAmerica_Sao_Paulo /*eras*/,
34418  &kZoneAmerica_Sao_Paulo /*targetInfo*/,
34419 };
34420 
34421 //---------------------------------------------------------------------------
34422 // Link name: Brazil/West -> America/Manaus
34423 //---------------------------------------------------------------------------
34424 
34425 static const char kZoneNameBrazil_West[] ACE_TIME_PROGMEM = "\x08" "West";
34426 
34427 const complete::Info::ZoneInfo kZoneBrazil_West ACE_TIME_PROGMEM = {
34428  kZoneNameBrazil_West /*name*/,
34429  0x669f689b /*zoneId*/,
34430  &kZoneContext /*zoneContext*/,
34431  5 /*numEras*/,
34432  kZoneEraAmerica_Manaus /*eras*/,
34433  &kZoneAmerica_Manaus /*targetInfo*/,
34434 };
34435 
34436 //---------------------------------------------------------------------------
34437 // Link name: CET -> Europe/Brussels
34438 //---------------------------------------------------------------------------
34439 
34440 static const char kZoneNameCET[] ACE_TIME_PROGMEM = "CET";
34441 
34442 const complete::Info::ZoneInfo kZoneCET ACE_TIME_PROGMEM = {
34443  kZoneNameCET /*name*/,
34444  0x0b87d921 /*zoneId*/,
34445  &kZoneContext /*zoneContext*/,
34446  9 /*numEras*/,
34447  kZoneEraEurope_Brussels /*eras*/,
34448  &kZoneEurope_Brussels /*targetInfo*/,
34449 };
34450 
34451 //---------------------------------------------------------------------------
34452 // Link name: CST6CDT -> America/Chicago
34453 //---------------------------------------------------------------------------
34454 
34455 static const char kZoneNameCST6CDT[] ACE_TIME_PROGMEM = "CST6CDT";
34456 
34457 const complete::Info::ZoneInfo kZoneCST6CDT ACE_TIME_PROGMEM = {
34458  kZoneNameCST6CDT /*name*/,
34459  0xf0e87d00 /*zoneId*/,
34460  &kZoneContext /*zoneContext*/,
34461  8 /*numEras*/,
34462  kZoneEraAmerica_Chicago /*eras*/,
34463  &kZoneAmerica_Chicago /*targetInfo*/,
34464 };
34465 
34466 //---------------------------------------------------------------------------
34467 // Link name: Canada/Atlantic -> America/Halifax
34468 //---------------------------------------------------------------------------
34469 
34470 static const char kZoneNameCanada_Atlantic[] ACE_TIME_PROGMEM = "\x09" "Atlantic";
34471 
34472 const complete::Info::ZoneInfo kZoneCanada_Atlantic ACE_TIME_PROGMEM = {
34473  kZoneNameCanada_Atlantic /*name*/,
34474  0x536b119c /*zoneId*/,
34475  &kZoneContext /*zoneContext*/,
34476  7 /*numEras*/,
34477  kZoneEraAmerica_Halifax /*eras*/,
34478  &kZoneAmerica_Halifax /*targetInfo*/,
34479 };
34480 
34481 //---------------------------------------------------------------------------
34482 // Link name: Canada/Central -> America/Winnipeg
34483 //---------------------------------------------------------------------------
34484 
34485 static const char kZoneNameCanada_Central[] ACE_TIME_PROGMEM = "\x09" "Central";
34486 
34487 const complete::Info::ZoneInfo kZoneCanada_Central ACE_TIME_PROGMEM = {
34488  kZoneNameCanada_Central /*name*/,
34489  0x626710f5 /*zoneId*/,
34490  &kZoneContext /*zoneContext*/,
34491  3 /*numEras*/,
34492  kZoneEraAmerica_Winnipeg /*eras*/,
34493  &kZoneAmerica_Winnipeg /*targetInfo*/,
34494 };
34495 
34496 //---------------------------------------------------------------------------
34497 // Link name: Canada/Eastern -> America/Toronto
34498 //---------------------------------------------------------------------------
34499 
34500 static const char kZoneNameCanada_Eastern[] ACE_TIME_PROGMEM = "\x09" "Eastern";
34501 
34502 const complete::Info::ZoneInfo kZoneCanada_Eastern ACE_TIME_PROGMEM = {
34503  kZoneNameCanada_Eastern /*name*/,
34504  0xf3612d5e /*zoneId*/,
34505  &kZoneContext /*zoneContext*/,
34506  6 /*numEras*/,
34507  kZoneEraAmerica_Toronto /*eras*/,
34508  &kZoneAmerica_Toronto /*targetInfo*/,
34509 };
34510 
34511 //---------------------------------------------------------------------------
34512 // Link name: Canada/Mountain -> America/Edmonton
34513 //---------------------------------------------------------------------------
34514 
34515 static const char kZoneNameCanada_Mountain[] ACE_TIME_PROGMEM = "\x09" "Mountain";
34516 
34517 const complete::Info::ZoneInfo kZoneCanada_Mountain ACE_TIME_PROGMEM = {
34518  kZoneNameCanada_Mountain /*name*/,
34519  0xfb8a8217 /*zoneId*/,
34520  &kZoneContext /*zoneContext*/,
34521  3 /*numEras*/,
34522  kZoneEraAmerica_Edmonton /*eras*/,
34523  &kZoneAmerica_Edmonton /*targetInfo*/,
34524 };
34525 
34526 //---------------------------------------------------------------------------
34527 // Link name: Canada/Newfoundland -> America/St_Johns
34528 //---------------------------------------------------------------------------
34529 
34530 static const char kZoneNameCanada_Newfoundland[] ACE_TIME_PROGMEM = "\x09" "Newfoundland";
34531 
34532 const complete::Info::ZoneInfo kZoneCanada_Newfoundland ACE_TIME_PROGMEM = {
34533  kZoneNameCanada_Newfoundland /*name*/,
34534  0xb396e991 /*zoneId*/,
34535  &kZoneContext /*zoneContext*/,
34536  8 /*numEras*/,
34537  kZoneEraAmerica_St_Johns /*eras*/,
34538  &kZoneAmerica_St_Johns /*targetInfo*/,
34539 };
34540 
34541 //---------------------------------------------------------------------------
34542 // Link name: Canada/Pacific -> America/Vancouver
34543 //---------------------------------------------------------------------------
34544 
34545 static const char kZoneNameCanada_Pacific[] ACE_TIME_PROGMEM = "\x09" "Pacific";
34546 
34547 const complete::Info::ZoneInfo kZoneCanada_Pacific ACE_TIME_PROGMEM = {
34548  kZoneNameCanada_Pacific /*name*/,
34549  0x40fa3c7b /*zoneId*/,
34550  &kZoneContext /*zoneContext*/,
34551  3 /*numEras*/,
34552  kZoneEraAmerica_Vancouver /*eras*/,
34553  &kZoneAmerica_Vancouver /*targetInfo*/,
34554 };
34555 
34556 //---------------------------------------------------------------------------
34557 // Link name: Canada/Saskatchewan -> America/Regina
34558 //---------------------------------------------------------------------------
34559 
34560 static const char kZoneNameCanada_Saskatchewan[] ACE_TIME_PROGMEM = "\x09" "Saskatchewan";
34561 
34562 const complete::Info::ZoneInfo kZoneCanada_Saskatchewan ACE_TIME_PROGMEM = {
34563  kZoneNameCanada_Saskatchewan /*name*/,
34564  0x77311f49 /*zoneId*/,
34565  &kZoneContext /*zoneContext*/,
34566  3 /*numEras*/,
34567  kZoneEraAmerica_Regina /*eras*/,
34568  &kZoneAmerica_Regina /*targetInfo*/,
34569 };
34570 
34571 //---------------------------------------------------------------------------
34572 // Link name: Canada/Yukon -> America/Whitehorse
34573 //---------------------------------------------------------------------------
34574 
34575 static const char kZoneNameCanada_Yukon[] ACE_TIME_PROGMEM = "\x09" "Yukon";
34576 
34577 const complete::Info::ZoneInfo kZoneCanada_Yukon ACE_TIME_PROGMEM = {
34578  kZoneNameCanada_Yukon /*name*/,
34579  0x78dd35c2 /*zoneId*/,
34580  &kZoneContext /*zoneContext*/,
34581  6 /*numEras*/,
34582  kZoneEraAmerica_Whitehorse /*eras*/,
34583  &kZoneAmerica_Whitehorse /*targetInfo*/,
34584 };
34585 
34586 //---------------------------------------------------------------------------
34587 // Link name: Chile/Continental -> America/Santiago
34588 //---------------------------------------------------------------------------
34589 
34590 static const char kZoneNameChile_Continental[] ACE_TIME_PROGMEM = "Chile/Continental";
34591 
34592 const complete::Info::ZoneInfo kZoneChile_Continental ACE_TIME_PROGMEM = {
34593  kZoneNameChile_Continental /*name*/,
34594  0x7e2bdb18 /*zoneId*/,
34595  &kZoneContext /*zoneContext*/,
34596  14 /*numEras*/,
34597  kZoneEraAmerica_Santiago /*eras*/,
34598  &kZoneAmerica_Santiago /*targetInfo*/,
34599 };
34600 
34601 //---------------------------------------------------------------------------
34602 // Link name: Chile/EasterIsland -> Pacific/Easter
34603 //---------------------------------------------------------------------------
34604 
34605 static const char kZoneNameChile_EasterIsland[] ACE_TIME_PROGMEM = "Chile/EasterIsland";
34606 
34607 const complete::Info::ZoneInfo kZoneChile_EasterIsland ACE_TIME_PROGMEM = {
34608  kZoneNameChile_EasterIsland /*name*/,
34609  0xb0982af8 /*zoneId*/,
34610  &kZoneContext /*zoneContext*/,
34611  4 /*numEras*/,
34612  kZoneEraPacific_Easter /*eras*/,
34613  &kZonePacific_Easter /*targetInfo*/,
34614 };
34615 
34616 //---------------------------------------------------------------------------
34617 // Link name: Cuba -> America/Havana
34618 //---------------------------------------------------------------------------
34619 
34620 static const char kZoneNameCuba[] ACE_TIME_PROGMEM = "Cuba";
34621 
34622 const complete::Info::ZoneInfo kZoneCuba ACE_TIME_PROGMEM = {
34623  kZoneNameCuba /*name*/,
34624  0x7c83cba0 /*zoneId*/,
34625  &kZoneContext /*zoneContext*/,
34626  3 /*numEras*/,
34627  kZoneEraAmerica_Havana /*eras*/,
34628  &kZoneAmerica_Havana /*targetInfo*/,
34629 };
34630 
34631 //---------------------------------------------------------------------------
34632 // Link name: EET -> Europe/Athens
34633 //---------------------------------------------------------------------------
34634 
34635 static const char kZoneNameEET[] ACE_TIME_PROGMEM = "EET";
34636 
34637 const complete::Info::ZoneInfo kZoneEET ACE_TIME_PROGMEM = {
34638  kZoneNameEET /*name*/,
34639  0x0b87e1a3 /*zoneId*/,
34640  &kZoneContext /*zoneContext*/,
34641  6 /*numEras*/,
34642  kZoneEraEurope_Athens /*eras*/,
34643  &kZoneEurope_Athens /*targetInfo*/,
34644 };
34645 
34646 //---------------------------------------------------------------------------
34647 // Link name: EST -> America/Panama
34648 //---------------------------------------------------------------------------
34649 
34650 static const char kZoneNameEST[] ACE_TIME_PROGMEM = "EST";
34651 
34652 const complete::Info::ZoneInfo kZoneEST ACE_TIME_PROGMEM = {
34653  kZoneNameEST /*name*/,
34654  0x0b87e371 /*zoneId*/,
34655  &kZoneContext /*zoneContext*/,
34656  3 /*numEras*/,
34657  kZoneEraAmerica_Panama /*eras*/,
34658  &kZoneAmerica_Panama /*targetInfo*/,
34659 };
34660 
34661 //---------------------------------------------------------------------------
34662 // Link name: EST5EDT -> America/New_York
34663 //---------------------------------------------------------------------------
34664 
34665 static const char kZoneNameEST5EDT[] ACE_TIME_PROGMEM = "EST5EDT";
34666 
34667 const complete::Info::ZoneInfo kZoneEST5EDT ACE_TIME_PROGMEM = {
34668  kZoneNameEST5EDT /*name*/,
34669  0x8adc72a3 /*zoneId*/,
34670  &kZoneContext /*zoneContext*/,
34671  6 /*numEras*/,
34672  kZoneEraAmerica_New_York /*eras*/,
34673  &kZoneAmerica_New_York /*targetInfo*/,
34674 };
34675 
34676 //---------------------------------------------------------------------------
34677 // Link name: Egypt -> Africa/Cairo
34678 //---------------------------------------------------------------------------
34679 
34680 static const char kZoneNameEgypt[] ACE_TIME_PROGMEM = "Egypt";
34681 
34682 const complete::Info::ZoneInfo kZoneEgypt ACE_TIME_PROGMEM = {
34683  kZoneNameEgypt /*name*/,
34684  0x0d1a278e /*zoneId*/,
34685  &kZoneContext /*zoneContext*/,
34686  2 /*numEras*/,
34687  kZoneEraAfrica_Cairo /*eras*/,
34688  &kZoneAfrica_Cairo /*targetInfo*/,
34689 };
34690 
34691 //---------------------------------------------------------------------------
34692 // Link name: Eire -> Europe/Dublin
34693 //---------------------------------------------------------------------------
34694 
34695 static const char kZoneNameEire[] ACE_TIME_PROGMEM = "Eire";
34696 
34697 const complete::Info::ZoneInfo kZoneEire ACE_TIME_PROGMEM = {
34698  kZoneNameEire /*name*/,
34699  0x7c84b36a /*zoneId*/,
34700  &kZoneContext /*zoneContext*/,
34701  11 /*numEras*/,
34702  kZoneEraEurope_Dublin /*eras*/,
34703  &kZoneEurope_Dublin /*targetInfo*/,
34704 };
34705 
34706 //---------------------------------------------------------------------------
34707 // Link name: Etc/GMT+0 -> Etc/GMT
34708 //---------------------------------------------------------------------------
34709 
34710 static const char kZoneNameEtc_GMT_PLUS_0[] ACE_TIME_PROGMEM = "\x0a" "GMT+0";
34711 
34712 const complete::Info::ZoneInfo kZoneEtc_GMT_PLUS_0 ACE_TIME_PROGMEM = {
34713  kZoneNameEtc_GMT_PLUS_0 /*name*/,
34714  0x9d13da13 /*zoneId*/,
34715  &kZoneContext /*zoneContext*/,
34716  1 /*numEras*/,
34717  kZoneEraEtc_GMT /*eras*/,
34718  &kZoneEtc_GMT /*targetInfo*/,
34719 };
34720 
34721 //---------------------------------------------------------------------------
34722 // Link name: Etc/GMT-0 -> Etc/GMT
34723 //---------------------------------------------------------------------------
34724 
34725 static const char kZoneNameEtc_GMT_0[] ACE_TIME_PROGMEM = "\x0a" "GMT-0";
34726 
34727 const complete::Info::ZoneInfo kZoneEtc_GMT_0 ACE_TIME_PROGMEM = {
34728  kZoneNameEtc_GMT_0 /*name*/,
34729  0x9d13da55 /*zoneId*/,
34730  &kZoneContext /*zoneContext*/,
34731  1 /*numEras*/,
34732  kZoneEraEtc_GMT /*eras*/,
34733  &kZoneEtc_GMT /*targetInfo*/,
34734 };
34735 
34736 //---------------------------------------------------------------------------
34737 // Link name: Etc/GMT0 -> Etc/GMT
34738 //---------------------------------------------------------------------------
34739 
34740 static const char kZoneNameEtc_GMT0[] ACE_TIME_PROGMEM = "\x0a" "GMT0";
34741 
34742 const complete::Info::ZoneInfo kZoneEtc_GMT0 ACE_TIME_PROGMEM = {
34743  kZoneNameEtc_GMT0 /*name*/,
34744  0xf53ea988 /*zoneId*/,
34745  &kZoneContext /*zoneContext*/,
34746  1 /*numEras*/,
34747  kZoneEraEtc_GMT /*eras*/,
34748  &kZoneEtc_GMT /*targetInfo*/,
34749 };
34750 
34751 //---------------------------------------------------------------------------
34752 // Link name: Etc/Greenwich -> Etc/GMT
34753 //---------------------------------------------------------------------------
34754 
34755 static const char kZoneNameEtc_Greenwich[] ACE_TIME_PROGMEM = "\x0a" "Greenwich";
34756 
34757 const complete::Info::ZoneInfo kZoneEtc_Greenwich ACE_TIME_PROGMEM = {
34758  kZoneNameEtc_Greenwich /*name*/,
34759  0x26daa98c /*zoneId*/,
34760  &kZoneContext /*zoneContext*/,
34761  1 /*numEras*/,
34762  kZoneEraEtc_GMT /*eras*/,
34763  &kZoneEtc_GMT /*targetInfo*/,
34764 };
34765 
34766 //---------------------------------------------------------------------------
34767 // Link name: Etc/UCT -> Etc/UTC
34768 //---------------------------------------------------------------------------
34769 
34770 static const char kZoneNameEtc_UCT[] ACE_TIME_PROGMEM = "\x0a" "UCT";
34771 
34772 const complete::Info::ZoneInfo kZoneEtc_UCT ACE_TIME_PROGMEM = {
34773  kZoneNameEtc_UCT /*name*/,
34774  0xd8e3189c /*zoneId*/,
34775  &kZoneContext /*zoneContext*/,
34776  1 /*numEras*/,
34777  kZoneEraEtc_UTC /*eras*/,
34778  &kZoneEtc_UTC /*targetInfo*/,
34779 };
34780 
34781 //---------------------------------------------------------------------------
34782 // Link name: Etc/Universal -> Etc/UTC
34783 //---------------------------------------------------------------------------
34784 
34785 static const char kZoneNameEtc_Universal[] ACE_TIME_PROGMEM = "\x0a" "Universal";
34786 
34787 const complete::Info::ZoneInfo kZoneEtc_Universal ACE_TIME_PROGMEM = {
34788  kZoneNameEtc_Universal /*name*/,
34789  0x2f8cb9a9 /*zoneId*/,
34790  &kZoneContext /*zoneContext*/,
34791  1 /*numEras*/,
34792  kZoneEraEtc_UTC /*eras*/,
34793  &kZoneEtc_UTC /*targetInfo*/,
34794 };
34795 
34796 //---------------------------------------------------------------------------
34797 // Link name: Etc/Zulu -> Etc/UTC
34798 //---------------------------------------------------------------------------
34799 
34800 static const char kZoneNameEtc_Zulu[] ACE_TIME_PROGMEM = "\x0a" "Zulu";
34801 
34802 const complete::Info::ZoneInfo kZoneEtc_Zulu ACE_TIME_PROGMEM = {
34803  kZoneNameEtc_Zulu /*name*/,
34804  0xf549c240 /*zoneId*/,
34805  &kZoneContext /*zoneContext*/,
34806  1 /*numEras*/,
34807  kZoneEraEtc_UTC /*eras*/,
34808  &kZoneEtc_UTC /*targetInfo*/,
34809 };
34810 
34811 //---------------------------------------------------------------------------
34812 // Link name: Europe/Amsterdam -> Europe/Brussels
34813 //---------------------------------------------------------------------------
34814 
34815 static const char kZoneNameEurope_Amsterdam[] ACE_TIME_PROGMEM = "\x0b" "Amsterdam";
34816 
34817 const complete::Info::ZoneInfo kZoneEurope_Amsterdam ACE_TIME_PROGMEM = {
34818  kZoneNameEurope_Amsterdam /*name*/,
34819  0x109395c2 /*zoneId*/,
34820  &kZoneContext /*zoneContext*/,
34821  9 /*numEras*/,
34822  kZoneEraEurope_Brussels /*eras*/,
34823  &kZoneEurope_Brussels /*targetInfo*/,
34824 };
34825 
34826 //---------------------------------------------------------------------------
34827 // Link name: Europe/Belfast -> Europe/London
34828 //---------------------------------------------------------------------------
34829 
34830 static const char kZoneNameEurope_Belfast[] ACE_TIME_PROGMEM = "\x0b" "Belfast";
34831 
34832 const complete::Info::ZoneInfo kZoneEurope_Belfast ACE_TIME_PROGMEM = {
34833  kZoneNameEurope_Belfast /*name*/,
34834  0xd07dd1e5 /*zoneId*/,
34835  &kZoneContext /*zoneContext*/,
34836  5 /*numEras*/,
34837  kZoneEraEurope_London /*eras*/,
34838  &kZoneEurope_London /*targetInfo*/,
34839 };
34840 
34841 //---------------------------------------------------------------------------
34842 // Link name: Europe/Bratislava -> Europe/Prague
34843 //---------------------------------------------------------------------------
34844 
34845 static const char kZoneNameEurope_Bratislava[] ACE_TIME_PROGMEM = "\x0b" "Bratislava";
34846 
34847 const complete::Info::ZoneInfo kZoneEurope_Bratislava ACE_TIME_PROGMEM = {
34848  kZoneNameEurope_Bratislava /*name*/,
34849  0xda493bed /*zoneId*/,
34850  &kZoneContext /*zoneContext*/,
34851  7 /*numEras*/,
34852  kZoneEraEurope_Prague /*eras*/,
34853  &kZoneEurope_Prague /*targetInfo*/,
34854 };
34855 
34856 //---------------------------------------------------------------------------
34857 // Link name: Europe/Busingen -> Europe/Zurich
34858 //---------------------------------------------------------------------------
34859 
34860 static const char kZoneNameEurope_Busingen[] ACE_TIME_PROGMEM = "\x0b" "Busingen";
34861 
34862 const complete::Info::ZoneInfo kZoneEurope_Busingen ACE_TIME_PROGMEM = {
34863  kZoneNameEurope_Busingen /*name*/,
34864  0xc06d2cdf /*zoneId*/,
34865  &kZoneContext /*zoneContext*/,
34866  4 /*numEras*/,
34867  kZoneEraEurope_Zurich /*eras*/,
34868  &kZoneEurope_Zurich /*targetInfo*/,
34869 };
34870 
34871 //---------------------------------------------------------------------------
34872 // Link name: Europe/Copenhagen -> Europe/Berlin
34873 //---------------------------------------------------------------------------
34874 
34875 static const char kZoneNameEurope_Copenhagen[] ACE_TIME_PROGMEM = "\x0b" "Copenhagen";
34876 
34877 const complete::Info::ZoneInfo kZoneEurope_Copenhagen ACE_TIME_PROGMEM = {
34878  kZoneNameEurope_Copenhagen /*name*/,
34879  0xe0ed30bc /*zoneId*/,
34880  &kZoneContext /*zoneContext*/,
34881  5 /*numEras*/,
34882  kZoneEraEurope_Berlin /*eras*/,
34883  &kZoneEurope_Berlin /*targetInfo*/,
34884 };
34885 
34886 //---------------------------------------------------------------------------
34887 // Link name: Europe/Guernsey -> Europe/London
34888 //---------------------------------------------------------------------------
34889 
34890 static const char kZoneNameEurope_Guernsey[] ACE_TIME_PROGMEM = "\x0b" "Guernsey";
34891 
34892 const complete::Info::ZoneInfo kZoneEurope_Guernsey ACE_TIME_PROGMEM = {
34893  kZoneNameEurope_Guernsey /*name*/,
34894  0x3db12c16 /*zoneId*/,
34895  &kZoneContext /*zoneContext*/,
34896  5 /*numEras*/,
34897  kZoneEraEurope_London /*eras*/,
34898  &kZoneEurope_London /*targetInfo*/,
34899 };
34900 
34901 //---------------------------------------------------------------------------
34902 // Link name: Europe/Isle_of_Man -> Europe/London
34903 //---------------------------------------------------------------------------
34904 
34905 static const char kZoneNameEurope_Isle_of_Man[] ACE_TIME_PROGMEM = "\x0b" "Isle_of_Man";
34906 
34907 const complete::Info::ZoneInfo kZoneEurope_Isle_of_Man ACE_TIME_PROGMEM = {
34908  kZoneNameEurope_Isle_of_Man /*name*/,
34909  0xeaf84580 /*zoneId*/,
34910  &kZoneContext /*zoneContext*/,
34911  5 /*numEras*/,
34912  kZoneEraEurope_London /*eras*/,
34913  &kZoneEurope_London /*targetInfo*/,
34914 };
34915 
34916 //---------------------------------------------------------------------------
34917 // Link name: Europe/Jersey -> Europe/London
34918 //---------------------------------------------------------------------------
34919 
34920 static const char kZoneNameEurope_Jersey[] ACE_TIME_PROGMEM = "\x0b" "Jersey";
34921 
34922 const complete::Info::ZoneInfo kZoneEurope_Jersey ACE_TIME_PROGMEM = {
34923  kZoneNameEurope_Jersey /*name*/,
34924  0x570dae76 /*zoneId*/,
34925  &kZoneContext /*zoneContext*/,
34926  5 /*numEras*/,
34927  kZoneEraEurope_London /*eras*/,
34928  &kZoneEurope_London /*targetInfo*/,
34929 };
34930 
34931 //---------------------------------------------------------------------------
34932 // Link name: Europe/Kiev -> Europe/Kyiv
34933 //---------------------------------------------------------------------------
34934 
34935 static const char kZoneNameEurope_Kiev[] ACE_TIME_PROGMEM = "\x0b" "Kiev";
34936 
34937 const complete::Info::ZoneInfo kZoneEurope_Kiev ACE_TIME_PROGMEM = {
34938  kZoneNameEurope_Kiev /*name*/,
34939  0xa2c19eb3 /*zoneId*/,
34940  &kZoneContext /*zoneContext*/,
34941  9 /*numEras*/,
34942  kZoneEraEurope_Kyiv /*eras*/,
34943  &kZoneEurope_Kyiv /*targetInfo*/,
34944 };
34945 
34946 //---------------------------------------------------------------------------
34947 // Link name: Europe/Ljubljana -> Europe/Belgrade
34948 //---------------------------------------------------------------------------
34949 
34950 static const char kZoneNameEurope_Ljubljana[] ACE_TIME_PROGMEM = "\x0b" "Ljubljana";
34951 
34952 const complete::Info::ZoneInfo kZoneEurope_Ljubljana ACE_TIME_PROGMEM = {
34953  kZoneNameEurope_Ljubljana /*name*/,
34954  0xbd98cdb7 /*zoneId*/,
34955  &kZoneContext /*zoneContext*/,
34956  7 /*numEras*/,
34957  kZoneEraEurope_Belgrade /*eras*/,
34958  &kZoneEurope_Belgrade /*targetInfo*/,
34959 };
34960 
34961 //---------------------------------------------------------------------------
34962 // Link name: Europe/Luxembourg -> Europe/Brussels
34963 //---------------------------------------------------------------------------
34964 
34965 static const char kZoneNameEurope_Luxembourg[] ACE_TIME_PROGMEM = "\x0b" "Luxembourg";
34966 
34967 const complete::Info::ZoneInfo kZoneEurope_Luxembourg ACE_TIME_PROGMEM = {
34968  kZoneNameEurope_Luxembourg /*name*/,
34969  0x1f8bc6ce /*zoneId*/,
34970  &kZoneContext /*zoneContext*/,
34971  9 /*numEras*/,
34972  kZoneEraEurope_Brussels /*eras*/,
34973  &kZoneEurope_Brussels /*targetInfo*/,
34974 };
34975 
34976 //---------------------------------------------------------------------------
34977 // Link name: Europe/Mariehamn -> Europe/Helsinki
34978 //---------------------------------------------------------------------------
34979 
34980 static const char kZoneNameEurope_Mariehamn[] ACE_TIME_PROGMEM = "\x0b" "Mariehamn";
34981 
34982 const complete::Info::ZoneInfo kZoneEurope_Mariehamn ACE_TIME_PROGMEM = {
34983  kZoneNameEurope_Mariehamn /*name*/,
34984  0x0caa6496 /*zoneId*/,
34985  &kZoneContext /*zoneContext*/,
34986  4 /*numEras*/,
34987  kZoneEraEurope_Helsinki /*eras*/,
34988  &kZoneEurope_Helsinki /*targetInfo*/,
34989 };
34990 
34991 //---------------------------------------------------------------------------
34992 // Link name: Europe/Monaco -> Europe/Paris
34993 //---------------------------------------------------------------------------
34994 
34995 static const char kZoneNameEurope_Monaco[] ACE_TIME_PROGMEM = "\x0b" "Monaco";
34996 
34997 const complete::Info::ZoneInfo kZoneEurope_Monaco ACE_TIME_PROGMEM = {
34998  kZoneNameEurope_Monaco /*name*/,
34999  0x5ebf9f01 /*zoneId*/,
35000  &kZoneContext /*zoneContext*/,
35001  7 /*numEras*/,
35002  kZoneEraEurope_Paris /*eras*/,
35003  &kZoneEurope_Paris /*targetInfo*/,
35004 };
35005 
35006 //---------------------------------------------------------------------------
35007 // Link name: Europe/Nicosia -> Asia/Nicosia
35008 //---------------------------------------------------------------------------
35009 
35010 static const char kZoneNameEurope_Nicosia[] ACE_TIME_PROGMEM = "\x0b" "Nicosia";
35011 
35012 const complete::Info::ZoneInfo kZoneEurope_Nicosia ACE_TIME_PROGMEM = {
35013  kZoneNameEurope_Nicosia /*name*/,
35014  0x74efab8a /*zoneId*/,
35015  &kZoneContext /*zoneContext*/,
35016  3 /*numEras*/,
35017  kZoneEraAsia_Nicosia /*eras*/,
35018  &kZoneAsia_Nicosia /*targetInfo*/,
35019 };
35020 
35021 //---------------------------------------------------------------------------
35022 // Link name: Europe/Oslo -> Europe/Berlin
35023 //---------------------------------------------------------------------------
35024 
35025 static const char kZoneNameEurope_Oslo[] ACE_TIME_PROGMEM = "\x0b" "Oslo";
35026 
35027 const complete::Info::ZoneInfo kZoneEurope_Oslo ACE_TIME_PROGMEM = {
35028  kZoneNameEurope_Oslo /*name*/,
35029  0xa2c3fba1 /*zoneId*/,
35030  &kZoneContext /*zoneContext*/,
35031  5 /*numEras*/,
35032  kZoneEraEurope_Berlin /*eras*/,
35033  &kZoneEurope_Berlin /*targetInfo*/,
35034 };
35035 
35036 //---------------------------------------------------------------------------
35037 // Link name: Europe/Podgorica -> Europe/Belgrade
35038 //---------------------------------------------------------------------------
35039 
35040 static const char kZoneNameEurope_Podgorica[] ACE_TIME_PROGMEM = "\x0b" "Podgorica";
35041 
35042 const complete::Info::ZoneInfo kZoneEurope_Podgorica ACE_TIME_PROGMEM = {
35043  kZoneNameEurope_Podgorica /*name*/,
35044  0x1c1a499c /*zoneId*/,
35045  &kZoneContext /*zoneContext*/,
35046  7 /*numEras*/,
35047  kZoneEraEurope_Belgrade /*eras*/,
35048  &kZoneEurope_Belgrade /*targetInfo*/,
35049 };
35050 
35051 //---------------------------------------------------------------------------
35052 // Link name: Europe/San_Marino -> Europe/Rome
35053 //---------------------------------------------------------------------------
35054 
35055 static const char kZoneNameEurope_San_Marino[] ACE_TIME_PROGMEM = "\x0b" "San_Marino";
35056 
35057 const complete::Info::ZoneInfo kZoneEurope_San_Marino ACE_TIME_PROGMEM = {
35058  kZoneNameEurope_San_Marino /*name*/,
35059  0xcef7724b /*zoneId*/,
35060  &kZoneContext /*zoneContext*/,
35061  6 /*numEras*/,
35062  kZoneEraEurope_Rome /*eras*/,
35063  &kZoneEurope_Rome /*targetInfo*/,
35064 };
35065 
35066 //---------------------------------------------------------------------------
35067 // Link name: Europe/Sarajevo -> Europe/Belgrade
35068 //---------------------------------------------------------------------------
35069 
35070 static const char kZoneNameEurope_Sarajevo[] ACE_TIME_PROGMEM = "\x0b" "Sarajevo";
35071 
35072 const complete::Info::ZoneInfo kZoneEurope_Sarajevo ACE_TIME_PROGMEM = {
35073  kZoneNameEurope_Sarajevo /*name*/,
35074  0x6a576c3f /*zoneId*/,
35075  &kZoneContext /*zoneContext*/,
35076  7 /*numEras*/,
35077  kZoneEraEurope_Belgrade /*eras*/,
35078  &kZoneEurope_Belgrade /*targetInfo*/,
35079 };
35080 
35081 //---------------------------------------------------------------------------
35082 // Link name: Europe/Skopje -> Europe/Belgrade
35083 //---------------------------------------------------------------------------
35084 
35085 static const char kZoneNameEurope_Skopje[] ACE_TIME_PROGMEM = "\x0b" "Skopje";
35086 
35087 const complete::Info::ZoneInfo kZoneEurope_Skopje ACE_TIME_PROGMEM = {
35088  kZoneNameEurope_Skopje /*name*/,
35089  0x6c76fdd0 /*zoneId*/,
35090  &kZoneContext /*zoneContext*/,
35091  7 /*numEras*/,
35092  kZoneEraEurope_Belgrade /*eras*/,
35093  &kZoneEurope_Belgrade /*targetInfo*/,
35094 };
35095 
35096 //---------------------------------------------------------------------------
35097 // Link name: Europe/Stockholm -> Europe/Berlin
35098 //---------------------------------------------------------------------------
35099 
35100 static const char kZoneNameEurope_Stockholm[] ACE_TIME_PROGMEM = "\x0b" "Stockholm";
35101 
35102 const complete::Info::ZoneInfo kZoneEurope_Stockholm ACE_TIME_PROGMEM = {
35103  kZoneNameEurope_Stockholm /*name*/,
35104  0x5bf6fbb8 /*zoneId*/,
35105  &kZoneContext /*zoneContext*/,
35106  5 /*numEras*/,
35107  kZoneEraEurope_Berlin /*eras*/,
35108  &kZoneEurope_Berlin /*targetInfo*/,
35109 };
35110 
35111 //---------------------------------------------------------------------------
35112 // Link name: Europe/Tiraspol -> Europe/Chisinau
35113 //---------------------------------------------------------------------------
35114 
35115 static const char kZoneNameEurope_Tiraspol[] ACE_TIME_PROGMEM = "\x0b" "Tiraspol";
35116 
35117 const complete::Info::ZoneInfo kZoneEurope_Tiraspol ACE_TIME_PROGMEM = {
35118  kZoneNameEurope_Tiraspol /*name*/,
35119  0xbe704472 /*zoneId*/,
35120  &kZoneContext /*zoneContext*/,
35121  10 /*numEras*/,
35122  kZoneEraEurope_Chisinau /*eras*/,
35123  &kZoneEurope_Chisinau /*targetInfo*/,
35124 };
35125 
35126 //---------------------------------------------------------------------------
35127 // Link name: Europe/Uzhgorod -> Europe/Kyiv
35128 //---------------------------------------------------------------------------
35129 
35130 static const char kZoneNameEurope_Uzhgorod[] ACE_TIME_PROGMEM = "\x0b" "Uzhgorod";
35131 
35132 const complete::Info::ZoneInfo kZoneEurope_Uzhgorod ACE_TIME_PROGMEM = {
35133  kZoneNameEurope_Uzhgorod /*name*/,
35134  0xb066f5d6 /*zoneId*/,
35135  &kZoneContext /*zoneContext*/,
35136  9 /*numEras*/,
35137  kZoneEraEurope_Kyiv /*eras*/,
35138  &kZoneEurope_Kyiv /*targetInfo*/,
35139 };
35140 
35141 //---------------------------------------------------------------------------
35142 // Link name: Europe/Vaduz -> Europe/Zurich
35143 //---------------------------------------------------------------------------
35144 
35145 static const char kZoneNameEurope_Vaduz[] ACE_TIME_PROGMEM = "\x0b" "Vaduz";
35146 
35147 const complete::Info::ZoneInfo kZoneEurope_Vaduz ACE_TIME_PROGMEM = {
35148  kZoneNameEurope_Vaduz /*name*/,
35149  0xfbb81bae /*zoneId*/,
35150  &kZoneContext /*zoneContext*/,
35151  4 /*numEras*/,
35152  kZoneEraEurope_Zurich /*eras*/,
35153  &kZoneEurope_Zurich /*targetInfo*/,
35154 };
35155 
35156 //---------------------------------------------------------------------------
35157 // Link name: Europe/Vatican -> Europe/Rome
35158 //---------------------------------------------------------------------------
35159 
35160 static const char kZoneNameEurope_Vatican[] ACE_TIME_PROGMEM = "\x0b" "Vatican";
35161 
35162 const complete::Info::ZoneInfo kZoneEurope_Vatican ACE_TIME_PROGMEM = {
35163  kZoneNameEurope_Vatican /*name*/,
35164  0xcb485dca /*zoneId*/,
35165  &kZoneContext /*zoneContext*/,
35166  6 /*numEras*/,
35167  kZoneEraEurope_Rome /*eras*/,
35168  &kZoneEurope_Rome /*targetInfo*/,
35169 };
35170 
35171 //---------------------------------------------------------------------------
35172 // Link name: Europe/Zagreb -> Europe/Belgrade
35173 //---------------------------------------------------------------------------
35174 
35175 static const char kZoneNameEurope_Zagreb[] ACE_TIME_PROGMEM = "\x0b" "Zagreb";
35176 
35177 const complete::Info::ZoneInfo kZoneEurope_Zagreb ACE_TIME_PROGMEM = {
35178  kZoneNameEurope_Zagreb /*name*/,
35179  0x7c11c9ff /*zoneId*/,
35180  &kZoneContext /*zoneContext*/,
35181  7 /*numEras*/,
35182  kZoneEraEurope_Belgrade /*eras*/,
35183  &kZoneEurope_Belgrade /*targetInfo*/,
35184 };
35185 
35186 //---------------------------------------------------------------------------
35187 // Link name: Europe/Zaporozhye -> Europe/Kyiv
35188 //---------------------------------------------------------------------------
35189 
35190 static const char kZoneNameEurope_Zaporozhye[] ACE_TIME_PROGMEM = "\x0b" "Zaporozhye";
35191 
35192 const complete::Info::ZoneInfo kZoneEurope_Zaporozhye ACE_TIME_PROGMEM = {
35193  kZoneNameEurope_Zaporozhye /*name*/,
35194  0xeab9767f /*zoneId*/,
35195  &kZoneContext /*zoneContext*/,
35196  9 /*numEras*/,
35197  kZoneEraEurope_Kyiv /*eras*/,
35198  &kZoneEurope_Kyiv /*targetInfo*/,
35199 };
35200 
35201 //---------------------------------------------------------------------------
35202 // Link name: GB -> Europe/London
35203 //---------------------------------------------------------------------------
35204 
35205 static const char kZoneNameGB[] ACE_TIME_PROGMEM = "GB";
35206 
35207 const complete::Info::ZoneInfo kZoneGB ACE_TIME_PROGMEM = {
35208  kZoneNameGB /*name*/,
35209  0x005973ae /*zoneId*/,
35210  &kZoneContext /*zoneContext*/,
35211  5 /*numEras*/,
35212  kZoneEraEurope_London /*eras*/,
35213  &kZoneEurope_London /*targetInfo*/,
35214 };
35215 
35216 //---------------------------------------------------------------------------
35217 // Link name: GB-Eire -> Europe/London
35218 //---------------------------------------------------------------------------
35219 
35220 static const char kZoneNameGB_Eire[] ACE_TIME_PROGMEM = "GB-Eire";
35221 
35222 const complete::Info::ZoneInfo kZoneGB_Eire ACE_TIME_PROGMEM = {
35223  kZoneNameGB_Eire /*name*/,
35224  0xfa70e300 /*zoneId*/,
35225  &kZoneContext /*zoneContext*/,
35226  5 /*numEras*/,
35227  kZoneEraEurope_London /*eras*/,
35228  &kZoneEurope_London /*targetInfo*/,
35229 };
35230 
35231 //---------------------------------------------------------------------------
35232 // Link name: GMT -> Etc/GMT
35233 //---------------------------------------------------------------------------
35234 
35235 static const char kZoneNameGMT[] ACE_TIME_PROGMEM = "GMT";
35236 
35237 const complete::Info::ZoneInfo kZoneGMT ACE_TIME_PROGMEM = {
35238  kZoneNameGMT /*name*/,
35239  0x0b87eb2d /*zoneId*/,
35240  &kZoneContext /*zoneContext*/,
35241  1 /*numEras*/,
35242  kZoneEraEtc_GMT /*eras*/,
35243  &kZoneEtc_GMT /*targetInfo*/,
35244 };
35245 
35246 //---------------------------------------------------------------------------
35247 // Link name: GMT+0 -> Etc/GMT
35248 //---------------------------------------------------------------------------
35249 
35250 static const char kZoneNameGMT_PLUS_0[] ACE_TIME_PROGMEM = "GMT+0";
35251 
35252 const complete::Info::ZoneInfo kZoneGMT_PLUS_0 ACE_TIME_PROGMEM = {
35253  kZoneNameGMT_PLUS_0 /*name*/,
35254  0x0d2f7028 /*zoneId*/,
35255  &kZoneContext /*zoneContext*/,
35256  1 /*numEras*/,
35257  kZoneEraEtc_GMT /*eras*/,
35258  &kZoneEtc_GMT /*targetInfo*/,
35259 };
35260 
35261 //---------------------------------------------------------------------------
35262 // Link name: GMT-0 -> Etc/GMT
35263 //---------------------------------------------------------------------------
35264 
35265 static const char kZoneNameGMT_0[] ACE_TIME_PROGMEM = "GMT-0";
35266 
35267 const complete::Info::ZoneInfo kZoneGMT_0 ACE_TIME_PROGMEM = {
35268  kZoneNameGMT_0 /*name*/,
35269  0x0d2f706a /*zoneId*/,
35270  &kZoneContext /*zoneContext*/,
35271  1 /*numEras*/,
35272  kZoneEraEtc_GMT /*eras*/,
35273  &kZoneEtc_GMT /*targetInfo*/,
35274 };
35275 
35276 //---------------------------------------------------------------------------
35277 // Link name: GMT0 -> Etc/GMT
35278 //---------------------------------------------------------------------------
35279 
35280 static const char kZoneNameGMT0[] ACE_TIME_PROGMEM = "GMT0";
35281 
35282 const complete::Info::ZoneInfo kZoneGMT0 ACE_TIME_PROGMEM = {
35283  kZoneNameGMT0 /*name*/,
35284  0x7c8550fd /*zoneId*/,
35285  &kZoneContext /*zoneContext*/,
35286  1 /*numEras*/,
35287  kZoneEraEtc_GMT /*eras*/,
35288  &kZoneEtc_GMT /*targetInfo*/,
35289 };
35290 
35291 //---------------------------------------------------------------------------
35292 // Link name: Greenwich -> Etc/GMT
35293 //---------------------------------------------------------------------------
35294 
35295 static const char kZoneNameGreenwich[] ACE_TIME_PROGMEM = "Greenwich";
35296 
35297 const complete::Info::ZoneInfo kZoneGreenwich ACE_TIME_PROGMEM = {
35298  kZoneNameGreenwich /*name*/,
35299  0xc84d4221 /*zoneId*/,
35300  &kZoneContext /*zoneContext*/,
35301  1 /*numEras*/,
35302  kZoneEraEtc_GMT /*eras*/,
35303  &kZoneEtc_GMT /*targetInfo*/,
35304 };
35305 
35306 //---------------------------------------------------------------------------
35307 // Link name: HST -> Pacific/Honolulu
35308 //---------------------------------------------------------------------------
35309 
35310 static const char kZoneNameHST[] ACE_TIME_PROGMEM = "HST";
35311 
35312 const complete::Info::ZoneInfo kZoneHST ACE_TIME_PROGMEM = {
35313  kZoneNameHST /*name*/,
35314  0x0b87f034 /*zoneId*/,
35315  &kZoneContext /*zoneContext*/,
35316  5 /*numEras*/,
35317  kZoneEraPacific_Honolulu /*eras*/,
35318  &kZonePacific_Honolulu /*targetInfo*/,
35319 };
35320 
35321 //---------------------------------------------------------------------------
35322 // Link name: Hongkong -> Asia/Hong_Kong
35323 //---------------------------------------------------------------------------
35324 
35325 static const char kZoneNameHongkong[] ACE_TIME_PROGMEM = "Hongkong";
35326 
35327 const complete::Info::ZoneInfo kZoneHongkong ACE_TIME_PROGMEM = {
35328  kZoneNameHongkong /*name*/,
35329  0x56d36560 /*zoneId*/,
35330  &kZoneContext /*zoneContext*/,
35331  6 /*numEras*/,
35332  kZoneEraAsia_Hong_Kong /*eras*/,
35333  &kZoneAsia_Hong_Kong /*targetInfo*/,
35334 };
35335 
35336 //---------------------------------------------------------------------------
35337 // Link name: Iceland -> Africa/Abidjan
35338 //---------------------------------------------------------------------------
35339 
35340 static const char kZoneNameIceland[] ACE_TIME_PROGMEM = "Iceland";
35341 
35342 const complete::Info::ZoneInfo kZoneIceland ACE_TIME_PROGMEM = {
35343  kZoneNameIceland /*name*/,
35344  0xe56a35b5 /*zoneId*/,
35345  &kZoneContext /*zoneContext*/,
35346  2 /*numEras*/,
35347  kZoneEraAfrica_Abidjan /*eras*/,
35348  &kZoneAfrica_Abidjan /*targetInfo*/,
35349 };
35350 
35351 //---------------------------------------------------------------------------
35352 // Link name: Indian/Antananarivo -> Africa/Nairobi
35353 //---------------------------------------------------------------------------
35354 
35355 static const char kZoneNameIndian_Antananarivo[] ACE_TIME_PROGMEM = "\x0c" "Antananarivo";
35356 
35357 const complete::Info::ZoneInfo kZoneIndian_Antananarivo ACE_TIME_PROGMEM = {
35358  kZoneNameIndian_Antananarivo /*name*/,
35359  0x9ebf5289 /*zoneId*/,
35360  &kZoneContext /*zoneContext*/,
35361  6 /*numEras*/,
35362  kZoneEraAfrica_Nairobi /*eras*/,
35363  &kZoneAfrica_Nairobi /*targetInfo*/,
35364 };
35365 
35366 //---------------------------------------------------------------------------
35367 // Link name: Indian/Christmas -> Asia/Bangkok
35368 //---------------------------------------------------------------------------
35369 
35370 static const char kZoneNameIndian_Christmas[] ACE_TIME_PROGMEM = "\x0c" "Christmas";
35371 
35372 const complete::Info::ZoneInfo kZoneIndian_Christmas ACE_TIME_PROGMEM = {
35373  kZoneNameIndian_Christmas /*name*/,
35374  0x68c207d5 /*zoneId*/,
35375  &kZoneContext /*zoneContext*/,
35376  3 /*numEras*/,
35377  kZoneEraAsia_Bangkok /*eras*/,
35378  &kZoneAsia_Bangkok /*targetInfo*/,
35379 };
35380 
35381 //---------------------------------------------------------------------------
35382 // Link name: Indian/Cocos -> Asia/Yangon
35383 //---------------------------------------------------------------------------
35384 
35385 static const char kZoneNameIndian_Cocos[] ACE_TIME_PROGMEM = "\x0c" "Cocos";
35386 
35387 const complete::Info::ZoneInfo kZoneIndian_Cocos ACE_TIME_PROGMEM = {
35388  kZoneNameIndian_Cocos /*name*/,
35389  0x021e86de /*zoneId*/,
35390  &kZoneContext /*zoneContext*/,
35391  5 /*numEras*/,
35392  kZoneEraAsia_Yangon /*eras*/,
35393  &kZoneAsia_Yangon /*targetInfo*/,
35394 };
35395 
35396 //---------------------------------------------------------------------------
35397 // Link name: Indian/Comoro -> Africa/Nairobi
35398 //---------------------------------------------------------------------------
35399 
35400 static const char kZoneNameIndian_Comoro[] ACE_TIME_PROGMEM = "\x0c" "Comoro";
35401 
35402 const complete::Info::ZoneInfo kZoneIndian_Comoro ACE_TIME_PROGMEM = {
35403  kZoneNameIndian_Comoro /*name*/,
35404  0x45f4deb6 /*zoneId*/,
35405  &kZoneContext /*zoneContext*/,
35406  6 /*numEras*/,
35407  kZoneEraAfrica_Nairobi /*eras*/,
35408  &kZoneAfrica_Nairobi /*targetInfo*/,
35409 };
35410 
35411 //---------------------------------------------------------------------------
35412 // Link name: Indian/Kerguelen -> Indian/Maldives
35413 //---------------------------------------------------------------------------
35414 
35415 static const char kZoneNameIndian_Kerguelen[] ACE_TIME_PROGMEM = "\x0c" "Kerguelen";
35416 
35417 const complete::Info::ZoneInfo kZoneIndian_Kerguelen ACE_TIME_PROGMEM = {
35418  kZoneNameIndian_Kerguelen /*name*/,
35419  0x4351b389 /*zoneId*/,
35420  &kZoneContext /*zoneContext*/,
35421  3 /*numEras*/,
35422  kZoneEraIndian_Maldives /*eras*/,
35423  &kZoneIndian_Maldives /*targetInfo*/,
35424 };
35425 
35426 //---------------------------------------------------------------------------
35427 // Link name: Indian/Mahe -> Asia/Dubai
35428 //---------------------------------------------------------------------------
35429 
35430 static const char kZoneNameIndian_Mahe[] ACE_TIME_PROGMEM = "\x0c" "Mahe";
35431 
35432 const complete::Info::ZoneInfo kZoneIndian_Mahe ACE_TIME_PROGMEM = {
35433  kZoneNameIndian_Mahe /*name*/,
35434  0x45e725e2 /*zoneId*/,
35435  &kZoneContext /*zoneContext*/,
35436  2 /*numEras*/,
35437  kZoneEraAsia_Dubai /*eras*/,
35438  &kZoneAsia_Dubai /*targetInfo*/,
35439 };
35440 
35441 //---------------------------------------------------------------------------
35442 // Link name: Indian/Mayotte -> Africa/Nairobi
35443 //---------------------------------------------------------------------------
35444 
35445 static const char kZoneNameIndian_Mayotte[] ACE_TIME_PROGMEM = "\x0c" "Mayotte";
35446 
35447 const complete::Info::ZoneInfo kZoneIndian_Mayotte ACE_TIME_PROGMEM = {
35448  kZoneNameIndian_Mayotte /*name*/,
35449  0xe6880bca /*zoneId*/,
35450  &kZoneContext /*zoneContext*/,
35451  6 /*numEras*/,
35452  kZoneEraAfrica_Nairobi /*eras*/,
35453  &kZoneAfrica_Nairobi /*targetInfo*/,
35454 };
35455 
35456 //---------------------------------------------------------------------------
35457 // Link name: Indian/Reunion -> Asia/Dubai
35458 //---------------------------------------------------------------------------
35459 
35460 static const char kZoneNameIndian_Reunion[] ACE_TIME_PROGMEM = "\x0c" "Reunion";
35461 
35462 const complete::Info::ZoneInfo kZoneIndian_Reunion ACE_TIME_PROGMEM = {
35463  kZoneNameIndian_Reunion /*name*/,
35464  0x7076c047 /*zoneId*/,
35465  &kZoneContext /*zoneContext*/,
35466  2 /*numEras*/,
35467  kZoneEraAsia_Dubai /*eras*/,
35468  &kZoneAsia_Dubai /*targetInfo*/,
35469 };
35470 
35471 //---------------------------------------------------------------------------
35472 // Link name: Iran -> Asia/Tehran
35473 //---------------------------------------------------------------------------
35474 
35475 static const char kZoneNameIran[] ACE_TIME_PROGMEM = "Iran";
35476 
35477 const complete::Info::ZoneInfo kZoneIran ACE_TIME_PROGMEM = {
35478  kZoneNameIran /*name*/,
35479  0x7c87090f /*zoneId*/,
35480  &kZoneContext /*zoneContext*/,
35481  5 /*numEras*/,
35482  kZoneEraAsia_Tehran /*eras*/,
35483  &kZoneAsia_Tehran /*targetInfo*/,
35484 };
35485 
35486 //---------------------------------------------------------------------------
35487 // Link name: Israel -> Asia/Jerusalem
35488 //---------------------------------------------------------------------------
35489 
35490 static const char kZoneNameIsrael[] ACE_TIME_PROGMEM = "Israel";
35491 
35492 const complete::Info::ZoneInfo kZoneIsrael ACE_TIME_PROGMEM = {
35493  kZoneNameIsrael /*name*/,
35494  0xba88c9e5 /*zoneId*/,
35495  &kZoneContext /*zoneContext*/,
35496  3 /*numEras*/,
35497  kZoneEraAsia_Jerusalem /*eras*/,
35498  &kZoneAsia_Jerusalem /*targetInfo*/,
35499 };
35500 
35501 //---------------------------------------------------------------------------
35502 // Link name: Jamaica -> America/Jamaica
35503 //---------------------------------------------------------------------------
35504 
35505 static const char kZoneNameJamaica[] ACE_TIME_PROGMEM = "Jamaica";
35506 
35507 const complete::Info::ZoneInfo kZoneJamaica ACE_TIME_PROGMEM = {
35508  kZoneNameJamaica /*name*/,
35509  0x2e44fdab /*zoneId*/,
35510  &kZoneContext /*zoneContext*/,
35511  5 /*numEras*/,
35512  kZoneEraAmerica_Jamaica /*eras*/,
35513  &kZoneAmerica_Jamaica /*targetInfo*/,
35514 };
35515 
35516 //---------------------------------------------------------------------------
35517 // Link name: Japan -> Asia/Tokyo
35518 //---------------------------------------------------------------------------
35519 
35520 static const char kZoneNameJapan[] ACE_TIME_PROGMEM = "Japan";
35521 
35522 const complete::Info::ZoneInfo kZoneJapan ACE_TIME_PROGMEM = {
35523  kZoneNameJapan /*name*/,
35524  0x0d712f8f /*zoneId*/,
35525  &kZoneContext /*zoneContext*/,
35526  2 /*numEras*/,
35527  kZoneEraAsia_Tokyo /*eras*/,
35528  &kZoneAsia_Tokyo /*targetInfo*/,
35529 };
35530 
35531 //---------------------------------------------------------------------------
35532 // Link name: Kwajalein -> Pacific/Kwajalein
35533 //---------------------------------------------------------------------------
35534 
35535 static const char kZoneNameKwajalein[] ACE_TIME_PROGMEM = "Kwajalein";
35536 
35537 const complete::Info::ZoneInfo kZoneKwajalein ACE_TIME_PROGMEM = {
35538  kZoneNameKwajalein /*name*/,
35539  0x0e57afbb /*zoneId*/,
35540  &kZoneContext /*zoneContext*/,
35541  7 /*numEras*/,
35542  kZoneEraPacific_Kwajalein /*eras*/,
35543  &kZonePacific_Kwajalein /*targetInfo*/,
35544 };
35545 
35546 //---------------------------------------------------------------------------
35547 // Link name: Libya -> Africa/Tripoli
35548 //---------------------------------------------------------------------------
35549 
35550 static const char kZoneNameLibya[] ACE_TIME_PROGMEM = "Libya";
35551 
35552 const complete::Info::ZoneInfo kZoneLibya ACE_TIME_PROGMEM = {
35553  kZoneNameLibya /*name*/,
35554  0x0d998b16 /*zoneId*/,
35555  &kZoneContext /*zoneContext*/,
35556  9 /*numEras*/,
35557  kZoneEraAfrica_Tripoli /*eras*/,
35558  &kZoneAfrica_Tripoli /*targetInfo*/,
35559 };
35560 
35561 //---------------------------------------------------------------------------
35562 // Link name: MET -> Europe/Brussels
35563 //---------------------------------------------------------------------------
35564 
35565 static const char kZoneNameMET[] ACE_TIME_PROGMEM = "MET";
35566 
35567 const complete::Info::ZoneInfo kZoneMET ACE_TIME_PROGMEM = {
35568  kZoneNameMET /*name*/,
35569  0x0b8803ab /*zoneId*/,
35570  &kZoneContext /*zoneContext*/,
35571  9 /*numEras*/,
35572  kZoneEraEurope_Brussels /*eras*/,
35573  &kZoneEurope_Brussels /*targetInfo*/,
35574 };
35575 
35576 //---------------------------------------------------------------------------
35577 // Link name: MST -> America/Phoenix
35578 //---------------------------------------------------------------------------
35579 
35580 static const char kZoneNameMST[] ACE_TIME_PROGMEM = "MST";
35581 
35582 const complete::Info::ZoneInfo kZoneMST ACE_TIME_PROGMEM = {
35583  kZoneNameMST /*name*/,
35584  0x0b880579 /*zoneId*/,
35585  &kZoneContext /*zoneContext*/,
35586  7 /*numEras*/,
35587  kZoneEraAmerica_Phoenix /*eras*/,
35588  &kZoneAmerica_Phoenix /*targetInfo*/,
35589 };
35590 
35591 //---------------------------------------------------------------------------
35592 // Link name: MST7MDT -> America/Denver
35593 //---------------------------------------------------------------------------
35594 
35595 static const char kZoneNameMST7MDT[] ACE_TIME_PROGMEM = "MST7MDT";
35596 
35597 const complete::Info::ZoneInfo kZoneMST7MDT ACE_TIME_PROGMEM = {
35598  kZoneNameMST7MDT /*name*/,
35599  0xf2af9375 /*zoneId*/,
35600  &kZoneContext /*zoneContext*/,
35601  6 /*numEras*/,
35602  kZoneEraAmerica_Denver /*eras*/,
35603  &kZoneAmerica_Denver /*targetInfo*/,
35604 };
35605 
35606 //---------------------------------------------------------------------------
35607 // Link name: Mexico/BajaNorte -> America/Tijuana
35608 //---------------------------------------------------------------------------
35609 
35610 static const char kZoneNameMexico_BajaNorte[] ACE_TIME_PROGMEM = "Mexico/BajaNorte";
35611 
35612 const complete::Info::ZoneInfo kZoneMexico_BajaNorte ACE_TIME_PROGMEM = {
35613  kZoneNameMexico_BajaNorte /*name*/,
35614  0xfcf7150f /*zoneId*/,
35615  &kZoneContext /*zoneContext*/,
35616  25 /*numEras*/,
35617  kZoneEraAmerica_Tijuana /*eras*/,
35618  &kZoneAmerica_Tijuana /*targetInfo*/,
35619 };
35620 
35621 //---------------------------------------------------------------------------
35622 // Link name: Mexico/BajaSur -> America/Mazatlan
35623 //---------------------------------------------------------------------------
35624 
35625 static const char kZoneNameMexico_BajaSur[] ACE_TIME_PROGMEM = "Mexico/BajaSur";
35626 
35627 const complete::Info::ZoneInfo kZoneMexico_BajaSur ACE_TIME_PROGMEM = {
35628  kZoneNameMexico_BajaSur /*name*/,
35629  0x08ee3641 /*zoneId*/,
35630  &kZoneContext /*zoneContext*/,
35631  7 /*numEras*/,
35632  kZoneEraAmerica_Mazatlan /*eras*/,
35633  &kZoneAmerica_Mazatlan /*targetInfo*/,
35634 };
35635 
35636 //---------------------------------------------------------------------------
35637 // Link name: Mexico/General -> America/Mexico_City
35638 //---------------------------------------------------------------------------
35639 
35640 static const char kZoneNameMexico_General[] ACE_TIME_PROGMEM = "Mexico/General";
35641 
35642 const complete::Info::ZoneInfo kZoneMexico_General ACE_TIME_PROGMEM = {
35643  kZoneNameMexico_General /*name*/,
35644  0x93711d57 /*zoneId*/,
35645  &kZoneContext /*zoneContext*/,
35646  7 /*numEras*/,
35647  kZoneEraAmerica_Mexico_City /*eras*/,
35648  &kZoneAmerica_Mexico_City /*targetInfo*/,
35649 };
35650 
35651 //---------------------------------------------------------------------------
35652 // Link name: NZ -> Pacific/Auckland
35653 //---------------------------------------------------------------------------
35654 
35655 static const char kZoneNameNZ[] ACE_TIME_PROGMEM = "NZ";
35656 
35657 const complete::Info::ZoneInfo kZoneNZ ACE_TIME_PROGMEM = {
35658  kZoneNameNZ /*name*/,
35659  0x005974ad /*zoneId*/,
35660  &kZoneContext /*zoneContext*/,
35661  3 /*numEras*/,
35662  kZoneEraPacific_Auckland /*eras*/,
35663  &kZonePacific_Auckland /*targetInfo*/,
35664 };
35665 
35666 //---------------------------------------------------------------------------
35667 // Link name: NZ-CHAT -> Pacific/Chatham
35668 //---------------------------------------------------------------------------
35669 
35670 static const char kZoneNameNZ_CHAT[] ACE_TIME_PROGMEM = "NZ-CHAT";
35671 
35672 const complete::Info::ZoneInfo kZoneNZ_CHAT ACE_TIME_PROGMEM = {
35673  kZoneNameNZ_CHAT /*name*/,
35674  0x4d42afda /*zoneId*/,
35675  &kZoneContext /*zoneContext*/,
35676  3 /*numEras*/,
35677  kZoneEraPacific_Chatham /*eras*/,
35678  &kZonePacific_Chatham /*targetInfo*/,
35679 };
35680 
35681 //---------------------------------------------------------------------------
35682 // Link name: Navajo -> America/Denver
35683 //---------------------------------------------------------------------------
35684 
35685 static const char kZoneNameNavajo[] ACE_TIME_PROGMEM = "Navajo";
35686 
35687 const complete::Info::ZoneInfo kZoneNavajo ACE_TIME_PROGMEM = {
35688  kZoneNameNavajo /*name*/,
35689  0xc4ef0e24 /*zoneId*/,
35690  &kZoneContext /*zoneContext*/,
35691  6 /*numEras*/,
35692  kZoneEraAmerica_Denver /*eras*/,
35693  &kZoneAmerica_Denver /*targetInfo*/,
35694 };
35695 
35696 //---------------------------------------------------------------------------
35697 // Link name: PRC -> Asia/Shanghai
35698 //---------------------------------------------------------------------------
35699 
35700 static const char kZoneNamePRC[] ACE_TIME_PROGMEM = "PRC";
35701 
35702 const complete::Info::ZoneInfo kZonePRC ACE_TIME_PROGMEM = {
35703  kZoneNamePRC /*name*/,
35704  0x0b88120a /*zoneId*/,
35705  &kZoneContext /*zoneContext*/,
35706  3 /*numEras*/,
35707  kZoneEraAsia_Shanghai /*eras*/,
35708  &kZoneAsia_Shanghai /*targetInfo*/,
35709 };
35710 
35711 //---------------------------------------------------------------------------
35712 // Link name: PST8PDT -> America/Los_Angeles
35713 //---------------------------------------------------------------------------
35714 
35715 static const char kZoneNamePST8PDT[] ACE_TIME_PROGMEM = "PST8PDT";
35716 
35717 const complete::Info::ZoneInfo kZonePST8PDT ACE_TIME_PROGMEM = {
35718  kZoneNamePST8PDT /*name*/,
35719  0xd99ee2dc /*zoneId*/,
35720  &kZoneContext /*zoneContext*/,
35721  4 /*numEras*/,
35722  kZoneEraAmerica_Los_Angeles /*eras*/,
35723  &kZoneAmerica_Los_Angeles /*targetInfo*/,
35724 };
35725 
35726 //---------------------------------------------------------------------------
35727 // Link name: Pacific/Chuuk -> Pacific/Port_Moresby
35728 //---------------------------------------------------------------------------
35729 
35730 static const char kZoneNamePacific_Chuuk[] ACE_TIME_PROGMEM = "\x0e" "Chuuk";
35731 
35732 const complete::Info::ZoneInfo kZonePacific_Chuuk ACE_TIME_PROGMEM = {
35733  kZoneNamePacific_Chuuk /*name*/,
35734  0x8a090b23 /*zoneId*/,
35735  &kZoneContext /*zoneContext*/,
35736  3 /*numEras*/,
35737  kZoneEraPacific_Port_Moresby /*eras*/,
35738  &kZonePacific_Port_Moresby /*targetInfo*/,
35739 };
35740 
35741 //---------------------------------------------------------------------------
35742 // Link name: Pacific/Enderbury -> Pacific/Kanton
35743 //---------------------------------------------------------------------------
35744 
35745 static const char kZoneNamePacific_Enderbury[] ACE_TIME_PROGMEM = "\x0e" "Enderbury";
35746 
35747 const complete::Info::ZoneInfo kZonePacific_Enderbury ACE_TIME_PROGMEM = {
35748  kZoneNamePacific_Enderbury /*name*/,
35749  0x61599a93 /*zoneId*/,
35750  &kZoneContext /*zoneContext*/,
35751  4 /*numEras*/,
35752  kZoneEraPacific_Kanton /*eras*/,
35753  &kZonePacific_Kanton /*targetInfo*/,
35754 };
35755 
35756 //---------------------------------------------------------------------------
35757 // Link name: Pacific/Funafuti -> Pacific/Tarawa
35758 //---------------------------------------------------------------------------
35759 
35760 static const char kZoneNamePacific_Funafuti[] ACE_TIME_PROGMEM = "\x0e" "Funafuti";
35761 
35762 const complete::Info::ZoneInfo kZonePacific_Funafuti ACE_TIME_PROGMEM = {
35763  kZoneNamePacific_Funafuti /*name*/,
35764  0xdb402d65 /*zoneId*/,
35765  &kZoneContext /*zoneContext*/,
35766  2 /*numEras*/,
35767  kZoneEraPacific_Tarawa /*eras*/,
35768  &kZonePacific_Tarawa /*targetInfo*/,
35769 };
35770 
35771 //---------------------------------------------------------------------------
35772 // Link name: Pacific/Johnston -> Pacific/Honolulu
35773 //---------------------------------------------------------------------------
35774 
35775 static const char kZoneNamePacific_Johnston[] ACE_TIME_PROGMEM = "\x0e" "Johnston";
35776 
35777 const complete::Info::ZoneInfo kZonePacific_Johnston ACE_TIME_PROGMEM = {
35778  kZoneNamePacific_Johnston /*name*/,
35779  0xb15d7b36 /*zoneId*/,
35780  &kZoneContext /*zoneContext*/,
35781  5 /*numEras*/,
35782  kZoneEraPacific_Honolulu /*eras*/,
35783  &kZonePacific_Honolulu /*targetInfo*/,
35784 };
35785 
35786 //---------------------------------------------------------------------------
35787 // Link name: Pacific/Majuro -> Pacific/Tarawa
35788 //---------------------------------------------------------------------------
35789 
35790 static const char kZoneNamePacific_Majuro[] ACE_TIME_PROGMEM = "\x0e" "Majuro";
35791 
35792 const complete::Info::ZoneInfo kZonePacific_Majuro ACE_TIME_PROGMEM = {
35793  kZoneNamePacific_Majuro /*name*/,
35794  0xe1f95371 /*zoneId*/,
35795  &kZoneContext /*zoneContext*/,
35796  2 /*numEras*/,
35797  kZoneEraPacific_Tarawa /*eras*/,
35798  &kZonePacific_Tarawa /*targetInfo*/,
35799 };
35800 
35801 //---------------------------------------------------------------------------
35802 // Link name: Pacific/Midway -> Pacific/Pago_Pago
35803 //---------------------------------------------------------------------------
35804 
35805 static const char kZoneNamePacific_Midway[] ACE_TIME_PROGMEM = "\x0e" "Midway";
35806 
35807 const complete::Info::ZoneInfo kZonePacific_Midway ACE_TIME_PROGMEM = {
35808  kZoneNamePacific_Midway /*name*/,
35809  0xe286d38e /*zoneId*/,
35810  &kZoneContext /*zoneContext*/,
35811  3 /*numEras*/,
35812  kZoneEraPacific_Pago_Pago /*eras*/,
35813  &kZonePacific_Pago_Pago /*targetInfo*/,
35814 };
35815 
35816 //---------------------------------------------------------------------------
35817 // Link name: Pacific/Pohnpei -> Pacific/Guadalcanal
35818 //---------------------------------------------------------------------------
35819 
35820 static const char kZoneNamePacific_Pohnpei[] ACE_TIME_PROGMEM = "\x0e" "Pohnpei";
35821 
35822 const complete::Info::ZoneInfo kZonePacific_Pohnpei ACE_TIME_PROGMEM = {
35823  kZoneNamePacific_Pohnpei /*name*/,
35824  0x28929f96 /*zoneId*/,
35825  &kZoneContext /*zoneContext*/,
35826  2 /*numEras*/,
35827  kZoneEraPacific_Guadalcanal /*eras*/,
35828  &kZonePacific_Guadalcanal /*targetInfo*/,
35829 };
35830 
35831 //---------------------------------------------------------------------------
35832 // Link name: Pacific/Ponape -> Pacific/Guadalcanal
35833 //---------------------------------------------------------------------------
35834 
35835 static const char kZoneNamePacific_Ponape[] ACE_TIME_PROGMEM = "\x0e" "Ponape";
35836 
35837 const complete::Info::ZoneInfo kZonePacific_Ponape ACE_TIME_PROGMEM = {
35838  kZoneNamePacific_Ponape /*name*/,
35839  0xe9f80086 /*zoneId*/,
35840  &kZoneContext /*zoneContext*/,
35841  2 /*numEras*/,
35842  kZoneEraPacific_Guadalcanal /*eras*/,
35843  &kZonePacific_Guadalcanal /*targetInfo*/,
35844 };
35845 
35846 //---------------------------------------------------------------------------
35847 // Link name: Pacific/Saipan -> Pacific/Guam
35848 //---------------------------------------------------------------------------
35849 
35850 static const char kZoneNamePacific_Saipan[] ACE_TIME_PROGMEM = "\x0e" "Saipan";
35851 
35852 const complete::Info::ZoneInfo kZonePacific_Saipan ACE_TIME_PROGMEM = {
35853  kZoneNamePacific_Saipan /*name*/,
35854  0xeff7a35f /*zoneId*/,
35855  &kZoneContext /*zoneContext*/,
35856  6 /*numEras*/,
35857  kZoneEraPacific_Guam /*eras*/,
35858  &kZonePacific_Guam /*targetInfo*/,
35859 };
35860 
35861 //---------------------------------------------------------------------------
35862 // Link name: Pacific/Samoa -> Pacific/Pago_Pago
35863 //---------------------------------------------------------------------------
35864 
35865 static const char kZoneNamePacific_Samoa[] ACE_TIME_PROGMEM = "\x0e" "Samoa";
35866 
35867 const complete::Info::ZoneInfo kZonePacific_Samoa ACE_TIME_PROGMEM = {
35868  kZoneNamePacific_Samoa /*name*/,
35869  0x8b2699b4 /*zoneId*/,
35870  &kZoneContext /*zoneContext*/,
35871  3 /*numEras*/,
35872  kZoneEraPacific_Pago_Pago /*eras*/,
35873  &kZonePacific_Pago_Pago /*targetInfo*/,
35874 };
35875 
35876 //---------------------------------------------------------------------------
35877 // Link name: Pacific/Truk -> Pacific/Port_Moresby
35878 //---------------------------------------------------------------------------
35879 
35880 static const char kZoneNamePacific_Truk[] ACE_TIME_PROGMEM = "\x0e" "Truk";
35881 
35882 const complete::Info::ZoneInfo kZonePacific_Truk ACE_TIME_PROGMEM = {
35883  kZoneNamePacific_Truk /*name*/,
35884  0x234010a9 /*zoneId*/,
35885  &kZoneContext /*zoneContext*/,
35886  3 /*numEras*/,
35887  kZoneEraPacific_Port_Moresby /*eras*/,
35888  &kZonePacific_Port_Moresby /*targetInfo*/,
35889 };
35890 
35891 //---------------------------------------------------------------------------
35892 // Link name: Pacific/Wake -> Pacific/Tarawa
35893 //---------------------------------------------------------------------------
35894 
35895 static const char kZoneNamePacific_Wake[] ACE_TIME_PROGMEM = "\x0e" "Wake";
35896 
35897 const complete::Info::ZoneInfo kZonePacific_Wake ACE_TIME_PROGMEM = {
35898  kZoneNamePacific_Wake /*name*/,
35899  0x23416c2b /*zoneId*/,
35900  &kZoneContext /*zoneContext*/,
35901  2 /*numEras*/,
35902  kZoneEraPacific_Tarawa /*eras*/,
35903  &kZonePacific_Tarawa /*targetInfo*/,
35904 };
35905 
35906 //---------------------------------------------------------------------------
35907 // Link name: Pacific/Wallis -> Pacific/Tarawa
35908 //---------------------------------------------------------------------------
35909 
35910 static const char kZoneNamePacific_Wallis[] ACE_TIME_PROGMEM = "\x0e" "Wallis";
35911 
35912 const complete::Info::ZoneInfo kZonePacific_Wallis ACE_TIME_PROGMEM = {
35913  kZoneNamePacific_Wallis /*name*/,
35914  0xf94ddb0f /*zoneId*/,
35915  &kZoneContext /*zoneContext*/,
35916  2 /*numEras*/,
35917  kZoneEraPacific_Tarawa /*eras*/,
35918  &kZonePacific_Tarawa /*targetInfo*/,
35919 };
35920 
35921 //---------------------------------------------------------------------------
35922 // Link name: Pacific/Yap -> Pacific/Port_Moresby
35923 //---------------------------------------------------------------------------
35924 
35925 static const char kZoneNamePacific_Yap[] ACE_TIME_PROGMEM = "\x0e" "Yap";
35926 
35927 const complete::Info::ZoneInfo kZonePacific_Yap ACE_TIME_PROGMEM = {
35928  kZoneNamePacific_Yap /*name*/,
35929  0xbb40138d /*zoneId*/,
35930  &kZoneContext /*zoneContext*/,
35931  3 /*numEras*/,
35932  kZoneEraPacific_Port_Moresby /*eras*/,
35933  &kZonePacific_Port_Moresby /*targetInfo*/,
35934 };
35935 
35936 //---------------------------------------------------------------------------
35937 // Link name: Poland -> Europe/Warsaw
35938 //---------------------------------------------------------------------------
35939 
35940 static const char kZoneNamePoland[] ACE_TIME_PROGMEM = "Poland";
35941 
35942 const complete::Info::ZoneInfo kZonePoland ACE_TIME_PROGMEM = {
35943  kZoneNamePoland /*name*/,
35944  0xca913b23 /*zoneId*/,
35945  &kZoneContext /*zoneContext*/,
35946  9 /*numEras*/,
35947  kZoneEraEurope_Warsaw /*eras*/,
35948  &kZoneEurope_Warsaw /*targetInfo*/,
35949 };
35950 
35951 //---------------------------------------------------------------------------
35952 // Link name: Portugal -> Europe/Lisbon
35953 //---------------------------------------------------------------------------
35954 
35955 static const char kZoneNamePortugal[] ACE_TIME_PROGMEM = "Portugal";
35956 
35957 const complete::Info::ZoneInfo kZonePortugal ACE_TIME_PROGMEM = {
35958  kZoneNamePortugal /*name*/,
35959  0xc3274593 /*zoneId*/,
35960  &kZoneContext /*zoneContext*/,
35961  8 /*numEras*/,
35962  kZoneEraEurope_Lisbon /*eras*/,
35963  &kZoneEurope_Lisbon /*targetInfo*/,
35964 };
35965 
35966 //---------------------------------------------------------------------------
35967 // Link name: ROC -> Asia/Taipei
35968 //---------------------------------------------------------------------------
35969 
35970 static const char kZoneNameROC[] ACE_TIME_PROGMEM = "ROC";
35971 
35972 const complete::Info::ZoneInfo kZoneROC ACE_TIME_PROGMEM = {
35973  kZoneNameROC /*name*/,
35974  0x0b881a29 /*zoneId*/,
35975  &kZoneContext /*zoneContext*/,
35976  4 /*numEras*/,
35977  kZoneEraAsia_Taipei /*eras*/,
35978  &kZoneAsia_Taipei /*targetInfo*/,
35979 };
35980 
35981 //---------------------------------------------------------------------------
35982 // Link name: ROK -> Asia/Seoul
35983 //---------------------------------------------------------------------------
35984 
35985 static const char kZoneNameROK[] ACE_TIME_PROGMEM = "ROK";
35986 
35987 const complete::Info::ZoneInfo kZoneROK ACE_TIME_PROGMEM = {
35988  kZoneNameROK /*name*/,
35989  0x0b881a31 /*zoneId*/,
35990  &kZoneContext /*zoneContext*/,
35991  6 /*numEras*/,
35992  kZoneEraAsia_Seoul /*eras*/,
35993  &kZoneAsia_Seoul /*targetInfo*/,
35994 };
35995 
35996 //---------------------------------------------------------------------------
35997 // Link name: Singapore -> Asia/Singapore
35998 //---------------------------------------------------------------------------
35999 
36000 static const char kZoneNameSingapore[] ACE_TIME_PROGMEM = "Singapore";
36001 
36002 const complete::Info::ZoneInfo kZoneSingapore ACE_TIME_PROGMEM = {
36003  kZoneNameSingapore /*name*/,
36004  0xa8598c8d /*zoneId*/,
36005  &kZoneContext /*zoneContext*/,
36006  9 /*numEras*/,
36007  kZoneEraAsia_Singapore /*eras*/,
36008  &kZoneAsia_Singapore /*targetInfo*/,
36009 };
36010 
36011 //---------------------------------------------------------------------------
36012 // Link name: Turkey -> Europe/Istanbul
36013 //---------------------------------------------------------------------------
36014 
36015 static const char kZoneNameTurkey[] ACE_TIME_PROGMEM = "Turkey";
36016 
36017 const complete::Info::ZoneInfo kZoneTurkey ACE_TIME_PROGMEM = {
36018  kZoneNameTurkey /*name*/,
36019  0xd455e469 /*zoneId*/,
36020  &kZoneContext /*zoneContext*/,
36021  13 /*numEras*/,
36022  kZoneEraEurope_Istanbul /*eras*/,
36023  &kZoneEurope_Istanbul /*targetInfo*/,
36024 };
36025 
36026 //---------------------------------------------------------------------------
36027 // Link name: UCT -> Etc/UTC
36028 //---------------------------------------------------------------------------
36029 
36030 static const char kZoneNameUCT[] ACE_TIME_PROGMEM = "UCT";
36031 
36032 const complete::Info::ZoneInfo kZoneUCT ACE_TIME_PROGMEM = {
36033  kZoneNameUCT /*name*/,
36034  0x0b882571 /*zoneId*/,
36035  &kZoneContext /*zoneContext*/,
36036  1 /*numEras*/,
36037  kZoneEraEtc_UTC /*eras*/,
36038  &kZoneEtc_UTC /*targetInfo*/,
36039 };
36040 
36041 //---------------------------------------------------------------------------
36042 // Link name: US/Alaska -> America/Anchorage
36043 //---------------------------------------------------------------------------
36044 
36045 static const char kZoneNameUS_Alaska[] ACE_TIME_PROGMEM = "US/Alaska";
36046 
36047 const complete::Info::ZoneInfo kZoneUS_Alaska ACE_TIME_PROGMEM = {
36048  kZoneNameUS_Alaska /*name*/,
36049  0xfa300bc9 /*zoneId*/,
36050  &kZoneContext /*zoneContext*/,
36051  8 /*numEras*/,
36052  kZoneEraAmerica_Anchorage /*eras*/,
36053  &kZoneAmerica_Anchorage /*targetInfo*/,
36054 };
36055 
36056 //---------------------------------------------------------------------------
36057 // Link name: US/Aleutian -> America/Adak
36058 //---------------------------------------------------------------------------
36059 
36060 static const char kZoneNameUS_Aleutian[] ACE_TIME_PROGMEM = "US/Aleutian";
36061 
36062 const complete::Info::ZoneInfo kZoneUS_Aleutian ACE_TIME_PROGMEM = {
36063  kZoneNameUS_Aleutian /*name*/,
36064  0x4fe013ef /*zoneId*/,
36065  &kZoneContext /*zoneContext*/,
36066  9 /*numEras*/,
36067  kZoneEraAmerica_Adak /*eras*/,
36068  &kZoneAmerica_Adak /*targetInfo*/,
36069 };
36070 
36071 //---------------------------------------------------------------------------
36072 // Link name: US/Arizona -> America/Phoenix
36073 //---------------------------------------------------------------------------
36074 
36075 static const char kZoneNameUS_Arizona[] ACE_TIME_PROGMEM = "US/Arizona";
36076 
36077 const complete::Info::ZoneInfo kZoneUS_Arizona ACE_TIME_PROGMEM = {
36078  kZoneNameUS_Arizona /*name*/,
36079  0x4ec52670 /*zoneId*/,
36080  &kZoneContext /*zoneContext*/,
36081  7 /*numEras*/,
36082  kZoneEraAmerica_Phoenix /*eras*/,
36083  &kZoneAmerica_Phoenix /*targetInfo*/,
36084 };
36085 
36086 //---------------------------------------------------------------------------
36087 // Link name: US/Central -> America/Chicago
36088 //---------------------------------------------------------------------------
36089 
36090 static const char kZoneNameUS_Central[] ACE_TIME_PROGMEM = "US/Central";
36091 
36092 const complete::Info::ZoneInfo kZoneUS_Central ACE_TIME_PROGMEM = {
36093  kZoneNameUS_Central /*name*/,
36094  0xcabdcb25 /*zoneId*/,
36095  &kZoneContext /*zoneContext*/,
36096  8 /*numEras*/,
36097  kZoneEraAmerica_Chicago /*eras*/,
36098  &kZoneAmerica_Chicago /*targetInfo*/,
36099 };
36100 
36101 //---------------------------------------------------------------------------
36102 // Link name: US/East-Indiana -> America/Indiana/Indianapolis
36103 //---------------------------------------------------------------------------
36104 
36105 static const char kZoneNameUS_East_Indiana[] ACE_TIME_PROGMEM = "US/East-Indiana";
36106 
36107 const complete::Info::ZoneInfo kZoneUS_East_Indiana ACE_TIME_PROGMEM = {
36108  kZoneNameUS_East_Indiana /*name*/,
36109  0x6dcf558a /*zoneId*/,
36110  &kZoneContext /*zoneContext*/,
36111  11 /*numEras*/,
36112  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
36113  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
36114 };
36115 
36116 //---------------------------------------------------------------------------
36117 // Link name: US/Eastern -> America/New_York
36118 //---------------------------------------------------------------------------
36119 
36120 static const char kZoneNameUS_Eastern[] ACE_TIME_PROGMEM = "US/Eastern";
36121 
36122 const complete::Info::ZoneInfo kZoneUS_Eastern ACE_TIME_PROGMEM = {
36123  kZoneNameUS_Eastern /*name*/,
36124  0x5bb7e78e /*zoneId*/,
36125  &kZoneContext /*zoneContext*/,
36126  6 /*numEras*/,
36127  kZoneEraAmerica_New_York /*eras*/,
36128  &kZoneAmerica_New_York /*targetInfo*/,
36129 };
36130 
36131 //---------------------------------------------------------------------------
36132 // Link name: US/Hawaii -> Pacific/Honolulu
36133 //---------------------------------------------------------------------------
36134 
36135 static const char kZoneNameUS_Hawaii[] ACE_TIME_PROGMEM = "US/Hawaii";
36136 
36137 const complete::Info::ZoneInfo kZoneUS_Hawaii ACE_TIME_PROGMEM = {
36138  kZoneNameUS_Hawaii /*name*/,
36139  0x09c8de2f /*zoneId*/,
36140  &kZoneContext /*zoneContext*/,
36141  5 /*numEras*/,
36142  kZoneEraPacific_Honolulu /*eras*/,
36143  &kZonePacific_Honolulu /*targetInfo*/,
36144 };
36145 
36146 //---------------------------------------------------------------------------
36147 // Link name: US/Indiana-Starke -> America/Indiana/Knox
36148 //---------------------------------------------------------------------------
36149 
36150 static const char kZoneNameUS_Indiana_Starke[] ACE_TIME_PROGMEM = "US/Indiana-Starke";
36151 
36152 const complete::Info::ZoneInfo kZoneUS_Indiana_Starke ACE_TIME_PROGMEM = {
36153  kZoneNameUS_Indiana_Starke /*name*/,
36154  0x67977be7 /*zoneId*/,
36155  &kZoneContext /*zoneContext*/,
36156  7 /*numEras*/,
36157  kZoneEraAmerica_Indiana_Knox /*eras*/,
36158  &kZoneAmerica_Indiana_Knox /*targetInfo*/,
36159 };
36160 
36161 //---------------------------------------------------------------------------
36162 // Link name: US/Michigan -> America/Detroit
36163 //---------------------------------------------------------------------------
36164 
36165 static const char kZoneNameUS_Michigan[] ACE_TIME_PROGMEM = "US/Michigan";
36166 
36167 const complete::Info::ZoneInfo kZoneUS_Michigan ACE_TIME_PROGMEM = {
36168  kZoneNameUS_Michigan /*name*/,
36169  0x766bb7bc /*zoneId*/,
36170  &kZoneContext /*zoneContext*/,
36171  10 /*numEras*/,
36172  kZoneEraAmerica_Detroit /*eras*/,
36173  &kZoneAmerica_Detroit /*targetInfo*/,
36174 };
36175 
36176 //---------------------------------------------------------------------------
36177 // Link name: US/Mountain -> America/Denver
36178 //---------------------------------------------------------------------------
36179 
36180 static const char kZoneNameUS_Mountain[] ACE_TIME_PROGMEM = "US/Mountain";
36181 
36182 const complete::Info::ZoneInfo kZoneUS_Mountain ACE_TIME_PROGMEM = {
36183  kZoneNameUS_Mountain /*name*/,
36184  0x6eb88247 /*zoneId*/,
36185  &kZoneContext /*zoneContext*/,
36186  6 /*numEras*/,
36187  kZoneEraAmerica_Denver /*eras*/,
36188  &kZoneAmerica_Denver /*targetInfo*/,
36189 };
36190 
36191 //---------------------------------------------------------------------------
36192 // Link name: US/Pacific -> America/Los_Angeles
36193 //---------------------------------------------------------------------------
36194 
36195 static const char kZoneNameUS_Pacific[] ACE_TIME_PROGMEM = "US/Pacific";
36196 
36197 const complete::Info::ZoneInfo kZoneUS_Pacific ACE_TIME_PROGMEM = {
36198  kZoneNameUS_Pacific /*name*/,
36199  0xa950f6ab /*zoneId*/,
36200  &kZoneContext /*zoneContext*/,
36201  4 /*numEras*/,
36202  kZoneEraAmerica_Los_Angeles /*eras*/,
36203  &kZoneAmerica_Los_Angeles /*targetInfo*/,
36204 };
36205 
36206 //---------------------------------------------------------------------------
36207 // Link name: US/Samoa -> Pacific/Pago_Pago
36208 //---------------------------------------------------------------------------
36209 
36210 static const char kZoneNameUS_Samoa[] ACE_TIME_PROGMEM = "US/Samoa";
36211 
36212 const complete::Info::ZoneInfo kZoneUS_Samoa ACE_TIME_PROGMEM = {
36213  kZoneNameUS_Samoa /*name*/,
36214  0x566821cd /*zoneId*/,
36215  &kZoneContext /*zoneContext*/,
36216  3 /*numEras*/,
36217  kZoneEraPacific_Pago_Pago /*eras*/,
36218  &kZonePacific_Pago_Pago /*targetInfo*/,
36219 };
36220 
36221 //---------------------------------------------------------------------------
36222 // Link name: UTC -> Etc/UTC
36223 //---------------------------------------------------------------------------
36224 
36225 static const char kZoneNameUTC[] ACE_TIME_PROGMEM = "UTC";
36226 
36227 const complete::Info::ZoneInfo kZoneUTC ACE_TIME_PROGMEM = {
36228  kZoneNameUTC /*name*/,
36229  0x0b882791 /*zoneId*/,
36230  &kZoneContext /*zoneContext*/,
36231  1 /*numEras*/,
36232  kZoneEraEtc_UTC /*eras*/,
36233  &kZoneEtc_UTC /*targetInfo*/,
36234 };
36235 
36236 //---------------------------------------------------------------------------
36237 // Link name: Universal -> Etc/UTC
36238 //---------------------------------------------------------------------------
36239 
36240 static const char kZoneNameUniversal[] ACE_TIME_PROGMEM = "Universal";
36241 
36242 const complete::Info::ZoneInfo kZoneUniversal ACE_TIME_PROGMEM = {
36243  kZoneNameUniversal /*name*/,
36244  0xd0ff523e /*zoneId*/,
36245  &kZoneContext /*zoneContext*/,
36246  1 /*numEras*/,
36247  kZoneEraEtc_UTC /*eras*/,
36248  &kZoneEtc_UTC /*targetInfo*/,
36249 };
36250 
36251 //---------------------------------------------------------------------------
36252 // Link name: W-SU -> Europe/Moscow
36253 //---------------------------------------------------------------------------
36254 
36255 static const char kZoneNameW_SU[] ACE_TIME_PROGMEM = "W-SU";
36256 
36257 const complete::Info::ZoneInfo kZoneW_SU ACE_TIME_PROGMEM = {
36258  kZoneNameW_SU /*name*/,
36259  0x7c8d8ef1 /*zoneId*/,
36260  &kZoneContext /*zoneContext*/,
36261  11 /*numEras*/,
36262  kZoneEraEurope_Moscow /*eras*/,
36263  &kZoneEurope_Moscow /*targetInfo*/,
36264 };
36265 
36266 //---------------------------------------------------------------------------
36267 // Link name: WET -> Europe/Lisbon
36268 //---------------------------------------------------------------------------
36269 
36270 static const char kZoneNameWET[] ACE_TIME_PROGMEM = "WET";
36271 
36272 const complete::Info::ZoneInfo kZoneWET ACE_TIME_PROGMEM = {
36273  kZoneNameWET /*name*/,
36274  0x0b882e35 /*zoneId*/,
36275  &kZoneContext /*zoneContext*/,
36276  8 /*numEras*/,
36277  kZoneEraEurope_Lisbon /*eras*/,
36278  &kZoneEurope_Lisbon /*targetInfo*/,
36279 };
36280 
36281 //---------------------------------------------------------------------------
36282 // Link name: Zulu -> Etc/UTC
36283 //---------------------------------------------------------------------------
36284 
36285 static const char kZoneNameZulu[] ACE_TIME_PROGMEM = "Zulu";
36286 
36287 const complete::Info::ZoneInfo kZoneZulu ACE_TIME_PROGMEM = {
36288  kZoneNameZulu /*name*/,
36289  0x7c9069b5 /*zoneId*/,
36290  &kZoneContext /*zoneContext*/,
36291  1 /*numEras*/,
36292  kZoneEraEtc_UTC /*eras*/,
36293  &kZoneEtc_UTC /*targetInfo*/,
36294 };
36295 
36296 
36297 }
36298 }
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...